跪求 ollydbg实现 思路。
如题.. 本帖最后由 huowu1990 于 2021-10-22 11:05 编辑{:10_245:} 突然想到了鱼C, 突然看到自己的一个坑.. 哈哈哈哈。后面自己实现一个控制台的. 源码有机会再贴了。简单描述一下, 算是填坑了。
1. 调试事件: 查API(如: WaitForDebugEvent, ContinueDebugEvent) 等待进程的调试事件。GetThreadContext 获取上下文可得到很多信息(各寄存器, 栈等), 反汇编引擎(配合intel手册自己写,也有开源的)
2. 断点: 断点简单的理解就是不管什么方法, 你能让程序在目标地址停下来, 处理完后能让程序继续运行。
- 执行断点:可以填int 3(0xCC), 得在调试事件中好好处理这个异常
- 硬件断点: 我记得是由CPU提供的, DR0~系列的寄存器. 填上就能停。
- 内存断点: 设置内存保护, 正常访问时触发访问异常. 处理异常时即可得到上下文。 本帖最后由 漩涡鸣人 于 2015-7-2 17:53 编辑
huowu1990 发表于 2015-7-1 20:27
谢谢指教、
汇编肯定得先入门,对OD原理有兴趣的话,可以看下各种调试断点的原理。
其实断点的原理很简单,例如最简单的int 3替换实现内存断点,直接让对应程序执行到某个地址发生异常,然后调试器处理这个中断就好了。
资料推荐下看雪的kssd,这方面的文章不少,看下很快就能理解了。也可以自己写一个动态调试器练练手,难度不会太大。[反汇编原理和实现方面可以看看我那视频]
链接:
http://www.pediy.com/kssd/
(tips:逆向篇->动态分析技术,有你想要的资料) 描叙一下、主要想知道、获取寄存器的值、动态调试、获取汇编指令、断点等功能是怎么实现的、 你得先说
你懂多少
关于这方面的知识 :sad、 少、 汇编/Windows程序设计、 这些比刚刚入门的好一点点。 牡丹花下死做鬼 发表于 2015-7-1 16:26
你得先说
你懂多少
关于这方面的知识
、 少、 汇编/Windows程序设计、 这些比刚刚入门的好一点点。 最主要的是。想知道他的动态调试、反汇编怎么做的、 要是欠缺内功、可以只条明路也行。:sad huowu1990 发表于 2015-7-1 17:56
、 少、 汇编/Windows程序设计、 这些比刚刚入门的好一点点。 最主要的是。想知道他的动态调试、反汇编 ...
那我劝你好好学汇编 这事现在不用管 牡丹花下死做鬼 发表于 2015-7-1 20:05
那我劝你好好学汇编 这事现在不用管
那有什么推荐的资料吗? huowu1990 发表于 2015-7-1 20:16
那有什么推荐的资料吗?
入门的话 王爽的 在深入我就不知道了我那书还没看完呢
牡丹花下死做鬼 发表于 2015-7-1 20:24
入门的话 王爽的 在深入我就不知道了我那书还没看完呢
:handshake 谢谢指教、 漩涡鸣人 发表于 2015-7-2 17:51
汇编肯定得先入门,对OD原理有兴趣的话,可以看下各种调试断点的原理。
其实断点的原理很简单,例如最 ...
{:9_227:}谢谢、非常感谢、 这东西对我帮助很大、
页:
[1]