-
-
[求助]!EProt.0_01加壳调试原理?OD遇见了小问题,求解决
-
发表于:
2014-12-27 14:14
4058
-
[求助]!EProt.0_01加壳调试原理?OD遇见了小问题,求解决
!EProt对一个hello word !程序进行加密
然后用OD载入调试如下图
程序会断在0042D010地址上
在执行到0042d053 jmp ecx 这句时
会跳转到堆栈去执行,然后程序挂掉了……
尝试1:
之前一直是按F8步过执行,但是尝试在0042D055下断点,按F9直接能够执行到这个地址
尝试2:
单步步过Ctrl+F8 会执行jmp ecx,挂掉
尝试3:
执行到
0042D052 9D popfd
之后按F9程序挂掉
尝试4:
执行到(刚才上一句)
0042D04F 83E9 04 sub ecx, 4
之后按F9可以正常运行
尝试5:
nop 0042D04F 这一句,或者是nop 0042D053 这句单步 都可以通过
问题:
1为什么按F9就能够执行,单步就会挂掉?
2为什么0042D055 ~0042D058 会pop 这么多次eax,有什么作用?
3为什么在第5次尝试中就可以单步执行过去?
新手纠结的小问题,高手勿喷,哪怕指明个方向也行,看那些资料,或者类似的文档,由于在网上找相关!EProt的资料实在太少了,又不知道他的加密方式,所以斗胆来这里提问,拜托好心人解答
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课