認識殼
殼是指在一個程式的外面再包裹上另外一段代碼,保護裡面的代碼不被非法修改或反編譯的程式。它們一般都是先于程式運作,拿到控制權,然後完成它們保護軟體的任 務。
◆在一些計算機軟體裡也有一段專門負責
保護軟體不被非法修改或反編譯的程式。
◆它們一般都是先于程式運作,拿到控制
權,然後完成它們保護軟體的任務。
◆由于這段程式和自然界的殼在功能上有
很多相同的地方,基于命名的規則,就把
這樣的程式稱為“殼”了。
殼的分類
殼的分類-保護殼(加密殼)
◆保護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
純虛拟機保護軟體
◆至今還沒有人公開宣稱能還
原心
◆影響速度,生成檔案大