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