![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
滴水中级上
滴水中级上的学习记录
qq_857305819
这个作者很懒,什么都没留下…
展开
-
APC挂入过程
APC结构原创 2020-10-14 19:08:16 · 370 阅读 · 0 评论 -
句柄表
使用OpenProcess后,句柄表的变化连续多次打开相同对象后,返回给三环的句柄的值是不同的,句柄表里面也会添加相应的值。通过句柄寻找内核对象第一步 :WinDbg使用命令 !Process 0 0 遍历所有进程第二步 :dt _EPROCESS +指定进程的地址第三步 :_EPROCESS+c4里面的值 就是句柄表位置的指针kd> dt _HANDLE_TABLE ...原创 2020-08-13 08:02:36 · 341 阅读 · 0 评论 -
全局句柄表
查找时需要把最低位清0PspCidTable存的是 _HANDLE_TABLE结构体的指针。最后通过索引找到的是_EPROCESS _ETHREAD 这种结构体本身,不需要+18h。最后的两个bit位要清0.如何判断找到的句柄类型是进程还是线程把找到的值减去18h,通过_OBJECT_HEADER结构体的TYPE 判断。练习二 通过全局句柄表遍历所有进程...原创 2020-08-13 08:02:21 · 512 阅读 · 0 评论 -
_KTRAP_FRAME
函数从3环到0环时的保存现场操作系统维护了一个结构 _KTRAP_FRAME ,在该结构里保存了一个线程3环的寄存器的值。每一个线程有一个该结构体Trap Frame是指中断、自陷、异常进入内核后,在堆栈上形成的一种数据结构。用来存储三环的寄存器。typedef struct _KTRAP_FRAME //Trap现场帧{ // ------------------这些是KiSystemService保存的--------------------------- ULONG DbgE原创 2020-06-12 20:30:04 · 1096 阅读 · 0 评论