首页
社区
课程
招聘
[求助]!EProt.0_01加壳调试原理?OD遇见了小问题,求解决
发表于: 2014-12-27 14:14 4058

[求助]!EProt.0_01加壳调试原理?OD遇见了小问题,求解决

2014-12-27 14:14
4058
!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直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
由于刚才粗心,忘记传例子了,抱歉

下载地址: 例子.rar
上传的附件:
2014-12-27 14:22
0
雪    币: 500
活跃值: (1165)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
42d055 F2断点 shift+f9
2014-12-27 20:47
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢你的回答,但是我还有疑问
请问为什么按shift+F9 可以跑到这个断点,单步就到不了呢?
2014-12-28 09:44
0
雪    币: 500
活跃值: (1165)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Shift+F9 - 与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
2014-12-28 09:54
0
游客
登录 | 注册 方可回帖
返回