【攻防世界刷题】Misc-3-适合作为桌面
【攻防世界刷题】Misc-3-适合作为桌面
出处 | Tags |
---|---|
攻防世界 世安杯 | 图片隐写 Stegsolve 二维码 |
知识点
1.pyc文件格式
2.pyc文件反编译
题解
1.使用Stegsolve
软件打开图片,在Red plane 1
通道中找到一个二维码
2.使用QR Research
软件扫描,得到一串字符串。
03F30D0A79CB05586300000000000000000100000040000000730D0000006400008400005A000064010053280200000063000000000300000016000000430000007378000000640100640200640300640400640500640600640700640300640800640900640A00640600640B00640A00640700640800640C00640C00640D00640E00640900640F006716007D00006410007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100715500577C010047486400005328110000004E6966000000696C00000069610000006967000000697B000000693300000069380000006935000000693700000069300000006932000000693400000069310000006965000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000312E7079520300000001000000730A0000000001480106010D0114014E280100000052030000002800000000280000000028000000007304000000312E707974080000003C6D6F64756C653E010000007300000000
3.字符串03F30D0
是pyc文件的开头,打开010 edit
软件,新建空白文件,粘贴为16进制后保存pyc文件
4.使用uncompyle6
命令反编译pyc文件
uncompyle6.exe -o 1.py 1.pyc
1.pyc --
# Successfully decompiled file
def flag():
str = [
102, 108, 97, 103, 123, 51, 56, 97, 53, 55, 48, 51, 50, 48, 56, 53, 52, 52, 49, 101, 55, 125]
flag = ''
for i in str:
flag += chr(i)
print flag
5.运行1.py,得到flag
python2 1.py
答案
flag{38a57032085441e7}