2.弹出提示信息之后,在OD中按暂停(F12):->调用堆栈窗口(Alt+K)->找到非系统领空(程序领空)的最近的一个call(时间上/接近栈顶的一个)->点击 call from(从调用)(否则,就会跳到jmp(导入表).至此,找到关键提示信息!
3.如果比较不成功直接退出,没有任何提示信息呢?(那就只能一点点找或者采用一些辅助工具)
断点分七种:
INT3断点:F2躲避下断:断点下在函数内或者尾部
硬件断点:(调试寄存器),最多四个
内存断点:只有一个,Shift+F3(很好用)
内存访问一次断点:
消息断点:中断在系统模块里了。
条件断点:
需要注意的是OD1版本里面的下面的命令行其实是插件,不用的话也可以执行相应的命令,不过只能通过菜单或快捷键输入一些命令了。
条件记录断点:(Shift+F4)条件断点还可以记录断点处函数表达式或参数的值,也可以设置通过断点的次数,符合暂停条件时,计数器-1.
OD1种CmdBar插件的常用命令:(还有很多,如TC...)
|?表达式| 计算表达式的值,如:?34*45-4|
|---|---:|
|D(DB,DW,DD)表达式| 查看内存数据,如:D 401000,D esp+c|
|BP表达式| 设断,如 bp GetDlgItemTextA|
|Hw表达式| 设置硬件写断点|
没有评论:
发表评论