摘要:简单记录一下OD条件断点

OD里面的断点设置条件时默认不管加不加0x默认都是按照十六进制算,IDA不加0x就是按照十进制。x64dbg和OD规则一样,反人类。

[esp+c]==0x111 //以esp寄存器的值+0xc为地址,当地址内容等于0x202时断下
[[esp]+4]==0x202 //以esp寄存器的值为地址,取值,然后加4,以这个新的值为地址。当地址内容等于0x202时断下

user32.dll中的CallWindowProcA
[esp+8]==0x202

消息断点1.jpg

user32.dll中的DispatchMessageA
[[esp]+4]==0x202

消息断点2.jpg

ASCII字符集字符串设置方法:

代码:

STRING [eax] == "DDLX_CHAR"   
STRING [eax] == "DDLX_char" //不区分大小写  
STRING [eax] == "DDLX" //不区分文本长度  

举例如下:

OD字符串比较断点.jpg

OD中文字符比较断点.jpg

UNICODE字符集字符串设置方法:

代码:

UNICODE [eax] == "DDLX_WCHAR"  
UNICODE [eax] == "DDLX_wchar" //不区分大小写  
UNICODE [eax] == "DDLX" //不区分文本长度