od怎么下硬件断点od内存断点

2023-08-18 17:31:41 浏览

右下角的堆栈窗口是下不了断点的,要在左下角的窗口里下。在左下角的窗口里右键-断点-硬件访问-Word就行了。~

od怎么下硬件断点od内存断点

在当前行按[ShiftF2]键-条件断点(这个不太好用,因为程序BUG偶尔失效)。

在当前行按[ShiftF4]键-条件记录断点(只要设置上条件语句和按什么条件生效就可以了)。

[EAX]==05201314                   ;比如EAX的值为00401000,而地址00401000处所指向的值等于5201314时,即EAX的值表示为指针。

[[EAX]]==05201314                 ;比如EAX的值为00401000,地址00401000处所指向的值为00402000,而地址00402000处所指向的值等于5201314时,即EAX的值表示为指针的指针。

EAX==05201314EBX==0x05201314;当EAX的值等于5201314(十进制),并且EBX的值等于5201314(十六进制)时。

[EAX]=="coderui"                  ;比如EAX的值为00401000,而地址00401000处所指向的字符串为“coderui”时,即EAX的值表示为指针。

原理:就是在消息函数上设置条件断点。

1、使用[CtrlG]呼出“表达式跟随窗口”,输入“TranslateMessage”,然后回车。

2、在“转到”的位置上使用[ShiftF4]呼出“条件记录断点设置窗口”。

3、在“条件”中输入如下语句“[[ESP4]]==当前按钮句柄[[ESP4]4]==WM_LBUTTONUP”。

4、把“暂停程序”设置为“按条件”,其他都为默认,然后确定。

5、点击按钮后,程序会停在“TranslateMessage”函数的系统领空中。

6、查看内存,对代码段下“内存访问断点”,然后经过多次[F9](运行),就会找到关键的处理代码了。

以下命令适用于OllyDbg的快捷命令栏插件(显示于程序的状态栏上方)

在地址进行反汇编

转存为反汇编代码

转存在十六进制字节格式

转存在十六进制字词格式

前往堆栈中的地址

断点

清除位于全部调用的断点

内存断点于访问时

内存断点于写入时

停止运行程序调试

运行程序进行调试

跟踪进入直到地址

跟踪步过直到地址

跟踪进入直到条件

跟踪步过直到条件

反汇编直接的机器码

查找参考到选定的命令/地址

在当前模块中搜索名称(标号)

打开一个新的可执行程序(F3)

重新运行当前调试的程序(CtrlF2)

运行选定的程序进行调试(F9)

暂时停止被调试程序的执行(F12)

单步进入被调试程序的Call中(F7)

步过被调试程序的Call(F8)

跟入被调试程序的Call中(CtrlF11)

跟踪时跳过被调试程序的Call(CtrlF12)

打开调试选项窗口(AltO)

bpRegOpenKeyExA,然后按Enter键就行了。意思就是在这个函数的入口下断点了,但汇编窗口并不会转这个地址,就是说窗口内容仍然是不变的。

你看到的跳转到一个内存地址,我猜是这样的。他按Enter之后,又按了F9运行,然后中断到了这个地址,停下来了。

至于用命令下断,看你下什么断点用不同的命令。像上面的bp,它的作用就是在地址上改写内容为cc,就是int3断点。还有内存断点用mr,mw吧,硬件断点用hr,hw,he......一般的教程上都有的。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。