rar解压包的密码怎么破解啊?

5天前 (10-09 03:43)阅读2回复0
xx
xx
  • 管理员
  • 注册排名6
  • 经验值36420
  • 级别管理员
  • 主题7284
  • 回复0
楼主

本人也不会,请期待其他网友答复。

抱愧!

那类软件多半都是穷举法的暴力破解,就是用无数了密码挨个去试验。若是压缩包的密码很长,并且密码数字混合,搞欠好要一个月才气试出来,就算是6位的,也要好几天,所以仍是别破解了

若是必然要破解能够下载解压包密码破解东西,停止破解,网上良多,但是木马也良多,留意杀毒和用影子系统庇护你的电脑

间接转载看雪论坛一篇帖子中关于此事的部门,楼主看了就会大白的

一、Rar文件生成的流程。

  Winrar加密文件时,总的分两个步调:

   1:先把源文件压缩,压成一段数据段。

   2:再将压缩完的数据段加密。

  关于统一个源文件来说,不停止加密,压缩完,其rar文件中的数据段是一模一样的。但是若是对统一个源文件来说,即便利用统一个密码,加密完rar文件中的数据段是纷歧样的,那是因为加密的密钥是依靠于一个Salt(8个字节的密钥,用来加密时利用,存放在rar文件头中里)

  所以要解密rar加密文件关键在于数据解密那一步,接下来研究一下若何加密的。

  二、加密“压缩完的数据段”的流程

  1、获取密钥:

    将明文的密码与Salt一路,通过HASH算法,生成两个16字节的密钥。(一个是KEY(AES算法的参数),一个是initVector)  

  2、以Key和initVector来加密压缩数据:

    那里,是一个轮回加密的构造,每16字节做为一个块,停止加密(那可能恰是为什么加密完的文件长度总为16倍数的原因)。

  加密接纳AES算法(RAR接纳的是AES的rijndael的尺度应用)。那里留意:AES加密前,有一个异或运算,是先将每16字节块与上一个16字节块加密成果停止异或,然后再停止AES算法的。用一个简单的示意代码看申明:

  packblock[0]=packblock[i]^initVector

encryptBlock[0]=AES(packblock[0])    ;(KEY为AES的密钥)

  for i=1 to 块数量-1

packblock[i]=packblock[i]^encryptBlock[i-1]

encryptBlock[i]=AES(packblock[i])   ;(KEY为AES的密钥)

next

;packblock[i]暗示压缩完的每16字节数据

  ;encryptBlock[i]暗示加密完的每16字节数据

  三、解密的过程

  因为AES算法是对称的,所以解密的过程,是加密过程的逆运算。

  但解密时AES算法过程与加密所用的纷歧样(是因为解密过程中由KEY生成的子密钥表纷歧样)。仍然需要将密码输入,与salt一路生成两个16字节密钥,KEY和initVector。

packblock[0]=AES1(encryptBlock[0])    ;(KEY为AES的密钥)

  packblock[0]=packblock[i]^initVector

  for i=1 to 块数量-1

   packblock[i]=AES1(encryptBlock[i])    ;(KEY为AES的密钥)

  packblock[i]=packblock[i]^encryptBlock[i-1]

next

  那判断密码能否准确的在什么处所呢?

  解密的过程是解密后的数据块停止解压缩,然后解成源文件,对该文件停止CRC校验,存在RAR文件中的源文件CRC校验码比力,不异则密码准确,不不异则密码错误。

  四、无法秒破的原因

  从上面,根本领会了RAR文件的整体思绪。解密时,必定有个步调是来判断密码的准确与否。并且,根据以往的经历,也答应以将某些判断的点挪动,那样能够缩减破解的流程思绪。那RAR的那一步在哪里?它把校验放在了最初的一步。

  若是要秒破,至少目前是不成能的。

  从解密过程逆反过来看看:

  1、CRC查验那一块修改跳转?底子毫无意义,因为它已经是最初一步了。你能够修改RAR文件头的CRC值,你能够将它改得和你用肆意密码解压出来的文件CRC值一样,但你的文件底子就不是本来的文件了。

  可能已经完全面目全非了。所以,对那一过程不成行。CRC校验自己是不成逆的

  2、那么把判断提早到压缩完的数据?

  解压的时候,有没有什么来判断压缩数据能否准确?压缩完的数据,有没有固定的特征,能否能够做为解压的判断,在那一步里,也无法找到有效的可用的固定特征。

  因为那一步涉及到RAR的压缩算法。即便一个源文件,即便你的文件前一部门是完全不异的,只对后面的部门停止改正,那么压缩完,数据也是完全一样的。因为压缩完的数据起首是一个压缩表,后面是编码。文件纷歧样,扫描完的压缩表也纷歧样,编码又是依靠于压缩表,所以,那里头找不到压缩完的数据有任何的固定特征能够用来判断的。

  不管压缩数据是什么样的,Winrar都一如既往地停止解压,没有停止压缩数据能否有效的判断。

  3、那假设破解了AES呢?

  因为AES只依靠于KEY,若是AES算法被破解了,即晓得了KEY,就能够解出压缩完的数据,但是那里有一个问题,还有一个initVector密钥,用来第一个16字节块的异或,没有initVector参数,第一个16字节块的数据便无法解得出来。

  4、那就只能从第一步Hash的算法动手

  即便能破解hash,但hash后的成果呢?没有成果,怎么返推密码?

  所以综上,rar的加密是由hash和AES两种算法互相牵造,而两种算法当前都无法破解,至少目前还没有法子秒破。

0
回帖

rar解压包的密码怎么破解啊? 期待您的回复!

取消