http://www.33vc.com/index.php/archives/3770
方法只是适用于
call xxxxxxxx ///关键call
jnz xxxxxxxx ///注册成功与不注册跳转
类型,即标志位判断的情况~~
我来补上点的东西吧,一般e_flag分成两种:一类是0x202,0x206,0x242;另一类是x246,0x282,0x286。这两类值决定" 跳"与"不跳",还有每类里的值都是等价的,如246可换成282。捕抓关键e_flag的简易方法是在关键判断的vm_call里,用脚本记录类似下面 的指令里的32位寄存器(r32)里的值
mov dword ptr [ra], r32该类指令一般在vm里有一个对称的指令,如与上面指令相对的是mov r32,dword ptr [ra].这类指令在进入vm后f7一个小循环就可以发现了。
脚本跑注册与不注册vm_call记录下来的r32值用文本比较工具一比较就很容易找着关键e_flag了。