摘要:
【太多事情要做了,这部分难度对我来说又很大,先写一下大体框架,到时候具体函数逆向分析过程给写出来】 问题: 1. 内存断点的实现思路是什么? 2. 操作系统检测的流程是什么? 3. 如何设置与恢复内存断点? 1. 内存断点的设置 内存断点分为两类:访问断点与写入断点。 其本质是调用 VirtualP 阅读全文
摘要:
【太多事情要做了,这部分难度对我来说又很大,先写一下大体框架,到时候具体函数逆向分析过程给写出来】 问题: 1. INT 3 断点,操作系统检测到的处理流程是什么? 2. 系统设置的INT 3 断点我们应该如何处理? 3. 调试器如何下INT 3 断点? 4. 调试器如何恢复 INT 3 断点? 1 阅读全文
摘要:
【太多事情要做了,这部分难度对我来说又很大,先写一下大体框架,到时候具体函数逆向分析过程给写出来】 问题: 1. 被调试器如何表明是否处理了异常? 2. 异常处理器是什么? 3. 如果异常到最后都没有被处理,那应该怎么办? 1. 调试器是否处理异常的标志 调试器使用 WaitForDebugEven 阅读全文
摘要:
当我们分析到 "int n;",说明其已经定义了一个变量,之后又遇到一个 "n=3",我们从哪里去找这个n并且赋值呢? 答案是:通过我们定义的 变量表(Table) 中查找。 其实,这变量声明定义与变量赋值一系列动作,都是由语义分析器负责的。 1. 当扫描到一个声明语句,比如 "string x;" 阅读全文
摘要:
如下图: 其在 common.h 中定义了一个变量a ,然后在两个 cpp 文件中都是用它。 在这种情况下,链接时就会出现 “找到一个或多个多重定义的符号”。 解决方案: 在某个cpp文件中定义,然后在 common.h 中是用 extern 在外部声明这个变量。 建立:变量的定义建立放在cpp中, 阅读全文
摘要:
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 调试事件的收集 一、被调试程序发送的第一个事件 - INT 3 断点 如果测试这个程序(一个简单的创建被调试进程的案例),会发现当调试程序被创建时,其发送的第一个事件 阅读全文
摘要:
1. 点亮函数名 2.view - open subviews - cross references 注意:不要点击绘图那个 阅读全文