派大星的烦恼MISC

挺有意思的杂项,python将二进制转图片的时候出现的图片不像二维码,想看题解的时候发现网上的大部分题解都是直接转发,更有意思了。

题目是派大星的烦恼,给了我们一张粉红图片,放进010editor里面

 

 

 可以看到这里就是题目里面所说的派大星的伤疤了。

题目里面的描述,说0X44和0X22是伤疤的两种细胞,另外的就是派大星的赘肉。很自然地我们可以想到这个是二进制对应的01

这里是d":

1
"DD"DD""""D"DD""""""DD"""DD"DD""D""DDD""D"D"DD""""""DD""D""""DD"D"D"DD""""D"DD""D"""DD"""""DDD""""D"DD"""D"""DD"""D""DD"D"D"DD"""DD""DD"D"D""DD""DD"DD"""D"""DD""DD"DD""D"D""DD"D"D"DD"""D"""DD"""D"DD""DD"""DD"D"D""DD"""D"DD""DD""DD"""""DDD""DD""DD"""D""DD""

我们将"为0 D为1,替换得到:

1
0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100

刚好是16X16

猜测是一个黑白二维码

用python画一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from PIL import Image
x = 16
y = 16
  
im = Image.new('RGB', (x, y))
white = (255, 255, 255)
black = (0, 0, 0)
  
with open('file.txt') as f:
    for i in range(x):
        ff = f.readline()
        for j in range(y):
            if ff[j] == '1':
                im.putpixel((i, j), black)
            else:
                im.putpixel((i, j), white)
im.save("1.jpg")

得到的是什么玩意儿

 

 先不说这个能不能反色变成二维码,就这个画质我估计想扫出来就够呛

于是换一个思路

刚好想到了反色,于是我们从二进制数入手,看能否反转,因为正向将二进制转字符串有不可见字符,我们尝试反着来。

反转之后看能否得到字符串

注意这里我反转相当于是将二进制数的排序变为了从后往前排

答案错误。

继续测试,从头开始将每八位二进制数倒序,得到字符串,成功

附上python2代码

(希望转发大佬题解的童鞋是在自己对题目有思考之后才转发的,而不是简单地看一遍题解,感觉自己懂了,这样不会有什么太大的进步,同时也指指自己)

1
2
3
4
5
6
7
8
9
10
def bin_to_str(s):
    return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])
a = "01101100 00101100 00001100 01101100 10011100 10101100 00001100 10000110 10101100 00101100 10001100 00011100 00101100 01000110 00100110 10101100 01100110 10100110 01101100 01000110 01101100 10100110 10101100 01000110 00101100 11000110 10100110 00101100 11001100 00011100 11001100 01001100"
a = a.split(' ')
flag=''
for i in a:
    test=i[::-1]
    flag+=bin_to_str(test)
 
print flag

  


__EOF__

本文作者春告鳥
本文链接https://www.cnblogs.com/Cl0ud/p/12185489.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   春告鳥  阅读(911)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示