确定在程序领空内. 需要在主程序领空查看API列表. 如果在系统DLL中, 查看的API列表就是那个DLL调用的API列表.
可以在程序入口点到主视图或主对话框出来之前, 查看主程序用到的API列表.
也可以在程序领空, 查看依赖的DLL的导入函数, 来设置断点.
当在OD中载入的程序结束后, 会留下堆栈调用数据. 可以根据堆栈上的调用设置断点, 确定程序退出的调用点.
函数操作入口处, 会保存ESP到EBP, 当函数运行时操作变量会相对于ESP和EBP, 按照ESP或EBP查看栈会方便理解函数使用栈变量.
在OD命令输入框输入命令, 查看内存数据
在<<找到的模块间的调用>>窗口输入函数名称, 可以直接找到那个函数, 比如 : wmain, 如果想在没壳程序的wmain处断住, 这样下wmain断点很快.
如果用一个程序写了多个程序的版本, 例如: 一个做实验的Demo.
用OD加载时, 如果已经用OD分析过同名的exe, 那么OD会提示, 断点无效之类的提示. 而且首次OD停在PE文件中的样子也怪怪的.
这时, 关掉OD, 去OD目录下的\UDD\, 删除和本次加载PE同名的OD数据库文件。 再加载此PE, OD分析就正常了.
原文:https://www.cnblogs.com/ltyandy/p/11240836.html