更改zip标头

问题描述:

我有zip压缩包,当我尝试打开它与WinRar它要求输入密码,但我知道这个容器没有密码,它的头被改变,以使winrar认为容器被加密。我怎样才能让winrar认为容器没有密码?据我了解,我必须更改zip标题,但我怎么能做到这一点,必须改变呢?更改zip标头

我发现了如何解决这个问题。注意:我将举例说明如何让winrar认为容器是用密码加密的,实际上它不是,所以通过使用这种方法,你也可以撤消这个动作 - 让winrar认为容器没有加密,但实际上并没有解密文件,这只是一个窍门。

让我展示如何fakecrypt容器 例如,我将创建一个空的txt文件,并把它在压缩容器: 后来我在十六进制编辑者打开拉链容器(我用https://hexed.it/):之后我搜索每个十六进制序列'50 4B xx xx',其中xx - 是一些十六进制数字 - 它们可以是xx xx == 03 04或xx == 01 02或者其他的smth。我在截图中标记了这些sequneces。所以我做的事情是:从每个序列中移动4个字节,然后递增字节,在那里您将停止1.因此,我使用了字节== 00 - 所以我将它们设置为01(它们用黄色突出显示并用红色下划线表示):然后,我保存容器,这就是我看到的:'*'表示winrar认为容器被加密并在我尝试提取文件时要求输入密码。但我没有真正加密它 - 我只是改变了一些标志,现在winrar认为文件已被加密。总结 - 我可以反转这个动作 - 在十六进制编辑器中打开容器,更改标志(将每个必需的字节减1)并取回我的非加密容器,并且不会丢失任何数据。这是一个很酷的窍门,但不过是一个窍门 - 如果容器是真实加密的 - 带有密码,比这个窍门无济于事。你可以对加密的容器执行这个技巧,而winrar会认为容器没有加密,但你仍然无法读取文件(因为它们实际上是加密的(意外!))

UPD:你也可以写一个脚本来执行这个技巧 - 假密码和假密码压缩容器,如果你发送它的评论会很酷