1111111000100001101111111100000101110010110100000110111010100000000010111011011101001000000001011101101110101110110100101110110000010101011011010000011111111010101010101111111000000001011101110000000011010011000001010011101101111010101001000011100000000000101000000001001001101000100111001111011100111100001110111110001100101000110011100001010100011010001111010110000010100010110000011011101100100001110011100100001011111110100000000110101001000111101111111011100001101011011100000100001100110001111010111010001101001111100001011101011000111010011100101110100100111011011000110000010110001101000110001111111011010110111011011
得到的01 串的长度是625,除以8 除以7 都无法整除,也就是说没法直接转换成ascii码。
图片16.png
然后发现625 = 25*25,刚好是个正方形的形状,那么尝试一下 把这些01 组成一个正方形 看看是什么,可以用python的PIL编程可以很方便的画图,在kali自带就可以有,win的环境需要安装PIL的第三方库。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/usr/bin/env python
importImage
MAX=25
pic=Image.new("RGB",(MAX,MAX))
str="1111111000100001101111111100000101110010110100000110111010100000000010111011011101001000000001011101101110101110110100101110110000010101011011010000011111111010101010101111111000000001011101110000000011010011000001010011101101111010101001000011100000000000101000000001001001101000100111001111011100111100001110111110001100101000110011100001010100011010001111010110000010100010110000011011101100100001110011100100001011111110100000000110101001000111101111111011100001101011011100000100001100110001111010111010001101001111100001011101011000111010011100101110100100111011011000110000010110001101000110001111111011010110111011011"
i=0
foryinrange(0,MAX):
forxinrange(0,MAX):
if(str[i]=='1'):
pic.putpixel([x,y],(0,0,0))
else:
pic.putpixel([x,y],(255,255,255))
i=i+1
pic.show()
pic.save("flag.png")
|