加壳是软件保护和恶意软件共用的自保护手段,分析路上迟早会遇到。
壳的原理
把原始程序加密存储,运行时由壳代码解密并跳转执行。静态分析看到的只是外壳的加载逻辑。
通用脱壳思路
既然最终要在内存里解密执行,运行到原始入口点时转储内存,再修复导入表,就能还原出可分析的程序。
自动化与手工
常见壳有自动化工具处理;遇到变形壳就得靠运行时行为分析和手工转储。
壳是什么、为什么能干扰分析、常见的脱壳思路。理解原理比背工具按钮重要。
加壳是软件保护和恶意软件共用的自保护手段,分析路上迟早会遇到。
把原始程序加密存储,运行时由壳代码解密并跳转执行。静态分析看到的只是外壳的加载逻辑。
既然最终要在内存里解密执行,运行到原始入口点时转储内存,再修复导入表,就能还原出可分析的程序。
常见壳有自动化工具处理;遇到变形壳就得靠运行时行为分析和手工转储。