软件逆向之OllyDbg调试器

article/2025/6/9 22:03:22

微信公众号:计算机与网络安全

OllyDbg是非常强大的ring3级的动态调试器,在没有源码的时它的作用就会非常明显,可以跟踪寄存器,识别进程和API调用等。同时它也有非常丰富的插件支持。OllyDbg的官网是http://www.ollydbg.de/,安装过程十分简单,只要下载压缩包,保存之后解压即可使用。推荐下载 OllyDbg1.10。解压后的文件如图1所示。双击OLLYDBG就可以运行了。

图1 OllyDbg解压安装文件

消息提示PSAPI.DLL,在OllyDbg中的版本低于系统中的同名版本。如果选择“是(Y)”就会把旧的库删除,所以选择“否(N)”,选择OllyDbg中自带的PSAPI.DLL,如图2所示。

图2 选择自带PSAPI.DLL

1. 界面

将HelloWorld.exe拖入OllyDbg。OllyDbg界面如图3所示。

图3 OllyDbg界面

下面是各个窗口的简单介绍。

  • 反汇编窗口显示程序的反汇编代码。窗口从左往右依次为地址、HEX数据、反汇编、注释。在调试的时候可以双击注释窗口添加注释,便于理解。
  • 寄存器窗口显示当前CPU寄存器的内容,在逆向分析时需要特别注意。
  • 信息窗口显示当前命令的一些参数,如字符串、目标地址等。
  • 数据窗口显示内存中的内容,右键数据窗口可以选择显示的不同方式。
  • 堆栈窗口显示当前线程的堆栈。在逆向分析时可以提供一些有用的信息。

2. 配置

(1)调整窗口

调整各个窗口大小只需要左键边框拖动到合适位置。重启OllyDbg就可以看到已经产生效果。

(2)界面设置

Udd目录:这个目录的作用是保存调试的信息。当用OllyDbg调试一个程序,可能会设置断点、添加注释。OllyDbg会生成一个.UDD文件方便下次调试。当没有设置这个目录时会在安装目录生成 UDD 文件。使用一段时间后,文件夹会变得很乱。在安装目录下新建一个UDD文件,在OllyDbg中设置目录Option→Appearanc→Directories里面设置UDD路径(绝对路径),如图4所示。

图4 UDD与Plugin路径

Plugin目录:这个目录用来存放插件。在安装目录下新建一个Plugin目录,在OllyDbg中设置目录,Option→Appearance→Directories里面设置Plugin路径(绝对路径)。建议安装一些中文搜索插件和StrongOD。插件可以使OllyDbg使用起来更顺手。在平时使用时也要注意插件的收集,如图4所示。

(3)调试设置

调试设置在Option→Debugging options中。默认配置已经可以较好地使用。新手一般不需要进行设置,建议在熟练掌后根据需求个性配置,如图5所示。

图5 调试设置

3. 加载程序

将要分析的程序拖到OllyDbg中即可开始分析,或可以通过File→Open选择准备分析的程序,如图6所示。

图6 加载程序

当然也可以加载已经在运行的程序,File→attach 然后选择想要分析的进程,如图7所示。

图7 加载进程

4. 基本操作

F2:在光标处设置断点,再按一次删除光标处的断点。

F4:运行到光标所在位置。

F7:单步步过,遇到CALL等函数会进入。

F8:单步步过,遇到CALL等函数会跳过,不进入。

F9:运行程序。

CTR+F9:执行到返回,会在第一个遇到的RET指令暂停。

ALT+F9:执行到用户代码,可以快速地从系统领空返回到程序领空。

查找字符串:在反汇编窗口右键Search for→binary string,可以查找ASCII、UNICODE、HEX。如果要查找代码里的所有字符串需要安装插件,如中文搜索或Ultra string reference,如图8所示。

图8 查找字符串

5. 断点

(1)普通断点

普通断点可以用F2或在命令栏用BPX命令来下断点。如图9所示,已经在push ebx下了断点,地址会变成红色。

图9 普通断点

对已经设置的断点进行设置,鼠标左键单击图9中的“B”(show breakpoint)或快捷键ALT+B,界面如图10所示。

图10 显示断点

右键单击空白处可对断点进行设置,如图11所示。

图11 断点设置

下面是命令的简单介绍。

Remove:删除断点。

Disable:禁用断点。

Edit condition:设置触发条件。

Follow in disassembler:在反汇编窗口显示断点。

Disable all:禁用所有断点。

Delete all breakpoint:删除所有断点。

在command里设置BPX断点,当运行到strcmp函数时就会暂停,如图12所示。

图12 运行至断点

(2)内存断点

设置断点后,当任何代码在指定内存地址读写执行都会触发异常。在数据窗口选择要下内存断点的部分,右键选择Break point,再选择Memory on access或Memory on write。内存断点不会出现在断点列表中,而且不能设置多个内存断点,设置第二个内存断点时会自动删除第一个内存断点。删除内存断点,右键数据窗口breakpoint→Remove memory break point,如图13所示。

图13 设置内存断点

(3)硬件断点(HBP)

可以设置4个硬件断点。设置了硬件断点的内存地址会被放入调试寄存器中,由调试寄存器中断发消息给OllyDbg。硬件断点可以对byte、word、dword下断点。设置方法参考内存断点。取消断点需要单击Debug→Hardware breakpoints,如图14所示,单击“delete”按钮。

图14 硬件断点

(4)条件断点

条件断点是普通的断点,不过需要在设置条件满足时才会中断。反汇编窗口在需要设置断点的地方右键breakpoint→conditional(快捷键shift+F2)然后输入条件,如图15所示,可以在断点列表里删除。

图15 条件断点


http://www.hkcw.cn/article/wJAlDcPhJj.shtml

相关文章

今天是麦兜29岁生日

香港著名卡通形象麦兜诞生于1995年6月22日,今天是麦兜29岁生日,不少香港市民和游客顶着烈日来到香港星光大道,在金色的麦兜雕塑和栏杆上的“蹄印”前“打卡”拍照。内地游客杨女士表示,第一次认识麦兜是看他向老板要鱼丸粗面的故事,这次来香港游玩也专门品尝了麦兜口中的鱼…

王羲之《兰亭序》全文 · 单字放大版(值得收藏)

一幅《兰亭序》,不尽古今情。公元353年4月22日(晋永和九年三月初三日),时任会稽内史的王羲之与友人谢安、孙绰等41人在会稽山阴的兰亭雅集,饮酒赋诗。 王羲之将这些诗赋辑成一集,作序一篇,以记述流觞曲水一事,并抒写由此而引发的内心感慨。 这篇序文就是《兰亭集序》。…

济南新增的这所大学,最新公示来了→

近日 济南将新增的一所大学 ——空天信息大学(筹) 发布诚聘海内外优秀人才公告 引发关注 公告中提到,学校聚焦空天信息领域,着重发展研究生教育,适度发展本科生和国际学生教育,规划招生规模10000人,其中本科生5000人、硕士研究生3000人、博士研究生2000人。学校有望在20…

《汽车级MEMS惯性测量单元(IMU)产品对比分析-2024版》

Automotive MEMS Inertial Measurement Units Comparison 2024 据麦姆斯咨询介绍,惯性测量单元(Inertial Measurement Unit,IMU)是测量物体姿态角(或角速率)以及加速度的装置。通常,IMU内部集成三轴陀螺仪和三轴加速度计,以及运动/姿态算法。为了提高可靠性,还可以为每…

55种朱顶红图鉴,毫不费力的美,让人一眼沦陷

始于颜值,终于品质。朱顶红毫不费力的美,却能让人一眼沦陷,当你更深入地了解它就会发现,除去美貌的光环,它的优秀品质更是难得。图源花友 姝姝图源花友 见云颜展开全文图源花友 孙旸图源花友 Lansly沁 广州 作为榜上有名的低维护、高回报植物,朱顶红爱爆花易产崽,如今已…

最新网坛排名!男网新王登基,德约跌至第3,阿卡第2;女网斯瓦泰克领跑,高芙第2,郑钦文中国第1,世界第8

随着2024年法网谢幕,6月11日,ATP(国际职业网球联合会)和WTA(国际女子网球协会)分别更新了最新的世界排名表。由于本届法网的“波澜壮阔”,本周世界排名表信息量不小。 此外,由于温布尔登网球公开赛、奥运会都将在即将到来的7月登场,世界网坛的风云变幻引发了各界关注。…

潮虫的危害及消灭方法,潮虫的危害曝光,消灭方法一网打尽!

近年来,随着城市化进程的加快和人们生活水平的提高,越来越多的人选择居住在高楼大厦中。潮虫的危害及消灭方法,然而,在这些舒适便利的居所中,我们也面临着一个不容忽视的问题——潮虫。 潮虫是一种常见于湿润环境中、以腐烂有机物为食物来源的昆虫。它们通常隐藏在墙壁、地…

革新界面设计:探索8款顶级App设计工具的独特功能

在如今的数字化时代,设计师也离不开各种界面设计软件来辅助自己的设计工作。在各种界面设计软件的帮助下,设计师们能够更好、更快地完成自己的设计工作。而今天本文要为大家推荐的这 8 款界面设计软件,分别是国产APP界面设计软件、Figma、Sketch、Adobe Photoshop、Adobe CC…

新学期新体验,南师图书馆欢迎你

《2023图书馆手册》新鲜出炉! 图书馆简介及入馆须知 馆藏资源与使用 图书馆咨询与服务 精彩的文化活动 …… 同学们可在各校区图书馆服务台 领取纸质版《2023图书馆手册》 带上你的《图书馆手册》开启全新旅程!展开全文http://lib.njnu.edu.cn/f/xssc/xssc.pdf 为了满足…

定了!温州机场扩建!将这样建→

规划货运区面积200多亩,可满足年32万吨货运量,是机场现有货运保障能力的近2倍。日前,温州机场三期扩建项目预可报告获国家发改委正式批复,标志着该项目前期工作取得重大突破,为项目开工奠定基础,也意味着温州机场正式开启新一轮建设发展行动,机场能级将实现新跃升。温州…

分享:10 个最佳建筑信息模型 (BIM) 工具

今日分享 【导读】建筑信息建模(BIM,Building Information Modeling)是一种用于建筑、工程和施工(AEC)行业的软件技术和流程。它通过创建和管理建筑项目的数字化表示,来增强设计、施工和运营的效率……建筑设计和建筑信息模型(BIM)软件是广泛应用于建筑和施工领域的计算…

原创谁顶得住!韩世雅的魅力无人能敌,看完她的写真,只想说太美了!

在这个看脸的时代,谁顶得住!韩世雅的魅力无人能敌,看完她的写真,只想说太美了!韩世雅,一个让人惊艳的名字,一个让人无法抗拒的魅力。她的美丽不仅仅是外表,更是内在美与外在美的完美结合。她的身材、锻炼、外貌、性感和内在美都让人叹为观止,让人忍不住想要一探究竟。…

原创西甲最贵球员榜单揭晓:皇马占据四席,亚马尔成巴萨“独苗”

在最新的西甲球员身价评估中,皇家马德里再次展现了其在转会市场上的强大影响力,占据了前五名中最耀眼的四席,而巴塞罗那的超级新星拉明亚马尔以惊人的身价脱颖而出,成为这份榜单中唯一的非皇马球员,其身价据著名转会网站德转(Transfermarkt)数据显示,已攀升至足够惊人的…

2024年摇号太难,如何合法得到北京车牌?

作为中国首都北京,对于基础建设除了房价高之外,另外还有一个经常被提起的话题,就是车牌——也就是机动车指标。自2011年开始实施北京小客车摇号指标开始,过去了十多年,2024年北京油牌指标中标率9400/1的一个数据下,大家又开始讨论:2024年摇号太难,如何合法得到北京车牌…

细数美国的那些节日

美国国家法定假日仅有10天,然而热爱自由的美国人怎么能够忍受如此稀少的节日假期,没有节日,可以创造节日,比如说情人节。但是,你能在日历上分辨出哪些节日是真的具有纪念意义,又有哪些是用来凑数的吗?在此盘点美国16个大型节日,来了解一下这些节日吧!1、感恩节(Thanks…

天津,最受欢迎的“十大”小吃!滋味,形态,各不同,你吃过几种

天津,这座历史与现代交织的北方名城,自古便是商贸繁荣之地,承载着深厚的文化底蕴与独特的风土人情。溯其源起,天津之名始于隋唐大运河的开通,彼时此地作为京杭大运河的重要节点,渐成舟楫往来、商贾云集之所。明清以来,天津更是凭借其战略位置,成为京畿门户,见证了中国…

个人怎样开通公众号,公众号注册,开通,起号,发文全流程详解

2024如果你也想开启自媒体之路,想注册一个公众号写写文章或者挣点零花钱,那可以马上行动起来,注册公众号很简单,十分钟就搞定了,难的是一直坚持每天发文,加油!也许它带给你的收入会超过你的主业。 一、注册微信公众平台账号 1. 网页搜索公众号,选择微信公众平台官网(mp…

什么是Solana(SOL)?一文详解!

Solana (SOL) 是一种加密货币,旨在与以太坊类似并改进以太坊。Solana 以南加州沿海小城市的名字命名,是软件开发人员 Anatoly Yakovenko 的心血结晶。 【Yakovenko】 于 2017 年首次提出这种创新区块链,Solana 于 2020 年 3 月推出。如今,SOL 已成为流行的加密货币,按总…

【请收藏】《大学》全文

《大学》出自《礼记》,原本是《礼记》四十九篇中的第四十二篇 《礼记》原名《小戴礼记》,又名《小戴记》,由汉宣帝时人戴圣根据历史上遗留下来的一批佚名儒家的著作合编而成。据断代史学家班固在“《记》百三十一篇”下自注云“七十子后学者所记也”,他认为《礼记》各篇的成…

工程师职称等级划分

来源:路桥隧动画 如有侵权,请联系删除 工程技术人才职称评价基本标准条件 一般有两种说法:第一种是初级工程师职称、中级工程师职称、高级工程师职称三个等级。第二种是初级工程师职称(技术员、助理工程师)、中级工程师职称、高级工程师职称(副高级、正高级)五个等级。当…