标 题:我总结的ollydbg v1.09d 中文版使用说明. (4千字)
发信人:draren 
时 间:2003-11-05 17:07:57
详细信息:

一点一滴的积累,也就会了.

之所以选择ollydbg
1.我的os是winXP,无法使用trw2000,而softice装了多次均未成功,还蓝屏死机多次.郁闷.
2.友好的gui界面,不像softice.可以边干活边听歌,不像softice,把整个os都挂起了.多用两次,连时间都不知道了.
3.强大的内存查看功能,再不用什么-d了,而且跳转方便,爽!一目了然.
4.强大的右键菜单功能

by draren 
10.14

ollydbg的界面:
菜单:
文件:
1.其中包括该菜单的下部有上次打开的纪录,该纪录保存有上次未清除的断点.
2.附加.对付那些Anti-Debug程序.先运行程序,再运行od,文件-->附加.
查看:
1.执行模块(Alt+E),查看程序使用的动态链接库
2.查看断点.Alt+B
调试:
1.运行(F9)加载程序后,运行!
2.暂停(F12)
3.单步进入(F7)遇见CALL进入!进入该子程序.
4.单步跳过(F8)遇见CALL不进去!
5.执行到返回(ALT+F9)就是执行到该子程的返回语句

ollydbg的16进制编辑功能.类似与hiew,hex workshop
查看-->文件

二进制文件编辑功能.查看-->文件,打开的文件是二进制显示.选中要改变的机器指令,空格,修改,右击-->保存.

ollydbg的四个区域
左上角是cpu窗口,分别是地址,机器码,汇编代码,注释; 注释添加方便,而且还能即时显示函数的调用结果,返回值.
右上角是寄存器窗口,但不仅仅反映寄存器的状况,还有好多东东;  双击即可改变Eflag的值,对于寄存器,指令执行后发生改变的寄存器会用红色显示.
cpu窗口下面还有一个小窗口,显示当前操作改变的寄存器状态.  不错;
左下角是内存窗口.可以ascii或者unicode两种方式显示内存信息;
右下角的是当前堆栈情况,还有注释啊.

F3选择打开程序.

使用

F9执行程序.

下断点:
1.对函数下下断点
在代码区右击-->搜索-->当前模块中的名称(ctrl+N),在跳出来的对话框中选择需要下的断点函数.->右击->查找导入参考(enter),按F2下断点.
如果有多个地方调用了该函数,
2.在需要的地方下断点  F2

添加注释:
在代码区第四列,右击-->注释

查看内存地址
右击内存地址列-->前往-->输入要查看的内存地址

在函数lstrlen的注释的上方,有一个变量string,当执行到该函数的时候,string后面会出现lstrlen函数的参数字符串.在实际使用中一般是输入的字符串.(很好用哦)
类似的还有lstrcmp,上面有string1,string2能够显示将要比较的两个字符串.
另外,一般在执行getwindowtext等函数后,右边寄存器列,eax会显示函数的返回值,即取到的内容.同时内存中也会有显示.

在反汇编中选中一条命令,如果其中有用到内存中的地址,右击-->在转存中跟随-->直接常数
此时内存地址会显示指令中引用到的内存字符

拷贝功能十分强大.直接选择要拷贝的内容.右击-->复制-->文件or剪贴板

ollydbg的条件断点可以按寄存器,存储器,消息(必须是消息的数字,如wm_command就是111)等等设断,非常强大,一旦设了之后记录到文件中,下次restart程序还能用,不用拿笔记,很方便。

显示跳转路进:
选项-->调试设置-->cpu页-->显示跳转的方向,显示跳转的路径,如果跳转没有实现则显示灰色路径
在cpu窗口中,机器码的前面显示">"符号.同时,在cpu窗口下的小缝中会显示跳转路径,从何跳转而来.右击-->前往...一般都是条件跳转,上面的内容就是比较的地方啦。:)

跟踪功能:
选项-->调试跟踪-->跟踪:设置运行跟踪的缓存大小.越大越好.
调试-->打开或清除运行跟踪
然后我们就可以用CTRL+F11或CTRL+F12开启“跟踪进入”和“ 跟踪跳过”了。当我们暂停程序的时候,可以用小键盘上的“+”,“-”,“*”来控制跟踪功能了。 
其中,“跟踪进入”和运行类似,但是记录所有指令以及寄存器变化。并且会自动进入所有的CALL中。
“ 跟踪跳过”和“跟踪进入”类似,但是不进入CALL
“+”用来显示跟踪缓冲区中的下一条指令 
“-”用来显示跟踪缓冲区中的上一条指令 
“*”用来发返回当前指令

让OD显示MFC42.DLL中的函数
打开调试-->选择导入库-->添加-->选择MFC43.LIB加入.重新载入MFC程序,就可以看到call后面的api函数了.

动态暂停:(以messagebox为例)
先运行目标程序,再运行od,选择文件-->附加.在目标程序运行出现对话框时,切换至od,F12暂停.

字符串参考:
在汇编代码区,右击-->搜索-->字符参考

更改二进制文件:
方法1.查看-->文件,打开文件,找到欲修改的偏移,使用机器码修改,然后右击保存文件.缺点是需要使用其他软件来获取偏移地址.
方法2.直接在反汇编代码区更改,这时可以使用汇编代码更改,不用记机器码.完了.右击-->复制到可执行文件-->保存文件.很是方便哪!

关于虚拟地址和偏移地址:
ollydbg果然强大,太强大了,在欲修改的指令处右击-->复制到可执行文件,弹出窗口中光标所在行即是欲修改的指令所在的偏移地址,右击-->汇编,直接修改汇编指令,不用记机器码,又不用虚拟地址到偏移地址的转换.改完后保存文件.爽丫!

找到要更改的地址,右击-->指定-->pe文件头,选择字节,右击-->修改字节.
如何保存?

问题:
1.不知道如何确定文件地址和虚拟地址的转换?
(10.23解决.draren)
2.如何更改pe文件头中(或者软件的数据部分中的字节),如何保存?
3.如何利用ollydbg找到各个句柄信息.比如菜单信息等.

ollydbg v1.09d 中文版使用说明.相关推荐

  1. 转Draren总结的ollydbg v1.09d 中文版使用说明

    转Draren总结的ollydbg v1.09d 中文版使用说明 一点一滴的积累,也就会了. 之所以选择ollydbg 1.我的os是winXP,无法使用trw2000,而softice装了多次均未成 ...

  2. SQL Server全系列安装程序V1.2中文版

    SQL Server全系列自动安装程序是一款包含所有版本SQL Server的合集软件.SQL Server 在多数系统上的安装都不会一帆风顺,通常会因为缺少必备组件而安装不了,并且其版本繁多,还有3 ...

  3. CactiFans v1.0中文版特性

    CactiFans v1.0中文版特性 基于CentOS6.2构建,集成了cacti 0.8.8a 中文版(目前最新版),rrdtool 1.4.7(目前最新) 集成nagios 3.3.1,ncon ...

  4. 企业综合管理系统 V1.0 版本 使用说明

    使用说明 企业综合管理系统 V1.0 版本 数据库:Office Access SqlServer 2005 现2.0版本己完成正在编写使用说明 智能综合管理系统2.0版本 使用说明 系统简介: 本人 ...

  5. Linux 系统下命令 unrar 的中文版使用说明

    查看英文版,猛戳<Linux 系统下命令 unrar 的英文版使用说明> $ rar --help用法: rar <命令> -<选项 1> -<选项 N> ...

  6. 爱普生(EPSON)喷墨打印机清零工具SSC Service Utility V4.3中文版使用说明(转载)

    大家注意了,近期我发现国产杀毒软件都报此软件有病毒,其实并不是这样的.是因为此清零软件影响了EPSON厂家的利益,所以EPSON厂家和国产杀毒软件公司合谋对此软件进行误杀.造成某些用户无法下载.大家下 ...

  7. 神经网络连子棋V1.2版使用说明

    适用人群:寒假在家的学生.独居人群.专业技术研究人员.五子棋爱好者. 适用目的:五子棋能力训练.大脑思维深度训练.记忆力提升.精神专注度提升. 未来适用目的:待模型训练充分之后,还适用于评测评估,包括 ...

  8. [导入]FreeTextBox 1.6.3 中文版使用说明

    阅读全文 类别:asp.net+sql+c#||oracle 查看评论 文章来源:http://hi.baidu.com/huqing7002/blog/item/c038a810c90ee50220 ...

  9. eul for Mac(菜单栏系统监控工具) v1.5中文版

    eul for Mac是一款非常不错的菜单栏系统监控工具,可以在菜单栏直接显示 cpu资源.温度.转速.网速.硬盘存储等系统信息,让你快速了解电脑系统信息非常方便! 测试环境: MacOS 15.7

最新文章

  1. 某程序员误把7500枚比特币当垃圾扔掉,价值约2.4亿美元!
  2. 收藏 | 深度学习损失函数大全(附代码实现)
  3. 【Matlab】绘制3D 3维图
  4. cmd后台运行exe_windows 十大实用“运行”命令
  5. genymotion+android studio Android 搭建开发环境
  6. 同等条件下,杂交水稻是否增产?
  7. Linux系统提高编辑效率的vim工具重要知识
  8. 小程序快速入门:小程序的基本结构
  9. 专家提醒 IE下JS编程中需注意内存释放问题
  10. 视频播放控制:防盗链设置与视频加密及Android中的基础应用
  11. 『Others』markdown简历制作
  12. 01 为什么要学习计算机组成原理?
  13. matlab2016 dll,VS2012Matlab2016b dll文件混合编
  14. 如何预防恶意软件的攻击?10项防御措施来帮您!
  15. python游戏功能_python 游戏(龙的国度)
  16. 千川数据返回值解析(AES)解密
  17. Analyzing Crash Reports——分析崩溃报告之一
  18. jQuery - 基于当前元素的遍历
  19. TMC6300-LA:微型BLDC/PMSM驱动
  20. FeignClient调用超时处理方案

热门文章

  1. gps数据转odom
  2. Mysql数据库在多服务器集群的情况下如何保证数据同步?
  3. Wi-Fi6的发展介绍
  4. 介绍一款HCIA、HCIP、HCIE的刷题软件
  5. SAP 联产品 副产品
  6. PHPword 导出word设置不同样式
  7. ASP.NET 2.0中使用Gridview控件的高级技巧
  8. 亚马逊s3存储: aws cli上传工具速度和各文件大小关系探究
  9. mongodb去除重复的值
  10. 2022年“菲尔兹奖”,颁给了这四位年轻人