特点

文件特点

RAR通常情况比ZIP压缩比高但压缩/解压缩速度较慢

分卷压缩压缩后分割为多个文件

固实压缩把要压缩的视为同一个文件以加大压缩比代价是取用包中任何文件需解压整个压缩包

恢复记录加入冗余数据用于修复在压缩包本身损坏但恢复记录够多时可对损坏压缩包进行恢复

加密RAR 2.0使用AES之前RAR的加密算法为私有未被直接破解至少没有公开不知道密码时可能只有用暴力破解

主要特点

RAR文件的扩展名是.rar不区分大小写MIME类型是application/x-rar-compressed

同样是无损数据压缩RAR文件通常比ZIP文件压缩比要高但是压缩速度较慢因为RAR文件头也要占据一定空间在数据压缩余地不大时压缩过的文件可能比原文件要大RAR的一个主要优点是可以把文件压缩目标分割到多个文件并且很容易从这样的分割的压缩文件解压出源文件

另外RAR也支持紧缩格式把所有文件压缩到同一个数据区以加大压缩比代价是解压一个单独的文件时必须解压其前面的所有文件新的RAR的加密算法使用的是AES而旧的RAR的加密算法是私有的这两种算法都很难破解所以在没有密码的情况下只能用字典暴力破解法来破解RAR中也可以加入冗余的修复信息在文件损坏但是修复信息足够完好时可以对压缩包进行修复

如何打开

打开工具

WinRARWinMount快压2345好压7-zip等等

RAR文件是一种最常用的压缩文件通常都是用WinRAR软件打开处理

WinRAR 是 32 位 Windows 版本的 RAR压缩文件管理器 一个允许你创建管理和控制压缩文件的强大工具存在一系列的RAR版本应用于数个操作系统环境WindowsLinuxFreeBSDDOSOS/2MacOS X

为什么不能被破解

  1. RAR文件生成的流程

WinRAR加密文件时总的分两个步骤

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

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

对于同一个源文件来说不进行加密压缩完其RAR文件中的数据段是一模一样的但是如果对同一个源文件来说即使使用同一个密码加密完RAR文件中的数据段是不一样的这是由于加密的密钥是依赖于一个Salt(8个字节的密钥用来加密时使用存放在RAR文件头中里

所以要解密rar加密文件关键在于数据加密这一步那我们接下来研究一下如何加密的

  1. 加密压缩完的数据段的流程

1获取密钥

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

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

这里是一个循环加密的结构每16字节作为一个块进行加密这可能正是为什么加密完的文件长度总为16倍数的原因加密采用AES算法RAR采用的是AES的Rijndael的标准应用这里注意AES加密前有一个异或运算是先将每16字节块与上一个16字节块加密结果进行异或然后再进行AES算法的我用一个简单的示意代码看说明

packblock=packblock^initVector

encryptBlock=AES(packblock) KEY为AES的密钥

for i=1to 块数量-1

packblock=packblock^encryptBlock[i-1]

encryptBlock=AES(packblock)KEY为AES的密钥

next

;packblock表示压缩完的每16字节数据

;encryptBlock表示加密完的每16字节数据

  1. 解密的过程

由于AES算法是对称的所以解密的过程是加密过程的逆运算但解密时AES算法过程与加密所用的不一样是因为解密过程中由KEY生成的子密钥表不一样仍然需要我们将密码输入与salt一起生成两个16字节密钥KEY和initVector

packblock=AES1(encryptBlock) KEY为AES的密钥

1packblock=packblock^initVector

for i=1to 块数量-1

packblock=AES1(encryptBlock) KEY为AES的密钥

packblock=packblock^encryptBlock[i-1]1

next

那判断密码是否正确的在什么地方呢

解密的过程是解密后的数据块进行解压缩然后解成源文件对该文件进行CRC校验存在RAR文件中的源文件CRC校验码比较相同则密码正确不相同则密码错误

  1. 无法破解的原因

从上面我们了解了RAR文件的整体思路地球人都知道解密时肯定有个步骤是来判断密码的正确与否而且依据以往的经验我们也许可以将某些判断的点移动那样可以缩减破解的流程思路那RAR的这一步在哪里它把校验放在了最后的一步如果要秒破我们该怎么做呢

我们从解密过程逆反过来看看

1CRC检验这一块修改跳转根本毫无意义因为它已经是最后一步了你可以修改RAR文件头的CRC值你可以将它改得和你用任意密码解压出来的文件CRC值一样但你的文件根本就不是原来的文件了可能已经完全面目全非了所以对这一过程不可行CRC校验本身是不可逆的

2那么把判断提前到压缩完的数据

解压的时候有没有什么来判断压缩数据是否正确压缩完的数据有没有固定的特征是否可以做为解压的判断在这一步里我们也无法找到有效的可用的固定特征因为这一步涉及到RAR的压缩算法即使一个源文件即使你的文件前一部分是完全相同的只对后面的部分进行改过那么压缩完数据也是完全不一样的因为压缩完的数据首先是一个压缩表后面是编码文件不一样扫描完的压缩表也不一样编码又是依赖于压缩表所以这里头找不到压缩完的数据有任何的固定特征可以用来判断的

不管压缩数据是什么样的Winrar都一如既往地进行解压没有进行压缩数据是否有效的判断

3那假如我们破解了AES了呢

由于AES只依赖于KEY如果AES算法被破解了我们知道了KEY我们可以解出压缩完的数据但是这里有一个问题还有一个initVector密钥用来第一个16字节块的异或你没有initVector参数你第一个16字节块的数据便无法解得出来

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

即使你能破解hash但hash后的结果呢没有结果你怎么反推密码

所以综上发现rar的加密是由hash和AES两种算法互相牵制而两种算法当前都无法破解

如何给RAR加密

RAR和ZIP两种格式均支持加密功能

若要加密文件在压缩之前你必须先指定密码或直接在压缩文件名和参数对话框中指定

在 命令行 模式时使用开关-p[密码]

而在 WinRAR 图形界面时要输入密码你可以按下 Ctrl+P 或者是在文件菜单选择设置默认密码命令

另一种方式是单击 WinRAR 窗口底部左下角的钥匙图标在压缩文件名和参数对话框 里的高级选项组中按下设置密码按钮输入密码

和 ZIP 不同RAR 格式不只允许数据而且其它的可感知的压缩文件区域文件名大小属性注释和其它块都可加密如果你希望这样做你需要在密码对话框中设置加密文件名 选项或在命令行模式使用-p[密码] 的开关-hp[密码]以这种方式加密的文件如果没有密码甚至不可能查看文件列表

当不再需要的时候别忘了将输入的密码删除不然你或许又加密了别的压缩文件但却不希望使用同一组密码要删除密码时只需要输入空字符串来替换原先的密码或者先关闭 WinRAR 并重新启动一次当有密码存在时钥匙的图标是红色的否则它是黄色的而且当你使用密码开始压缩操作时标题栏压缩文件名和参数对话框 也会闪烁两次

如果你在压缩文件名和参数对话框直接输入它你不需要删除密码这不同于其它方式此类密码仅在单一压缩操作有效并在完成后它会自动删除

当解压加密的文件时开始操作之前你也可以不需要事先输入密码如果 WinRAR 遇到加密的文件而解压之前未先输入密码的话它便会提示用户输入密码

WinRAR 支持 ZIP 2.0 格式使用私有加密算法RAR压缩文件使用更强大的 AES-128 标准加密如果你需要加密重要的信息选择RAR 压缩文件格式会比较好一些为了确实的安全性密码长度请最少要 8 个字符不要使用任何语言的单词作为密码最好是任意的随机组合字符和数字并且要注意密码的大小写请记住如果你遗失你的密码你将无法取出加密的文件就算是 WinRAR 的作者本身也无法解压加密过的文件

rar

简介

在计算机科学中RAR是一种文件压缩与归档的私有专利压缩格式

来源

RAR的名字源自其作者Eugene Roshal为Roshal ARchive的缩写Eugene Roshal最初编写了DOS版本的编码和解码程序后来移植到很多平台例如比较著名的Windows平台上的WinRAREugene Roshal有条件的公开了解码程序的源代码但是编码程序仍然是私有的

压缩分卷

基本介绍

压缩分卷就是把一个比较大的文件用zip或rar等压缩软件进行压缩时根据你的需要大小分别压缩成若干的小文件便于软盘储存邮件发送等但它们组合是一个整体必须按照生成的顺序编号才能解压出原文件缺一不可.

在WinRAR中也集成了分卷压缩的功能而且它并不像WinZip那样必须在软盘的支持下才可以使用这个功能在制作的时候能够将某个大文件分卷压缩存放在任意指定的盘符中所以这也大大的方便了我们的使用

  • 分卷压缩的文件或者是文件夹在弹出的菜单中选择添加到压缩包选项

  • 压缩包名称对话框中确定文件存放的路径和名称这时就可以将分卷压缩之后的文件存放在硬盘中的任何一个文件夹中同时在压缩方式下拉列表中选择采用何种方式进行压缩建议大家采用最好方式这样能够让WinRAR最大程度的压缩文件

此外下部的压缩卷大小对话框可以设置每一个压缩包的个头大小其中WinRAR默认的是1.44M软盘模式不过你也可以定义压缩包大小比如将其改变为1,024,000字节或者是由系统自动检测这样当某一张软盘中已经存有文件的时候WinRAR能够根据可用的磁盘空间来自动调整压缩包的大小

这样我们就可以得到以定义好的文件名为前缀rarr01r02…之类为后缀名的文件将它们复制到软盘中就可以了至于合并这些文件也非常简单只要将所有的分卷压缩文件复制到一个文件夹中然后右击*.rar的文件并选择解压缩文件命令即可由于这种合并方式并不要求按照一定的次序插入软盘所以即使软盘次序颠倒了也不会有任何影响

RAR与ZIP的区别

区别一ZIP的安装比较大并仅仅有英文版+汉化包RAR有官方的简体中文版并且安装很小不足一兆

区别二WinRAR的压缩率较高而ZIP的压缩率更低

区别三ZIP支持的格式很多但已经较老不大流行RAR支持格式也很多并且还是流行的

区别四ZIP仅仅能够压缩成ZIP格式不能解压RAR格式RAR不仅有自己的格式还可以压缩成ZIP格式并解压ZIP格式

区别五WinRAR支持分卷压缩ZIP不支持

区别六国外很多都采用ZIP因为它是免费的RAR不是免费的在国内很流行是由于有盗版的存在ZIP不能兼容RAR是因为这样必须付出一笔费用

压缩包虚拟化WinMount创新理念

*挂载压缩包RAR/ZIP/MOU至虚拟盘
*快速挂载ZIP/MOU/WIM 到当前目录迅速变身虚拟文件夹
* 特点完全抛弃解压文件操作均在虚拟路径中不产生系统垃圾保护硬盘节省硬盘空间

相关新闻

词条信息

  • 浏览次数: 1377 次

  • 更新时间: 2015-01-08