zoukankan      html  css  js  c++  java
  • 图片隐藏压缩包

    图片更改扩展名变成压缩包

    网上时常见到有的图片下载后,改下扩展名rar,就成了压缩包了,而且压缩包还能解压。

    例如有一个文件123.txt需要隐藏。

    将123.txt压缩成压缩包,得到123.rar。

    照一张图片1.jpg。

    在当前目录打开命令行窗口:

    copy /b 1.jpg + 123.rar 2.jpg

    那么当前目录下就得到了2.jpg。满足上述要求。

    具体原理不详。

    将2.jpg按二进制打开后内容和1.jpg完全一样,至少我看到的一样。搜索也得不到123.rar的二进制内容。

    猜测是因为copy 参数为/b,所以按照二进制文件复制拼接。

    而jpg文件后面有通用的文件结束符,导致文件读取到结束符结束。

    为了验证猜想:新建文件1(无扩展名)内容123,新建文件2(无扩展名)内容456,

    执行:copy /b 1+2 3

    得到3内容为123456。

    这样就解释了通用结束符,也就解释了为什么搜索不到压缩包的二进制编码。

    但仍然无法解释为什么压缩软件可以正常解压改动过的压缩包。

    这估计就得看压缩软件内部实现机制了。

    经验证 压缩软件打开文件是找的文件头“5261”,前面有什么东西都无关。

    自定义一个文本文件1.txt,内容为

    123

    456

    压缩得到1.rar,二进制文件为:

    5261 7221 1a07 00cf 9073 0000 0d00 0000
    0000 0000 9776 7420 902a 000a 0000 000a
    0000 0002 b867 bb49 68b4 e248 1d30 0500
    2000 0000 312e 7478 7400 f06a ef36 3132
    330d 0a34 3536 0d0a c43d 7b00 4007 00

    经过文件头填充无用编码:

    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    0002 b867 bb49 68b4 e248 1d30 0100 0d0a
    2000 0000 3100 f06a ef36 3132 330d 0a34
    5261 7221 1a07 00cf 9073 0000 0d00 0000
    0000 0000 9776 7420 902a 000a 0000 000a
    0000 0002 b867 bb49 68b4 e248 1d30 0500
    2000 0000 312e 7478 7400 f06a ef36 3132
    330d 0a34 3536 0d0a c43d 7b00 4007 00

    仍然能够正确解压。且“5261”所在位置不影响解压结果。

    故猜想上文中得到的2.jpg为1.jpg和123.rar二进制文件拼接而成,且图片文件有固定的文件结束标记,以至于图片打开是完成的图片,且以二进制打开,也看不到随后的内容。

    而压缩软件读取文件是找的文件头,例如rar文件是"5261”,而此前内容直接忽略,进而实现了所谓的图片隐藏压缩包。

    其实是用了压缩软件所用协议的一种漏洞以及图片文件的通用文件尾而已。技术含量为0。

    不过发现这种现象的人,相信对两种文件格式都有着一定的了解才可以。这还是要佩服一下的。

  • 相关阅读:
    min.js文件 反压缩查看
    Simple HTML DOM解析器 使用php解析网页字符串进行dom操作
    使用clipboard.js实现页面内容复制到剪贴板
    php7微信支付回调失败
    微信卡券开发
    Windows内存性能分析(一)内存泄漏
    LoadRunner添加检查点
    LoadRunner中两种录制模式的区别
    Jmeter参数化_CSV Data Set Config
    APTM敏捷性能测试模型
  • 原文地址:https://www.cnblogs.com/suanec/p/5636185.html
Copyright © 2011-2022 走看看