攻防世界misc新手之gif

下载附件并解压,发现是一堆黑色和白色的图片,按某种规律排列,猜想flag就应该隐藏在黑白图片的排列顺序里

黑、白两种图片应该有对应的含义,我首先想到的是摩斯电码,黑白对应‘.’和‘-’,但分析之后发现这个猜想不可行,一是没有分隔符,二是摩斯电码里面并不包含‘{’和‘}’

然后又联想到黑白两种状态可能对应二进制的‘0’和‘1’,而这些黑白图片的顺序可以改写成一串二进制序列,然后发现图片总数为104,是8的倍数,自然联想到一个字节8位二进制码,可以尝试对得到的序列按8位分组

在这里插入图片描述
在上面图中其实已经可以推测出,白色对应0,黑色对应1,得到的8位二进制数应该对应ascii的字符编码

下面是得到的二进制序列:

01100110 01101100 01100001 01100111 01111011 01000110 01110101 01001110 01011111 01100111 01101001 01000110 01111101

再写一段python脚本把二进制数转为字符

x=[0b01100110, 0b01101100, 0b01100001, 0b01100111, 0b01111011, 0b01000110, 0b01110101, 0b01001110, 0b01011111, 0b01100111, 0b01101001, 0b01000110, 0b01111101]
b="";
for a in x:
    b+=chr(a);
print(b)

在这里插入图片描述
小结:本题的关键在于发现图片序列的内在含义,将黑白联想到0和1,得到01序列之后就是体力活了,写一段代码转下码就可得到flag

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值