ollydbg原理分析~硬件断点与int3

今天继续接着上次的分析,来继续分析OD原理,这次先分析OD最基本的功能,断点,单步和运行到指定位置。

类似的文章前辈们已经写了很多了,这里只是将前辈们的思路实践了一下,顺便加入一点自己的理解和认识!

一般载入OD之后,往往大家会先下断点,或者直接单步运行。

一般当我们着手分析一个程序的时候总是会下一个INT 3断点,其实这个就是F2的原理

随便载入一个程序,点一下F2,然后用ollydbg保存的时候,发现提示说是文件未被修改,其实这个也能理解,因为我们按下F2的时候,程序还没被运行,所以dump下来吧,但是dump需要要求程序连同f2能够断下,所以改一下程序:



构建一个这样的死循环,这样,程序在运行的时候会一直在013B2165前运行,而断点在后,内存中断点被记录,所以dump下来就可以看到程序的变化

Dump下重新加载:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ollydbg是一个用于动态调试的工具,它可以在执行过程中对程序进行单步调试。单步步过是指逐条执行程序,并在每条指令执行完毕后暂停,以便观察和分析程序的行为。 实现单步步过的原理如下: 1. 载入目标程序:首先,ollydbg会加载目标程序的可执行文件,并将其加载到调试器的内存中。 2. 设置断点:接下来,ollydbg会根据用户的需求,在程序的某个位置设置断点断点是在指定的内存地址上插入一个中断指令,当程序执行到该地址时,会触发中断,使程序暂停执行。 3. 单步执行:当断点设置完成后,ollydbg会开始执行程序。当程序执行到断点位置时,会触发中断,使程序停止执行,并将控制权交还给ollydbg。 4. 显示当前指令:ollydbg会显示当前指令的相关信息,包括指令的机器码、操作数、寄存器状态等。用户可以根据需要查看这些信息,以便进行调试和分析。 5. 用户输入命令:ollydbg在每次程序暂停时等待用户输入命令。用户可以通过命令来控制程序的执行,例如继续执行下一条指令、跳过当前指令、修改寄存器值等。 6. 继续执行或跳转:根据用户输入的命令,ollydbg会相应地继续执行程序或跳转到指定的位置。如果用户选择继续执行,程序会继续执行下一条指令;如果用户选择跳转,程序会跳转到用户指定的地址。 通过以上步骤,ollydbg可以实现单步步过的功能,帮助用户进行程序调试和分析。需要注意的是,ollydbg是一个强大的工具,但在使用过程中需要谨慎操作,以免对目标程序造成不可逆的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值