dbsx 发表于 2009-5-29 20:47:58

为什么没有跑飞??

这个程序,下 bp MessageBoxA,断下后,走。。。出现错误框,点确定,在走。。。它运行了,我们再次点确定,奇怪了啊,这会点完确定后竟然程序没有跑飞?!(不是因为bp MessageBoxA),
接下来往下走就可以看到算法了。

太奇怪了,为什么它没有跑飞呢,

千里之外 发表于 2009-6-5 16:19:49

你的问题很奇特 我给你来个例子
0041412E    FF15 14F44100   call    dword ptr [<&USER32.MessageBoxA>>; USER32.MessageBoxA

运行到这个指令的时候 弹出错误提示框 你点确定后OD断在下条指令

为什么会这个样子 因为MessageBoxA是个函数嘛 你点确定函数返回 停在下个指令

同样
004132F1    E8 C1100000   call    004143B7

也是一个函数 或者说是个过程 就是弹出注册对话框

你点确定后 函数返回必然会断在下个指令

具体的来说就是OD的调试机制 调试API在起作用 每个异常OD都会捕捉 根据您的设定等 选择下一步要做什么

dbsx 发表于 2009-6-22 10:15:49

o ,/:014
页: [1]
查看完整版本: 为什么没有跑飞??