题目地址:http://ctf.bugku.com/files/5e480ecb178711e82bc847a208e15b32/misc80.zip
就一张二维码图片,用一些在线工具识别是乱码,用QQ识别出来是
用16进制编辑器打开发现末尾有段很突兀的数据,不属于bmp位图的内容,想必flag就在其中
观察这段数据发现只有0-7,没有8和9,很容易想到是8进制数据,可以将其转换成10进制,然后再转成ascii字符。一开始看这个数字总长126个,2的倍数,加上以前转换16进制的惯性思维,让我以为这里也是两两一对的转换,转换出来自然不正确,一堆乱码,后来发现两位的8进制数据最大077(数字前加0表示8进制),转换成10进制63也表示不完ascii码表上的字符啊,而且126刚好也是3的倍数,所以三个一组来转换,如下脚本:
f=open("1.txt",'r') res='' for i in range(42): s=eval('0'+f.read(3)) res+=chr(int(s)) print res raw_input()