随波逐流工作室—-探索前沿科技,分享最新软件。点击标题下蓝字“长弓三皮”关注,我们将为您提供有深度、有价值、有意思的阅读。
朋友们,现在只对常读和星标的公众号才展示大图推送,建议大家把长弓三皮“设为星标”,否则可能就看不到了啦!
作者:随波逐流
def process_image(image_path, output_path):# 打开图片p = Image.open(image_path)# 初始化计数器和结果列表i = 0results = []# 遍历指定区域的像素for x in range(80, 420, 20):for y in range(50, 995, 5): color = p.getpixel((y, x)) # 获取像素颜色值if color[0] == 0 or color[1] == 0 or color[2] == 0: z = (color[0] + color[1] + color[2]) // 2results.append(hex(z)[2:].zfill(2)) # 将结果保存为16进制字符串,去掉前缀'0x',并补零到2位i += 1# 将结果写入文件(二进制模式)with open(output_path, "wb") as f:for result in results: f.write(bytes.fromhex(result)) # 将16进制字符串转换为二进制数据并写入文件
# 调用函数process_image('g:\temp\setu.png', 'g:\temp\output.rar')
不管他是什么,先拖入[随波逐流]CTF编码工具
有包含
[随波逐流]CTF编码工具---文件---firemost提取
需要密码
output.rar中的注释保存为colors1.txt
拖入[随波逐流]CTF编码工具
[随波逐流]CTF编码工具---文件---Cloakify隐写提取(key:colors.txt)
密码:D3arD4La0P1e45eD4iDa1Wo
在线反编译http://tools.bugscaner.com/decompyle/
结合前面得到的图片可知 flag 的格式,尝试写脚本爆破 flag。
import re
import hashlib
colors = [139, 102, 162, 24, 85, 57, 160, 37, 239, 200, 154, 30]
for i in range(48, 125):
for j in range(48, 125):
for k in range(48, 125):
for n in range(48, 125):
flag = "flag{D" + chr(i) + chr(j) + chr(k) + chr(n) + "}"
if re.fullmatch('^flag{[A-Z][0-9a-zA-Z]{4}}$', flag):
m = hashlib.md5()
m.update(flag.encode('ascii'))
m = m.hexdigest()
runCount = 0
for x in range(0, 24, 2):
color = colors[runCount]
tmp = int(m[x:x + 2], 16)
if -5 < (tmp - color) < 5:
runCount += 1
continue
elif x == 22: # 23 - 1
print(flag)
exit(0)
else:
break
flag{D4n1U}
你若喜欢,为“长弓三皮”点个赞和在看哦
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...