深水区热身:高度混淆的还原

如无必要,不要尝试正面还原高度混淆的程序!

对于变种Ollvm、VMP 等高强度的混淆,通常没有完美的还原方法;

首先,我认为有以下几点必须清楚

  • 对高强度混淆的还原,是一系列系统的工作,不会有通用的方案。

  • 不同的混淆方案所需要的还原方案都不同,寻找薄弱点来对抗。

  • 本质上,这是在和在保护开发者进行对抗,是两方精力和工时的互换。

  • 纯静态的还原复杂度高,复用性差;动静态结合才能节约时间。

攻击状态变量并还原真实块的控制流结构

  • 基础Flat

  • +虚假控制流

  • +不透明谓词

  • +状态变量改造

  • +多重状态变量

  • +状态变量混合程序主逻辑

将VMP中的虚拟指令进行还原

  • 堆栈形态

  • 寄存器

  • SSA形态

Last updated