OD操作整理-API断点的设置;寄存器的修改;数据的查看

时间:2024-04-13 07:56:55

转自:http://blog.****.net/lostspeed/article/details/8882624

中断的设置

OD操作整理-API断点的设置;寄存器的修改;数据的查看

断点列表和代码的切换

OD操作整理-API断点的设置;寄存器的修改;数据的查看

断点的操作与切换

OD操作整理-API断点的设置;寄存器的修改;数据的查看

转到表达式, 用于在汇编窗口直接查找API

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

查找程序中使用的API,并对关注的API下端点.

确定在程序领空内. 需要在主程序领空查看API列表. 如果在系统DLL中, 查看的API列表就是那个DLL调用的API列表.

可以在程序入口点到主视图或主对话框出来之前, 查看主程序用到的API列表.

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

也可以在程序领空, 查看依赖的DLL的导入函数, 来设置断点.

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看


单步时, 如果遇到了跳转, 可以设置新的EIP, 用来实验逻辑分支.

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

除了EIP, 其他寄存器可以通过双击寄存器, 在弹出的对话框中修改 或 双击后, 取反值.

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

在数据窗口菜单上, 输入地址表达式, 可以转到内存地址.支持表达式和立即数.

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

当在OD中载入的程序结束后, 会留下堆栈调用数据. 可以根据堆栈上的调用设置断点, 确定程序退出的调用点.

OD操作整理-API断点的设置;寄存器的修改;数据的查看

当跳转出现时, 查看跳转目标地址

OD操作整理-API断点的设置;寄存器的修改;数据的查看

在跳转目标地址, 回到跳转源地址

OD操作整理-API断点的设置;寄存器的修改;数据的查看

查看串参考

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

查看栈的数据

函数操作入口处, 会保存ESP到EBP, 当函数运行时操作变量会相对于ESP和EBP, 按照ESP或EBP查看栈会方便理解函数使用栈变量.

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

在OD命令输入框输入命令, 查看内存数据

OD操作整理-API断点的设置;寄存器的修改;数据的查看


给wmain函数设置断点

在<<找到的模块间的调用>>窗口输入函数名称, 可以直接找到那个函数, 比如 : wmain, 如果想在没壳程序的wmain处断住, 这样下wmain断点很快.

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看


如果用一个程序写了多个程序的版本, 例如: 一个做实验的Demo. 

用OD加载时, 如果已经用OD分析过同名的exe, 那么OD会提示, 断点无效之类的提示. 而且首次OD停在PE文件中的样子也怪怪的.

这时, 关掉OD, 去OD目录下的\UDD\, 删除和本次加载PE同名的OD数据库文件。 再加载此PE, OD分析就正常了.

查看内存映像区段数据

OD操作整理-API断点的设置;寄存器的修改;数据的查看

OD操作整理-API断点的设置;寄存器的修改;数据的查看

使用OD查看PE头数据

OD操作整理-API断点的设置;寄存器的修改;数据的查看


回到当前EIP

在OD命令输入框输入 :  orig