BugkuCTF-Misc:猫片(安恒)

在这里插入图片描述

hint:LSB BGR NTFS

可以判断出来出来这很可能是一个 LSB 的图片隐写。(最低有效位LSB隐写 least significant bit)
点击 png,先将文件下载下来并改后缀 png

1、用Stegsolve分析了一下,发现当RBG(三原色:红蓝绿)分别处于0的时候,图像会很不正常
Stegsolve使用方法:https://www.cnblogs.com/cat47/p/11483478.html
在这里插入图片描述

在这里插入图片描述
2、得到了上面的16进制数,复制后保存下来(save bin)
不过png图片开头是89504e47,所以在十六进制编辑器打开把前面的fffe删掉,得到半张二维码——》修改宽高
在这里插入图片描述
在这里插入图片描述
修改宽高后:
在这里插入图片描述
扫描得:
在这里插入图片描述
在这里插入图片描述
3、想到提示中NTFS

hint:LSB BGR NTFS

在这里插入图片描述
4、然后用ntfstreamseditor,选择压缩文件后有falg.txt的文件夹,点击搜索查看解压的文件夹里面的数据流,然后把他导出来,得到一个pyc文件,也就是py编译后的文件,再到网上在线反编译:

NtfsStreamsEditor可以实现对NTFS数据流的扫描、删除、附加、导入、导出、备份和还原等完整处理手段,是Ntfs数据流处理的强大工具。
在这里插入图片描述

导出——》
在这里插入图片描述
.pyc文件,直接丢到这——》https://tool.lu/pyc/
在这里插入图片描述

#!/usr/bin/env python
# visit http://tool.lu/pyc/ for more information
import base64

def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))
    
    return ciphertext[::-1]

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']

这显然是个对称加密,因此写个解密函数:
自己写一个解密脚本:

def decode():
    ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']
    ciphertext.reverse()
    flag = ''
    for i in range(len(ciphertext)):
        if i % 2 == 0:
            s = int(ciphertext[i]) - 10
        else:
            s = int(ciphertext[i]) + 10
        s=chr(i^s)
        flag += s
    return flag
 
def main():
    flag = decode()
    print(flag)
 
if __name__ == '__main__':
    main()

在这里插入图片描述
flag{Y@e_Cl3veR_C1Ever!}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值