天天看點

軟體逆向 三

認識殼

殼是指在一個程式的外面再包裹上另外一段代碼,保護裡面的代碼不被非法修改或反編譯的程式。它們一般都是先于程式運作,拿到控制權,然後完成它們保護軟體的任 務。

◆在一些計算機軟體裡也有一段專門負責
保護軟體不被非法修改或反編譯的程式。
◆它們一般都是先于程式運作,拿到控制
權,然後完成它們保護軟體的任務。
◆由于這段程式和自然界的殼在功能上有
很多相同的地方,基于命名的規則,就把
這樣的程式稱為“殼”了。
           

殼的分類

殼的分類-保護殼(加密殼)

◆保護PE免受代碼逆向分析,應用了多種防止代碼逆向分析的技術.加保護殼的PE程式經常比原檔案更大

使用目的

防止破解

保護代碼和資源

使用現狀

大量應用于對破解敏感的安全程式

◆惡意代碼用于防止(降低)防毒軟體的檢測

殼的分類-壓縮殼

使用目的

縮減PE檔案的大小,便于網絡傳輸或儲存◆隐藏PE檔案内部代碼和資源

使用現狀

早在DOs時代就已出現但因PC計算能力有限,解壓開銷太大,未能廣泛使用.

◆現狀廣泛應用

壓縮殼種類

單純用于壓縮普通PE檔案的壓縮殼

◆對源檔案有較大變形,嚴重破壞PE頭,常用于惡意程式的壓縮殼

大量應用于對破解敏感的安全程式

◆惡意代碼用于防止(降低)防毒軟體的檢測

常見的壓縮殼

UPX

UPX是一個以指令行方式操作的可

執行檔案經典免費壓縮程式,壓縮算

法自己實作,速度極快。(開源)

PECompat

PECompact同樣也是一款能壓縮可執行文

件的工具

◆支援EXE、DLL、SCR、OCX等檔案

◆提供了多種壓縮項目的選擇,使用者可以根據

需要碗定哪些内部資源需要壓縮處理提供了加解密的插件接口功能

ASPack

ASPack是款Win32可執行檔案壓縮軟體◆可壓縮Windows 32位可執行檔案(.exe)以及庫檔案(.dll、 .ocx)

檔案壓縮比率高達40%~70%

常見的加密殼

ASProtect

擁有壓縮、加密、反跟蹤代碼、反-反彙編代碼

、CRC校驗和花指令等保護措施

◆通過API鈎子與加殼的程式進行通信

◆為軟體開發人員提供SDK,實作加密程式内外

結合。

◆研究的人比較多,脫殼方法成熟

Armadillo

◆又稱"穿山甲“,應用面較廣

◆可以運用各種手段來保護你的軟體

◆同時也可以為軟體加上種種限制,包括時間

、次數,啟動畫面等等

Nanomites保護(cc保護)

Public版沒有保護強度,使用Custom版

EXECryptor

相容性處理不好

Anti-Debug功能隐蔽

◆使用虛拟機保護關鍵代碼

Themida

虛拟機保護

擅用SDK

生成檔案較大

◆與WinLicense殼功能

類似

VMProtect

純虛拟機保護軟體

◆至今還沒有人公開宣稱能還

原心

◆影響速度,生成檔案大

脫殼方式 軟體脫殼