OD怎么下断点啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OD怎么下断点啊?相关的知识,希望对你有一定的参考价值。

先找游戏走路的CALL(2D会合制游戏来的)先开游戏再用OD附加进去(登陆后游戏没动过)!然后在命令那里打“bp send”在回到游戏里面点了一下,角色走动了一段路,到这里就不会了,一直等不到OD自动断下来!

利用消息断点 在处理字串方面可以利用消息断点WM_GETTEXT和WM_COMMAND。前者用来读取某个控件中的文本,比如拷贝编辑窗口中的序列号到程序提供的一个缓冲区里;后者则是用来通知某个控件的父窗口的,比如当输入序列号之后点击OK按钮,则该按钮的父窗口将收到一个WM_COMMAND消息,以表明该按钮被点击。 BMSG xxxx WM_GETTEXT (拦截序列号) BMSG xxxx WM_COMMAND (拦截OK按钮) 可以用SoftICE提供的HWND命令获得窗口句柄的信息,也可以利用Visual Studio中的Spy++实用工具得到相应窗口的句柄值,然后用BMSG设断点拦截。例: BMSG 0129 WM_COMMAND如果想实现softice中的BMSG XXXZ WM_COMMAND 来拦截点击OK按钮时的消息,在OD中应该怎么做。 参考技术A 大哥~我是菜鸟我不看不懂你说的!但是我想说我不形式想在游戏里面拦截“bp send”这个信息,“bp send”是OD里面开始下断点的命令,我说的OD是OllyDbg这个软件!OllyDbg自带的帮助文件看不懂!

Windows 逆向OD 调试器工具 ( 分析 OD 硬件断点处的关键代码 | 添加硬件断点 | 关键代码 | MOV 指令 | EAX 寄存器值分析 | 使用命令查看 esi+0cc 地址 )(代码





一、添加硬件断点



在上一篇博客中 , 在子弹个数数据内存地址 07BB2D8C 处添加了 硬件断点 ,





二、关键代码



添加断点后 , 阻塞拦截的关键代码如下 ;

【Windows 逆向】OD 调试器工具 ( OD 调试数据时硬件断点对应的关键代码 | 删除硬件端点恢复运行 ) 一、OD 调试数据时硬件断点对应的关键代码 博客章节介绍到 , 关键代码的位置是阻塞代码的上面一行 ;

在 反编译面板 中 , 地址变黑的那一行代码是被阻塞代码位置 , 上面一行是关键代码 ;

关键代码为 :

mov eax, dword ptr [esi + CC]




三、MOV 汇编指令格式



MOV 指令格式 : 将 SRC 数值,写入到 DST 位置 ;

MOV DST,SRC

mov eax,[esi+000000CC] 汇编代码和含义 :

[esi+000000CC] 是 基址变址寻址 , 取出 esi 寄存器的值 05A59478 , 与 CC 相加 , 得到一个地址 05A59544 , 这个地址就是子弹数据的地址 , 读取该地址中的值 , 写入到 EAX 寄存器中 ;

从上述汇编代码中 , 可以知道 , 子弹数据的动态地址 05A59544 , 是由 基址 05A59478 加上立即数 CC 得来的 ;





四、EAX 寄存器值分析



其中 EAX 寄存器的值是 5A , 该值 5A 是在 esi+000000CC 地址中存储的数据 ;





五、使用命令查看 esi+0cc 地址



查看 esi+000000CC 地址的值 , 在 OD 中的 Command 中执行

dd esi+0cc

指令 , 跳转到了 07BB2D8C 地址处 , 改地址存储的值就是 5A , 也就是 90 , 正好是当前子弹数量 ;

以上是关于OD怎么下断点啊?的主要内容,如果未能解决你的问题,请参考以下文章

为啥OD下断点后没做任何操作还是不停中断呢?

OD怎样给鼠标左键单击下断点

OD里面的下断和断点是啥意思?

OD调试器断点——消息断点

OD调试器断点——条件断点

请教OD如何给新线程下鼠标双击消息断点