伪加密

2024-07-26 20:42:36 浏览数 (1)

这篇文章分享一下在压缩包方面的安全知识-伪加密

伪加密就是指通过修改压缩包的特定字节,然后让解压软件误以为压缩包使用了密码,其实压缩包并未使用密码!

做这种题目的话需要一个十六进制编辑器!

压缩文件在编辑器里面打开之后会有三个结构体,三个结构体的名字分别是:压缩源文件数据区、压缩源文件目录区、压缩源文件目录结束标志,这三个结构体分别对应压缩包中的一段数据。

压缩源文件数据区

顾名思义,这是用来存放压缩包中文件数据的地方。可以通过点击下方第一个结构体来定位到这一块数据。这块数据的开头是50 4B 03 04这四个字节叫做文件头标记;往后的两个字节0A 00标识了解压文件所需 pkware 版本;在往后的两个字节00 00叫做全局方式位标记(这里可以判断这个压缩包有无加密;这里是00 00所以理论上来说,这个压缩包应该是没有加密的!但是实际上当你解压的时候,解压缩软件会提示你输入解压密码,这是为什么呢?别急,往下看!)

压缩源文件数据区

压缩源文件目录区

顾名思义,这里是用来存放压缩包中文目录的地方,压缩包中的所有文件名都可以在这找到,可以看这个软件右侧显示的ASCII码,有一个图片叫做905.jpg。

压缩源文件目录区

这个结构体的前四个字节50 4B 01 02叫做目录中文件文件头标记;3F 00是压缩使用的 pkware 版本; 14 00是解压文件所需 pkware 版本;09 00是全局方式位标记(这里是判断第二个有无加密的地点,00 00为没有加密,09 00 为有加密;这里本来应该是00 00 被我手工改为09 00,所有使用解压软件的时候会显示需要输入压缩密码!)

伪加密的题目只需要将上面的两个全局方式位标记位改为00 00即可无密码解密!

每个结构体每个字节的详细意思:

压缩源文件的数据区

压缩源文件目录区

压缩源文件目录结束标志

0 人点赞