OD之常用命令
一:od断点注释保存的问题,由于od只有在正常退出的情况下才会保存分析代码时留下的注释,而很多时候为了在退出od时不让目标程序退出使用了剥离进程,这样就会导致这次操作所有的注释都没有保存,第二次重新载入时候又的重新分析注释下断点,所以需要自己下载一个插件 Myinfo.dll,这个插件可以手动保存注释和断点,插件里面的导出操作是把注释导出到一个文件中,导入操作是把注释导入到od代码分析界面来,注意,每次导出操作都会删掉文件中的内容,保留本次导出内容
二: 插件安装,od插件只需把插件的dll粘贴到od安装文件夹的plugin文件夹中即可
三: 定位代
码时有时使用一些花指令代码 比如_asm{ mov eax,eax mov eax,eax}
这样的代码无实际作用,但是有助于定位程序代码段,可是查找命令序列时有时找不出来,这就需要点查看可执行模块,找出目标模块,双击,一般需要重复两次操
作,这样才能找到该命令序列,以为开始中断并不处于主模块内,需要进入主模块段才可以查找注释和指令
四:od一些常用命令
dd 以四字节方式转储,也就是以四字节的方式查看地址内存的值,比如一个数组 array[20] 它的首地址是405118 那么 dd 405118 就可以
看到array[0]的值了,dd i*0x4+405118 就可以看到数组array[i]的值,游戏分析时分析对象数组,dd
[eax*4+03f82520] 首先取出数 组03f82520[eax]里面保存的地址,然后查看该地址的值,很多怪物对象的首地址都是放在对象数组里面,找到该地址,就可以分析出该怪物的相应信息如 dd [eax*4+03f82520] +0xc 这个可能就是怪物生命等等
dc 是以ascill码显示该地址,这个一般是查看文本信息
hw硬件中断在写入时
db 以比特格式十六进制转储
当然有一些快捷键命令 暂时不表
五: 备份,修改数据之前,难免要备份,这就要用到备份功能,这样就可以很容易恢复到修改之前
六: 跟踪调试,这个功能相当不错,可以记录所有寄存器的值,这样便于观察分析
七: 直接更改程序汇编代码,然后保存到文件,这样就相当于更改了部分程序代码,很方便
八:下API断点 等熟悉了再补充
OD之常用命令的更多相关文章
- od 转储 二进制文件常用命令
od : NAME od - dump files in octal and other formats 常用命令: ➜ Downloads od -t x1 -Ax /etc/ld.so.cach ...
- shell常用命令归类整理
shell 命令整理 bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...
- Linux目录结构及常用命令(转载)
一.Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/usr/bin目录下.为什么没在/bin中,或 ...
- Linix常用命令
uname -a 查看内核版本 ls -al 显示所有文件的属性 pwd 显示当前路径 cd - 返回上一次目录 cd ~ ...
- linux 常用命令及技巧
linux 常用命令及技巧 linux 常用命令及技巧:linux 常用命令总结: 一. 通用命令: 1. date :print or set the system date and time 2. ...
- 常用命令su ls cp cd mv cat touch mkdir rm head less more pwd tac 等
1.用户切换 su:switch user su kevin //半切换,切换到kevin用户,但是不读取kevin用户的配置文件 su - kevin //完全切换,执行这个命令的时候表示切 ...
- 【Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff 】
原文:[Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff ] 基本命令 1.列出文件 ls 参数 目录名 例: 看看驱动目录下有什么:ls /S ...
- Linux目录结构和常用命令
源地址:http://www.cnblogs.com/JCSU/articles/2770249.html 一.Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/ ...
- [转]学好Mac常用命令,助力iOS开发
转自:http://www.jianshu.com/p/d9ec00d28237 序言 在iOS开发的过程中,更多地注重iOS开发的效率,熟练使用Mac终端操作的常用命令,可以让你更好的游刃于iO ...
随机推荐
- Contoso 大学 - 4 - 创建更加复杂的数据模型
原文 Contoso 大学 - 4 - 创建更加复杂的数据模型 原文地址:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using- ...
- asp.net select Case条件语句的使用方法
原文:http://www.111cn.net/net/vb-net/38548.htm 如果 testexpression 与任何 Case expressionlist 表达式匹配 ,则执行此 C ...
- mysql 强制走索引
查询是数据库技术中最常用的操作.查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后, 执行这条SQL语句,然后将查询到的结果返回给客户端.虽然过程 ...
- Android 自定义CheckBox 样式
新建Android XML文件,类型选Drawable,根结点选selector,在这定义具体的样式. <?xml version="1.0" encoding=" ...
- JSONP VS CORS
What is JSONP ? http://stackoverflow.com/questions/2067472/what-is-jsonp-all-about What is CORS? htt ...
- Popup window
function createLoadingDialog() { $("#loadingDialog").dialog({ autoOpen: false, closeOnEsca ...
- php入门之表单创建和基本处理
为了方便后面学习数组,这里引入了过渡章节就是表单,至于为什么,等真的学习到数组的时候你就会发现它的妙处拉. ============================================== ...
- IE11下ASP.NET Forms身份认证无法保存Cookie的问题
IE11下ASP.NET Forms身份认证无法保存Cookie的问题 折腾了三四天,今天才找到资料,解决了. 以下会转贴,还没来得及深究,先放着,有空再学习下. ASP.NET中使用Forms身份认 ...
- 通过 struct 成员地址 获取 struct 结构体地址
1. 问题描述: 现在定义了一个结构体: struct Foo { int a; int b; }; Foo foo; 假如由于函数传参等原因,现在程序只能拿到 foo.b 的地址,这时想通过某种方法 ...
- Java创建Oracle数据库表
我们通常只用java执行DML(即:insert, update, delete, select)操作,很少用来执行DDL(create, drop, alert)操作.今天试了下如何用java来创建 ...