萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

安全基礎課:殼、加殼、脫殼技術原理與主流工具實戰對照表

「殼」是保護軟體不被非法修改/反編譯的前置代碼,功能類似自然界的殼。加殼過程中原始碼被壓縮/加密,執行時殼先運行解殼還原後移交控制權。本文系統整理殼的分類、偵測工具、脫殼工具與常見殼的脫殼對策。

殼的分類

  • 加密殼:加密原始碼(如 ASProtect, Armadillo)。
  • 壓縮殼:壓縮體積(如 UPX, ASPack, PECompact, Petite, WWPack32, Neolite, PE-PACK, PETITE)。
  • 偽裝殼/多層殼:混淆分析、多層封裝。

目的:隱藏原始程式入口點 (OEP),防破解、防分析、防病毒掃描(惡意程式常加殼躲避查殺)。

偵測殼與開發語言工具

工具功能
FI (fileinfo.exe)偵測殼類型能力極強
Language 2000 中文版偵測殼類型 + 識別開發語言 (Delphi, VB, VC 等),VB 最難破
PEiD, GetTyp, PE-Scan常用殼偵測器

脫殼工具鏈

階段工具
尋找 OEPSoftICE, TRW, OllyDbg, Loader, PEiD
Dump 記憶體映像IceDump, TRW, PEditor, ProcDump32, LordPE
PE 編輯/修復 IATPEditor, ProcDump32, LordPE, ImportREC, ReVirgin
專用脫殼ASProtect: Caspr (v1.1-1.2), Rad (v1.1)

常見殼脫殼對策速查

殼類型推薦脫殼方法備註
ASPackUnASPack (舊版) / Caspr (全版本)Caspr 用法:caspr target.exe 產生 target.ex_ → 重命名
UPXUPX 自帶脫殼:upx -d target.exe注意版本一致性
PECompactUnPECompact (傻瓜式 GUI)
ArmadilloSoftICE + IceDump較繁瑣
DBPE新版暫無解,可嘗試破解國產優秀加密殼
NeoLite自身脫殼功能
PCGuardSoftICE + IceDump + FrogIce
Petite舊版 Pedump32 直脫;新版需 SoftICE
WWPack32同 PECompact,建議 SoftICE + Pedump32資源段有時無法修復

通用脫殼原則與流程

  1. 單步追蹤:只能向前,不能回溯。
  2. 流程:查殼 → 尋找 OEP → Dump → 修復 IAT。
  3. 尋找 OEP 思路:壓縮殼找 POPAD 後跳轉;加密殼需分析解密迴路。

驗證脫殼成果

用 UltraEdit 開啟檔案:
• 加殼/未脫殼 → 中文顯示亂碼/無法辨識。
• 成功脫殼 → 中文清晰可見。
可用 UltraEdit 替換作者資訊(注意位元組數相等,不足補 00)。


脫殼技術是逆向工程、病毒分析、軟體本地化的核心基本功。掌握工具鏈與各殼特性,方能應對日新月異的保護殼。

copyright © 萬盛學電腦網 all rights reserved