rar

rar

RAR是一種專利檔案格式,用於數據壓縮與歸檔打包,開發者尤金·羅謝爾(Eugene Roshal),所以RAR的全名是:Roshal ARchive。首個公開版本RAR 1.3發布於1993年。在計算機科學中,RAR是一種檔案壓縮與歸檔的私有格式。RAR的名字源自其作者Eugene Roshal,為Roshal ARchive的縮寫。

基本信息

rar

簡介

rarrar

在計算機科學中,RAR是一種檔案壓縮與歸檔的私有專利壓縮格式。

來源

RAR的名字源自其作者Eugene Roshal,為Roshal ARchive的縮寫。Eugene Roshal最初編寫了DOS版本的編碼和解碼程式,後來移植到很多平台,例如比較著名的Windows平台上的WinRAR。Eugene Roshal有條件的公開了解碼程式的原始碼,但是編碼程式仍然是私有的。

如何打開

打開工具

WinRAR、WinMount、快壓、2345好壓,7-zip等等。

RAR檔案是一種最常用的壓縮檔案,通常都是用WinRAR軟體打開處理。

WinRAR 是 32 位 Windows 版本的 RAR壓縮檔案管理器 ——一個允許你創建、管理和控制壓縮檔案的強大工具。存在一系列的RAR版本,套用於數個作業系統環境:Windows、Linux、FreeBSD、DOS、OS/2、MacOS X。

為什麼不能被破解

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=packblock^initVector

rarrar

encryptBlock=AES(packblock) ;(KEY為AES的密鑰)

for i=1to 塊數量-1

packblock=packblock^encryptBlock[i-1]

encryptBlock=AES(packblock);(KEY為AES的密鑰)

next

;packblock表示壓縮完的每16位元組數據

;encryptBlock表示加密完的每16位元組數據

解密的過程

由於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校驗碼比較,相同則密碼正確,不相同則密碼錯誤。

無法破解的原因

從上面,我們了解了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兩種算法互相牽制,而兩種算法當前都無法破解。

如何給RAR加密

RAR和ZIP兩種格式均支持加密功能。

若要加密檔案,在壓縮之前你必須先指定密碼,或直接在壓縮檔案名稱和參數對話框中指定。

在 命令行 模式時使用開關-p[密碼]。

而在 WinRAR 圖形界面時,要輸入密碼你可以按下 Ctrl+P 或者是在檔案選單選擇“設定默認密碼”命令。

另一種方式是單擊 WinRAR 視窗底部左下角的鑰匙圖示。在壓縮檔案名稱和參數對話框 里的“高級選項”組中按下“設定密碼”按鈕輸入密碼。

和 ZIP 不同,RAR 格式不只允許數據,而且其它的可感知的壓縮檔案區域:檔案名稱、大小、屬性、注釋和其它塊都可加密。如果你希望這樣做,你需要在密碼對話框中設定“加密檔案名稱” 選項,或在命令行模式使用-p[密碼] 的開關-hp[密碼]。以這種方式加密的檔案,如果沒有密碼甚至不可能查看檔案列表。

當不再需要的時候,別忘了將輸入的密碼刪除。不然你或許又加密了別的壓縮檔案,但卻不希望使用同一組密碼。要刪除密碼時,只需要輸入空字元串來替換原先的密碼,或者先關閉 WinRAR 並重新啟動一次。當有密碼存在時,鑰匙的圖示是紅色的,否則它是黃色的。而且,當你使用密碼開始壓縮操作時,標題欄壓縮檔案名稱和參數對話框 也會閃爍兩次。

如果你在壓縮檔案名稱和參數對話框直接輸入它,你不需要刪除密碼。這不同於其它方式,此類密碼僅在單一壓縮操作有效,並在完成後它會自動刪除。

當解壓加密的檔案時,開始操作之前你也可以不需要事先輸入密碼。如果 WinRAR 遇到加密的檔案,而解壓之前未先輸入密碼的話,它便會提示用戶輸入密碼。

WinRAR 支持 ZIP 2.0 格式使用私有加密算法。RAR壓縮檔案使用更強大的 AES-128 標準加密。如果你需要加密重要的信息,選擇RAR 壓縮檔案格式會比較好一些。為了確實的安全性,密碼長度請最少要 8 個字元。不要使用任何語言的單詞作為密碼,最好是任意的隨機組合字元和數字,並且要注意密碼的大小寫。請記住,如果你遺失你的密碼,你將無法取出加密的檔案,就算是 WinRAR 的作者本身也無法解壓加密過的檔案。

壓縮分卷

基本介紹

壓縮分卷就是把一個比較大的檔案用zip或rar等壓縮軟體進行壓縮時,根據你的需要大小,分別壓縮成若干的小檔案。便於軟碟儲存、郵件傳送等。但它們組合是一個整體,必須按照生成的順序編號才能解壓出原檔案,缺一不可.

在WinRAR中也集成了分卷壓縮的功能,而且它並不像WinZip那樣必須在軟碟的支持下才可以使用這個功能,在製作的時候能夠將某個大檔案分卷壓縮存放在任意指定的盤符中,所以這也大大的方便了我們的使用。

分卷壓縮的檔案或者是資料夾,在彈出的選單中選擇“添加到壓縮檔”選項。

壓縮檔名稱”對話框中確定檔案存放的路徑和名稱,這時就可以將分卷壓縮之後的檔案存放在硬碟中的任何一個資料夾中。同時在“壓縮方式”下拉列表中選擇採用何種方式進行壓縮,建議大家採用“最好”方式,這樣能夠讓WinRAR最大程度的壓縮檔案。

此外,下部的壓縮卷大小對話框可以設定每一個壓縮檔的個頭大小。其中WinRAR默認的是1.44M軟碟模式,不過你也可以定義壓縮檔大小,比如將其改變為1,024,000位元組或者是由系統自動檢測,這樣當某一張軟碟中已經存有檔案的時候,WinRAR能夠根據可用的磁碟空間來自動調整壓縮檔的大小。

這樣我們就可以得到以定義好的檔案名稱為前綴,rar、r01、r02…之類為後綴名的檔案,將它們複製到軟碟中就可以了。至於合併這些檔案也非常簡單,只要將所有的分卷壓縮檔案複製到一個資料夾中,然後右擊*.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 到當前目錄,迅速變身虛擬資料夾;

* 特點:完全拋棄解壓,檔案操作均在虛擬路徑中,不產生系統垃圾,保護硬碟,節省硬碟空間。

相關詞條

相關搜尋

熱門詞條

聯絡我們