1.伪加密
如果压缩文件是加密的,或文件头正常但解压错误,首先尝试文件是否为伪加密。zip文件是否加密是通过标识符来显示的,在每个文件的文件目录字段有一位专门标识了文件是否加密,将其设置为00表示该文件未加密,如果成功解压则文件为伪加密,如果解压出错则改文件为真加密
使用场景:伪加密文件
zip文件
1.1winhex打开文件搜索十六进制504B0102,可以看到每个加密文件的文件头部
1.2从50开始计算,第九个和第十个字符为加密字段,将其设置为0000即可变成无加密状态
rar文件
rar文件由于有头部校验,使用伪加密时打开文件会报错,使用winhex修改标志位后如报错消失且正常解压缩,说明是伪加密,使用winhex打开rar文件,找到第24个字节,该字节尾数为4表示加密,0表示无加密,将尾数改为0即可破除伪加密。
2.暴力破解
通常我们可以使用ARCHPR.exe工具来破解rar文件,使用ziperello破解zip文件
使用场景:windows下加密的压缩文件
3.明文攻击
明文攻击有两个注意点: 1. 明文文件压缩算法要与原压缩文件压缩算法相同
2.明文文件压缩后CRC值与加密压缩包中的文件一致
4.rar文件格式
有时候给出的RAR文件的头部各个字块会故意给错导致无法识别
从文件头部开始数第三个字节