查看: 234|回复: 0

[Misc] wdb网鼎杯_2020_misc_青龙组-虚幻2

[复制链接]
发表于 2020-5-16 22:21:48 | 显示全部楼层 |阅读模式
题目给了一个图片

wdb网鼎杯_2020_misc_青龙组-虚幻2

wdb网鼎杯_2020_misc_青龙组-虚幻2
查看像素发现是36*12,汉信码应该是正方形,这个图片还是有点规律的,感觉应该是什么压缩之类的,但是没想到是看RGB,其实正常的话还是应该看一下rgb的。。。还是太菜了hhh
每个像素有三个rgb,分出来,是255的话就是1,是0的话就是0。
from PIL import Image

x = 36          #x坐标        
y = 12          #y坐标        

im=Image.open('file.png')
file = open('11','w')

#im.show()
z=''
for i in range(0, x):
    for j in range(0, y):
        rgb=im.getpixel((i, j))
        print(rgb)
        if(rgb[0]==0):
            z+='1'
        elif(rgb[0]==255):
            z+='0'
        if(rgb[1]==0):
            z+='1'
        elif(rgb[1]==255):
            z+='0'
        if(rgb[2]==0):
            z+='1'
        elif(rgb[2]==255):
            z+='0'
print(z)
file.write(z)
[backcolor=rgba(255, 255, 255, 0.5)]一个读出一个写入。。
from PIL import Image

x = 36          #x坐标        
y = 36          #y坐标        

im = Image.new("RGB", (x, y))        
file = open('11','r')        

a=file.read()
z=0
for i in range(0, x):
        for j in range(0, y):
                print(a[z])
                if(a[z]=='1'):
                        im.putpixel((i, j), (255, 255, 255))
                elif(a[z]=='0'):
                        im.putpixel((i, j), (0, 0, 0))
                z=z+1

im.show()
im.save('1.png')
再组成汉信码,在进行一下小修改,最后空白的一部分提示是爆破,可以直接画两下,分辨的时候会自动修复

wdb网鼎杯_2020_misc_青龙组-虚幻2

wdb网鼎杯_2020_misc_青龙组-虚幻2
跟二维码一样也有差错校验。。。也是应该的吧

不要失去目标鸭

温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046
微信公众号
快速回复 返回顶部 返回列表