版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、工具介绍OLLDbg调试器,什么是OLLDbg?OllyDbg是一个带有可视化界面的用户模式调试器。它结合了动态调试和静态分析,并有一个强大的反汇编引擎。它可以识别成千上万个由C和Windows使用的函数,注释它们的参数,并自动分析函数过程、循环语句、代码中的字符串等。让我们了解OllyDbg的接口,显示被调试程序的反汇编代码,并显示当前选中线程的中央处理器寄存器内容。显示在反汇编窗口中选择的第一个命令的参数、一些跳转目标地址、字符串等。并显示内存或文件的内容。显示当前线程的堆栈,在反汇编窗口的列中,双击效果:地址列:显示相对于被点击地址的地址,再次双击返回标准地址模式;十六进制数据列:设置或
2、取消无条件断点,对应的快捷键为F2键;反汇编列:调用汇编程序,可以直接修改汇编代码;注释栏:允许添加或编辑注释,对应的快捷键为“;”键,我们在调试中经常使用这些快捷键:F2:设置断点,只需在光标位置(上图中的灰色条)按F2键,再按F2键,断点F8:一步一步删除。每次按下此键,您将在反汇编窗口中执行一条指令。如果您遇到子程序,如调用,您将不会输入其代码F7:一步到位。该函数类似于逐步(F8),但不同的是,当遇到一个子程序,如调用,它将进入它。进入后,它将首先停留在子程序F4的第一条指令:运行到选定的位置。功能是直接运行到光标位置暂停F9:运行。如果按下此键没有设置相应的断点,被调试程序将直接开始
3、运行CTR F9:从执行到返回。当执行ret(返回指令)命令时,该命令被挂起,ret(返回指令)命令通常用于从系统空间返回到我们调试的程序空间ALT F9:执行用户代码。它可以用来从系统空间快速返回到我们调试的程序空间。如何加载程序?单击菜单文件-打开(快捷键为F3)打开一个可执行文件进行调试,然后单击菜单文件-附加附加一个正在运行的进程进行调试。请注意,此处附加的程序必须已经在运行。基本操作:1 .准备工作我们以Traceme为例,了解Traceme序列号的验证过程;2.加载调试目标文件,并在运行OllyDbg后打开选项/调试设置。程序运行后,系统空间中会触发一个INT3、文件入口点和Win
4、main()函数入口点,但通常是在文件入口点。加载文件,如图:虚拟地址,机器码:由中央处理器执行的机器码,汇编指令:对应机器码的程序码,3。单步跟踪,调试器最基本的功能之一是动态跟踪。单步跟踪功能键:F7和F8的区别在于,F8会在遇到CALL时直接跳过,而F7会跟随。设置断点,这是一个调试器。它可以在需要的地方中断程序,所以分析起来很方便。常用的断点是int3,其原理是OllyDbg将断点处的代码设置为INT3指令。方法:将光标移动到要设置断点的行,然后按F2键进行设置,或者双击十六进制数据列。目的:运行时可以在断点处停止软件,便于重复跟踪和调试。当程序关闭时,OllyDbg会将设置的断点保存
5、在UDD文件中,该文件在下次运行时有效。调试分析:调试分析实际上是分析程序代码的含义,如图所示:在阅读这些代码时,我们应该首先了解API函数的定义和那些汇编代码的具体含义。6.保存修改后的文件,我们在那里修改它,然后右键单击并将其复制到文件中,以保存当前的修改。现在让我们给你一个简单的例子。要破解TraceMe的注册码,操作步骤如下:首先,当然要加载TraceMe。加载后,将出现以下窗口和文件入口点。然后,我们需要找到GetDlgItemTextA函数,因为程序需要从文本框中读取内容。我们使用Ctrl+G打开表达式后面的窗口,并在其中输入函数名来跟踪函数名存在的位置。注意:此时的空域是模块US
6、ER32,它是某个时刻中央处理器的CS:EIP指向的代码的所有者。然后,在USER32的空域中,按下77D6B05E代码行中的F2,断开断点,然后按下F9运行。然后输入下图:点击检查,可以看到程序在断点处被OD停止,如图:然后按Alt F9返回到用户代码,可以返回:注意:这是返回到TraceMe的空域,我们可以按Alt B调出断点窗口,然后把GetDlgItemTextA的断点改为禁止,那么下一个断点就是004011AE。因为GetDlgItemTextA函数在这里被调用,然后这些汇编代码的含义将被分析,我们在使用这个软件时必须理解这些代码的含义。现在我们只知道这个软件的功能,所以我们不会对每
7、个人都做分析,然后我们会修改代码。事实上,如果我们分析它,我们可以发现问题在于代码行- 004011F5,修改这个反汇编代码段,双击反汇编列,按空格键,键入NOP,单击assembly,最后运行F9,您会看到:这里有一些常用的汇编代码含义供分析:MOV传输单词或字节,如MOV A B,也就是说,将B中的单词传递给A PUSH,将单词推到堆栈上,调用子程序, 调用异或指令进行异或运算,即所谓的异或运算,即如果两个值不同,则为真,否则,return指令的比较为假RET子程序。 (减去两个操作数,只修改标志位,不返回结果)JNZ(或JNE)opr-结果不是零传输,测试条件ZF=0 DEC减1 INC加1 JZ(或je)opr-结果是零传输,测试条件ZF=1 SUB减去LEA并加载有效地址示例: LEA DX,字符串;将偏移地址保存到DX。当使用CX/ECX0时,重复和操作测试。(两个操作数做and运算,只修改标志位,不返回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年低空感知数据质量评估与清洗规范
- 2026年飞秒激光直写技术应用手册
- 2026届吉林省长春二道区七校联考初三1月联考化学试题试卷含解析
- 2026年钢铁流程数字孪生工厂工艺模拟应用
- 2026年浙江省宁波市南三县初三毕业班第一次模拟考试化学试题含解析
- 四川省达州市渠县2026年初三适应性监测考试生物试题含解析
- 2026年全球生物类似药市场规模与竞争格局分析
- 浙江省慈溪育才中学2026届统一招生5月调研化学试题试卷含解析
- 2026年硫化物厚度探测系统精细勘探作业指南
- 2026年老人数据采集最小必要原则落地与知情同意机制
- DB23∕T 3242-2022 秸秆固化成型燃料站设计技术规范
- 政治学专业理论毕业论文
- 生菜课件教学课件
- GB/T 15072.4-2025贵金属合金化学分析方法第4部分:钯含量的测定
- 安全防护用品使用培训课件
- 5年(2021-2025)高考1年模拟化学真题分类汇编专题12 化工流程综合题(北京专用)(解析版)(北京专用)
- 心电图试题及答案-心电图试题50题及答案
- 《管理学》(第二版)课件全套 高教版马工程 第0-16章 绪论 - 组织变革与创新
- 缝纫术语详细讲解
- 肿瘤品种医药代表业绩汇报
- 矿业可持续供应链管理-洞察及研究
评论
0/150
提交评论