-
-
[求助]不理解OD脱壳跟踪过程中怎样跳过循环的,望高手指点
-
发表于:
2005-7-26 16:36
6493
-
[求助]不理解OD脱壳跟踪过程中怎样跳过循环的,望高手指点
以下是OD脱壳跟踪过程中常见的一个需要跳过循环的情况:
jle short Notepad.0040D0E1 <------ (1)
call Notepad.0040D0EC |
jb short Notepad.0040D15B | --------- (2)
movs byte ptr es:[edi],byte ptr ds:[esi] | |
xor byte ptr ds:[edi-1],bl | |
dec ebx | |
jmp short Notepad.0040D138 ------- | (3)
inc ecx | (4)
call Notepad.0040D0EC |
adc ecx,ecx |
call Notepad.0040D0EC |
jb short Notepad.0040D14C |
retn |
xor ebp,ebp <-------- (5)
(3)的jmp跳转到(1),构成循环,为了跳出,可以设置使程序直接运行到
(3)的下一条指令(4),大家都这么做,结果经常对。(有时会跟“飞”)
但是我对此很不理解。
从形式上,能跳出次循环的,只有(2)指令,但是它将跳转到(5),根本不是(4)啊,
这是怎么回事呢?
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法