VNCTF2022公开赛-misc-仔细找找(复现)

在这里插入图片描述
在这里插入图片描述

放大发现里面大多数都是白点,而且还混有其他有颜色的点,前面地方能看出vn两个字母

在这里插入图片描述

参考这个大佬的博客说是要取出所有的杂色点

大佬的代码

from PIL import Image

img = Image.open(r'g:\share\20220212\flag.png')
w, h = img.size

res = Image.new('RGB', (w//50, h//31), 255)
for x in range(w):
    for y in range(h):
        p = img.getpixel((x, y))
        if p != (0, 0, 0):
            res.putpixel(((x-22)//50,(y-10)//31), p)

res.save(r'g:\share\20220212\flag2.png')

运行结果

在这里插入图片描述

官方wp

import sys
from PIL import Image
img=Image.open(sys.argv[1])
img = img.resize((79, 71), Image.NEAREST)
img.save(sys.argv[2])

img.resize((width, height),Image.ANTIALIAS)(改变图片的大小)
第二个参数:
Image.NEAREST :低质量
Image.BILINEAR:双线性
Image.BICUBIC :三次样条插值
Image.ANTIALIAS:高质量

找了下sys.argv[1]的用法,这里应该是替代原文件的绝对路径,替换后代码

import sys
from PIL import Image

img=Image.open("C:/Users/86183/Desktop/VNCTF/misc/flag/flag.png")
img = img.resize((79, 71), Image.NEAREST)
img.save("C:/Users/86183/Desktop/VNCTF/misc/flag/flag2.png")

运行结果:

在这里插入图片描述

最终flag:vnctf{34aE@w}

原图与flag的比较结果

在这里插入图片描述

改成100*100看看

img = img.resize((100, 100), Image.NEAREST)

在这里插入图片描述

img.resize 是按照比例缩放,但是为啥是缩放到(79, 71)就不清楚了,一个数值不变结果就出不来。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ofo300

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值