bugku——普通的二维码(进制转换)

题目地址: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()

 

posted @ 2018-10-21 17:04  淚笑  阅读(5228)  评论(0编辑  收藏  举报