隐写之pngcheck+zlib&文件头尾逆序

前言

遇到个杂项的题目,没见过的类型,反思一下,拿到图片后,能想到的点太少,所以就写一下这个关于隐写的总结。

pngcheck+zlib隐藏信息

题目1—可乐加冰

pngcheck安装的话在kali中使用

apt-get install pngcheck  #非root加上sudo

m0re
使用工具pngcheck来看一下。
m0re
正常的块的length是在65524的时候就满了,而倒数第二个IDAT块长度是44671,最后一个长度是73,很明显最后一个IDAT块是有问题的,因为他本来应该并入到倒数第二个未满的块里。
binwalk提取一下
得到两个zlib文件。以前的思路,zlib文件,里面没东西。不管了。
这次不一样,信息恰恰藏在zlib文件中。
m0re
在windows中打开吧,四个文件,
m0re
没有zlib后缀的就是zlib解压后的文件。
5B文件里 ,没有找到什么可疑的。反而在2AE96中看到
m0re
十六进制的部分,没有A-F这类的也就是说,只有数字,很可能是10进制的数字。复制出来转一下字符串,注意是ascii码转字符串,将其空格替换成逗号进行批量转换。

83,46,36,36,36,95,43,83,46,36,95,95,36,43,83,46,95,95,95,43,83,46,95,95,36,43,83,46,36,36,36,36,43,83,46,36,36,36,95,43,83,46,36,95,95,36,43,83,46,95,95,36,43,34,45,34,43,83,46,36,95,36,36,43,83,46,36,95,36,95,43,83,46,36,36,95,36,43,83,46,36,36,95,43,34,45,34,43,83,46,36,95,95,43,83,46,36,95,36,95,43,83,46,36,36,36,36,43,83,46,36,36,36,43,34,45,34,43,83,46,36,95,95,36,43,83,46,36,95,95,36,43,83,46,36,36,95,43,83,46,95,36,36,43,34,45,34,43,83,46,36,36,95,36,43,83,46,36,95,36,95,43,83,46,36,36,95,36,43,83,46,36,95,95,95,43,83,46,95,95,36,43,83,46,95,36,95,43,83,46,36,36,36,36,43,83,46,36,95,36,43,83,46,36,36,95,43,83,46,95,36,95,43,83,46,36,95,95,43,83,46,36,36,95,36

然后转换一下得到
m0re
和JJencode编码很像
m0re
于是将S替换成$再进行解码

$.$$$_+$.$__$+$.___+$.__$+$.$$$$+$.$$$_+$.$__$+$.__$+"-"+$.$_$$+$.$_$_+$.$$_$+$.$$_+"-"+$.$__+$.$_$_+$.$$$$+$.$$$+"-"+$.$__$+$.$__$+$.$$_+$._$$+"-"+$.$$_$+$.$_$_+$.$$_$+$.$___+$.__$+$._$_+$.$$$$+$.$_$+$.$$_+$._$_+$.$__+$.$$_$

m0re

题目2—未知

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ZIrjjsK-1607764173218)(https://s3.ax1x.com/2020/11/23/DYWnqf.png)]
这个也是
m0re
然后直接提取就可以得到zlib文件了,binwalk提取出来是不需要解压缩包的,所以直接看到了文件中的二进制数字,全是01
m0re
脚本画图,0作黑,1作白,得不到结果就反过来。尝试两遍就得到了。
脚本如下

import PIL.Image
MAX = 25
pic = PIL.Image.new("RGB",(MAX,MAX))
str = "1111111000100001101111111100000101110010110100000110111010100000000010111011011101001000000001011101101110101110110100101110110000010101011011010000011111111010101010101111111000000001011101110000000011010011000001010011101101111010101001000011100000000000101000000001001001101000100111001111011100111100001110111110001100101000110011100001010100011010001111010110000010100010110000011011101100100001110011100100001011111110100000000110101001000111101111111011100001101011011100000100001100110001111010111010001101001111100001011101011000111010011100101110100100111011011000110000010110001101000110001111111011010110111011011"
i = 0
for y in range (0,MAX):
        for x in range (0,MAX):
                if(str[i] == '1'):
                        pic.putpixel([x,y],(0,0,0))
                else:
                        pic.putpixel([x,y],(255,255,255))
                i = i+1
pic.show()
pic.save("flag.png")

扫描即可得到flag。

文件头尾逆序

所谓文件头尾逆序,就是将整个文件的十六进制序列整个颠倒过来,在CTFhub中找到了2018网鼎杯的原题,下面是图片。
m0re
在010editor中打开,发现最后的
m0re
这就是png头反过来了,所以将其颠倒回来查看一下。
使用python进行处理。

input = open('flag.jpg', 'rb')
input_all = input.read()
ss = input_all[::-1]
output = open('m0re.jpg', 'wb')
output.write(ss)
input.close()
output.close()

跑一下得到flag
m0re
看的时候,注意细节。
后续遇到再补充…mark一下先

  • 14
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Kali Linux中安装Binwalk的步骤如下: 1. 首先,打开终端并获取root权限。可以使用以下命令来获取root权限: ``` sudo su ``` 2. 运行以下命令来检查已安装的Binwalk版本和参数的介绍: ``` binwalk ``` 3. 如果已经安装了旧版的Binwalk,建议先卸载旧版以避免兼容性和API冲突等问题。可以使用以下命令来卸载Binwalk: ``` sudo apt-get remove binwalk ``` 4. 更新软件列表以确保安装最新版本的Binwalk: ``` sudo apt-get update ``` 5. 获取Binwalk源码,可以使用以下命令将源码克隆到本地: ``` git clone https://github.com/ReFirmLabs/binwalk ``` 6. 进入Binwalk文件夹: ``` cd binwalk ``` 7. 运行以下命令来安装Binwalk。此命令将遵循标准的Python安装过程: ``` sudo python setup.py install ``` 8. 如果你使用的是Python 2.x,强烈建议安装可选的Python lzma模块(但不是必需的)。可以使用以下命令来安装: ``` sudo apt-get install python-lzma ``` 9. 安装Binwalk的依赖项。具体依赖项的安装可以参考Binwalk的文档。如果你使用的是Debian/Ubuntu,可以运行以下命令来自动安装依赖项: ``` sudo ./deps.sh ``` 10. 如果你需要在IDA中使用Binwalk插件,可以使用以下命令来安装插件: ``` python setup.py idainstall --idadir=/home/user/ida ``` 以上就是在Kali Linux中安装Binwalk的步骤。请注意,这些步骤可能会因操作系统版本和个人设置而有所不同。建议在安装之前仔细阅读官方文档或参考其他可靠的资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [BinWalk安装和命令参数详解](https://blog.csdn.net/qq_50854790/article/details/123391951)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值