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。

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

  • 相关阅读:
    抖音的服务器到底啥配置?
    三句话搞懂 Redis 缓存穿透、击穿、雪崩!
    Windows环境下安装Redis
    Redis可视化工具 Redis Desktop Manager
    Eureka自我保护机制
    Eureka介绍
    Spring Cloud OpenFeign 工作原理解析
    客户端负载均衡Ribbon:Loadbalance的源码
    spring boot中的约定优于配置
    Arrays.asList()返回的集合不能进行add,remove等操作
  • 原文地址:https://www.cnblogs.com/suanec/p/5636185.html
Copyright © 2011-2022 走看看