加壳是软件保护和恶意软件共用的自保护手段,分析路上迟早会遇到。

壳的原理

把原始程序加密存储,运行时由壳代码解密并跳转执行。静态分析看到的只是外壳的加载逻辑。

通用脱壳思路

既然最终要在内存里解密执行,运行到原始入口点时转储内存,再修复导入表,就能还原出可分析的程序。

自动化与手工

常见壳有自动化工具处理;遇到变形壳就得靠运行时行为分析和手工转储。