ctf show misc之Stega5 (也是攻防世界_MISC进阶区_STAGE 1)
目录
❤查看图片
❤分析图片
下载图片如下
一张比较唯美的图片呀
-
查看图片
那我们就放stegsolve里看看
得到一张二维码
扫码得到
03F30D0A79CB05586300000000000000000100000040000000730D0000006400008400005A000064010053280200000063000000000300000016000000430000007378000000640100640200640300640400640500640600640700640300640800640900640A00640600640B00640A00640700640800640C00640C00640D00640E00640900640F006716007D00006410007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100715500577C010047486400005328110000004E6966000000696C00000069610000006967000000697B000000693300000069380000006935000000693700000069300000006932000000693400000069310000006965000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000312E7079520300000001000000730A0000000001480106010D0114014E280100000052030000002800000000280000000028000000007304000000312E707974080000003C6D6F64756C653E010000007300000000
-
分析图片
得到了一串十六进制数据
正常思路转进制 转字符
那我们就先转个字符(用脚本)
string = "03F30D0A79CB05586300000000000000000100000040000000730D0000006400008400005A000064010053280200000063000000000300000016000000430000007378000000640100640200640300640400640500640600640700640300640800640900640A00640600640B00640A00640700640800640C00640C00640D00640E00640900640F006716007D00006410007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100715500577C010047486400005328110000004E6966000000696C00000069610000006967000000697B000000693300000069380000006935000000693700000069300000006932000000693400000069310000006965000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000312E7079520300000001000000730A0000000001480106010D0114014E280100000052030000002800000000280000000028000000007304000000312E707974080000003C6D6F64756C653E010000007300000000"
flag = ''
for i in range(0,len(string), 2):
s = "0x" + string[i] + string[i+1]
flag += chr(int(s, 16))
print(flag)
运行得到
虽然也是乱码 但是也是能看到一些东西的
这里补存个知识点
其实你要是老手的话 在上面的十六进制就可以看出是 这是一个pyc文件(所以一些新手还是老老实实的多记点文件头)
所以接下来到思路就明确了
先导出pyc文件 再反编译成py文件 最后运行得flag
-
导出pyc文件
所以又轮到我们的010上场了
新建十六进制文本导入数据
另保存为pyc文件
-
反编译成py文件
接下来就是反编译
提供在线网站
https://tool.lu/pyc/pyc反编译,py反编译,python反编译,python字节码反编译,支持所有python版本https://tool.lu/pyc/
得到代码
-
修改并运行脚本
明显有问题(都爆红了)
我们简单修改一下
运行得到
-
得到flag
flag{38a57032085441e7} ( •̀ ω •́ )y
( 攻防世界答案 AlphaLab)