首页
社区
课程
招聘
[求助]我用OD调试的问题大家帮我看看是怎么回事
发表于: 2008-12-16 17:22 3944

[求助]我用OD调试的问题大家帮我看看是怎么回事

2008-12-16 17:22
3944
我学这个不久,还需大家帮我看一下是怎么回事!!!
我用OD调试时一个软件时
在下了BP SEND断点,断下后用CTRL+F9返回到调用处时,OD始终显示执行到返回却等了半天都没有到返回处,不知是什么地方不对
005973DC   .  894424 10     mov     dword ptr [esp+10], eax
005973E0   .  74 4E         je      short 00597430
005973E2   .  8B7424 18     mov     esi, dword ptr [esp+18]
005973E6   .  3BF3          cmp     esi, ebx
005973E8   .  7E 46         jle     short 00597430
005973EA   .  8B6C24 14     mov     ebp, dword ptr [esp+14]
005973EE   .  8BFF          mov     edi, edi
005973F0   >  837F 64 00    cmp     dword ptr [edi+64], 0
005973F4   .  75 36         jnz     short 0059742C
005973F6   .  8B57 54       mov     edx, dword ptr [edi+54]
005973F9   .  6A 00         push    0                                ; /Flags = 0
005973FB   .  56            push    esi                              ; |DataSize
005973FC   .  8D0C2B        lea     ecx, dword ptr [ebx+ebp]         ; |
005973FF   .  51            push    ecx                              ; |Data
00597400   .  52            push    edx                              ; |Socket
00597401   .  FF15 7C146600 call    dword ptr [<&WS2_32.#19>]        ; \send

在这里就不能执行到返回了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你能確定是使用的Send?
2008-12-16 17:45
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
不要使用Ctrl+F9,直接把代码往下拉,然后F2+F9。

Ctrl+F9据我的猜测可能是使用了自动单步跟踪的方式实现的,不过没有证实。在有些情况下(我最常遇见的是在多线程时),就会出现你所说的情况。

具体原因没有研究过。反正用F2+F9就行了,F4有时可以,有时也不行的。
2008-12-16 21:18
0
雪    币: 180
活跃值: (57)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
具体原因楼主自己想吧
2008-12-16 21:25
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼上的是个马甲
2008-12-16 21:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我试下看                  看,谢了
2008-12-22 03:59
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习中!~~~~~~~~~~~~
2008-12-23 11:12
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
ctrl+f9应该就是在ret往后下个断点,然后f9

也就是你说的f2+f9
2008-12-23 11:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我也遇到过,可以将用户代码设置内存断点,然后运行,就跳到用户代码中了
2008-12-23 11:36
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
10
确实不一样。多数情况效果是一样的,少数情况只能用F2+F9,不能Ctrl+F9或ALT+F9,甚至F4。

具体原因我也没完全搞明白,但可以肯定OD对它们的实现方式是不同的。
2008-12-23 12:20
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
第一次了解。。。继续学习中
2008-12-28 12:00
0
游客
登录 | 注册 方可回帖
返回
//