上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 22 下一页
摘要: 1. 双击变量 2. 按D转换类型(Word、Byte、Dword) 3. 按U删除变量名 4. 按N修改变量名 阅读全文
posted @ 2019-11-17 22:00 OneTrainee 阅读(3805) 评论(0) 推荐(0)
摘要: IDA系统自动注释的,如果按 ';',则不会修改成功。 应该按 Shift + ; 这样才可以修改。 阅读全文
posted @ 2019-11-17 21:32 OneTrainee 阅读(499) 评论(0) 推荐(0)
摘要: 该函数由 DbgUiConnectToDbg(ntdll.dll)函数 调用。 其调用时传入的参数如下: 函数作用:初始化被调试的内核对象,将被调试对象句柄放入调试对象的 [fs:f24]处。 1.现在我们了解到 [FS:F24]处存放的是被调试程序的调试对象句柄。 2.当被调试程序中断时,其会发送 阅读全文
posted @ 2019-11-17 20:43 OneTrainee 阅读(963) 评论(0) 推荐(0)
摘要: 暂时未解决问题: 1. [fs+0F24h]中存储着什么东西。 答案:其存放着被调试程序的DbgObject句柄。_NtCreateDebugObject(ntoskrnl.exe)函数逆向分析 该函数作用: 创建调试对象,将被调试对象加入到句柄,并将被调试对象放在fs:F24h。 该函数只是简单构 阅读全文
posted @ 2019-11-17 18:51 OneTrainee 阅读(610) 评论(0) 推荐(0)
摘要: KiRaiseException函数是记录异常的最后一步,在这之后紧接着就调用KiDispatchException分发异常。 我们在逆向前,先看一下书中的介绍: 1. 概念认知: KiRaiseException 可以被看作 “处理前的最后一次异常记录”,异常记录的目的是:完善异常处理信息,在派发 阅读全文
posted @ 2019-11-16 12:14 OneTrainee 阅读(599) 评论(0) 推荐(0)
摘要: 在逆向_KiRaiseException(之后紧接着就是派发KiDispatchException)函数时,遇到一个 KeContextToKframes 函数,表面意思将CONTEXT转换为 TRAP_FRAME,但传进去的参数着实有点多,所以简单逆向一下这个函数。 因为能力有限,我们借助WRK源 阅读全文
posted @ 2019-11-16 10:59 OneTrainee 阅读(540) 评论(2) 推荐(0)
摘要: 今天在逆向时看到一个指令 "and esp, 0FFFFFFF8",则自然为 "111····1000",将末尾置位0. 考虑到应该是栈对齐,但是感觉二进制数基础不太好,有些欠缺,这不会破坏原来栈中的数据么? 我们继续来思考,这样进行的结果如何?结尾只能是8或0,如果为8则变为0.只有这一种情况能破 阅读全文
posted @ 2019-11-16 09:57 OneTrainee 阅读(584) 评论(4) 推荐(0)
摘要: 书中内容: 代码逆向: 1. CONTEXT是保存之前的函数(RaiseException)状态 2. 在逆向上一个函数时产生一个疑问:EXCEPTION_RECORD.ExceptionAddress 为什么仅填写了一个偏移? 答案:在该函数中,填写成 [ebp+4],上一个函数的返回地址。 阅读全文
posted @ 2019-11-15 23:31 OneTrainee 阅读(1482) 评论(0) 推荐(0)
摘要: 书中内容: 代码逆向: 存在一个疑问:为什么在ExceptionAddress本来是错误产生代码的地址,但这里给存入一个_RaiseException的偏移地址。 答案在下个函数中:rtlRaiseException函数的逆向 阅读全文
posted @ 2019-11-15 21:48 OneTrainee 阅读(726) 评论(0) 推荐(0)
摘要: 看书中给出的内容: 1:在栈中构建 EXCEPTION_RECORD 结构体 2. 根据函数传递参数逆推得到 "判断先前模式"的反汇编代码 阅读全文
posted @ 2019-11-15 20:55 OneTrainee 阅读(658) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 22 下一页