
内核学习
我代码抄都抄不明白
扣扣联系方式:1490900437
展开
-
彻底搞懂 windows页表自映射3
全家福。原创 2025-03-14 00:28:36 · 667 阅读 · 0 评论 -
windows IRQL
我们的 rootkit 项目的目标是访问共享的内核资源,同时确保在任何 CPU 上运行的其他线程都不会踩到我们的脚趾。在处理与 DPC 相关的任何内容之前,我们首先需要某种同步机制,它告诉我们所有 CPU 都以 DISPATCH_LEVEL 的速度运行,以及一种方法来向其他 CPU 发出信号何时退出无限 NOP 循环。在这个非常大的 for 循环中运行上述指令将有效地使系统在几秒钟内不可用,因此,作为故事的寓意,rootkit 在访问内核中的共享资源时应该很快。(代码的共享部分)时,它会获取互斥锁。翻译 2025-03-02 01:09:07 · 60 阅读 · 0 评论 -
X64 windows多核下IDT GDT 和TSS64的研究
pcr 可以用来查看 当前核的KPCR结构体,因为当前GS.base 保存的是Kpcr的基址!pcr 0 查看0号核!pcr 1 查看1号核其他类推。原创 2025-02-28 03:56:33 · 153 阅读 · 0 评论 -
windows--MmGetFileNameForSection
【代码】windows--MmGetFileNameForSection。原创 2025-02-28 03:47:56 · 200 阅读 · 0 评论 -
X64 硬件断点(指令断点)的研究
每个调试地址寄存器(DR0到DR3)都保存断点的32/64 位线性地址。断点比较是在物理地址转换发生之前进行的。调试寄存器DR7的内容进一步指定了断点条件。当启用调试扩展时(当控制寄存器CR4中的DE标志被设置时),调试寄存器DR4和DR5被保留,并且试图引用DR4和DRM5寄存器会导致无效的操作码异常(#UD)。当调试扩展未启用时(当DE标志清除时),这些寄存器被别名化为调试寄存器DR6和DR7。原创 2025-02-27 01:00:09 · 1124 阅读 · 0 评论 -
X64 TF位和Single-step单步调试的研究
如果在执行指令时,处理器检测到 EFLAGS 寄存器中的 TF 标志被设置,则会生成单步调试异常。该异常属于陷阱类异常,因为异常是在指令执行之后生成的。处理器不会在设置 TF 标志的指令之后立即生成此异常。例如,如果使用 POPF 指令设置 TF 标志,则单步陷阱不会发生,直到 POPF 指令后面的指令执行之后。RF标志的主要功能是允许在指令断点条件导致的调试异常后重新启动指令。在这里,调试软件必须在堆栈上的EFLAGS映像中设置此标志,然后才能使用IRETD返回中断的程序(以防止指令断点导致另一个调试异原创 2025-02-26 03:05:39 · 1105 阅读 · 0 评论 -
X86_64位下的GS寄存器
在 64 位模式下,段机制通常(但不是完全)被禁用,从而创建一个平坦的 64 位线性地址空间。处理器将 CS、DS、ES、SS 的段基地址视为零,从而创建一个与有效地址相等的线性地址。FS 和 GS 段是例外。这些段寄存器(保存段基地址)可以作为线性地址计算中的附加基地址寄存器,用于寻址本地数据和某些操作系统数据结构。原创 2025-02-25 00:00:28 · 427 阅读 · 0 评论 -
64位TSS中还有隐藏的坑
TSS的值不是静态的,他是随时改变的原创 2025-02-24 02:49:35 · 153 阅读 · 0 评论 -
彻底理解页表自映射2
页表自映射基址原创 2025-02-19 04:42:54 · 735 阅读 · 0 评论 -
windows驱动程序中获取物理内存大小
驱动程序获取物理内存大小原创 2025-01-19 16:17:06 · 237 阅读 · 0 评论 -
windows内核 中关键区 和 保护区 函数理解
例程进入关键区 暂时禁用正常内核 APC 的执行,但不阻止特殊内核 APC 的运行。例程进入受保护的区域,这会禁用所有内核模式 APC 传递到当前线程。原创 2024-12-22 01:19:00 · 169 阅读 · 0 评论 -
windows 自旋锁的实现
【代码】windows 自旋锁的实现。原创 2024-12-20 23:41:54 · 257 阅读 · 0 评论 -
windows 调试器模型
原创 2024-12-18 01:02:49 · 427 阅读 · 0 评论 -
windows的RemoveHandles函数bug
如果节点2满足要求需要删除,那么windows进行的操作是。那么Node1 将丢失。原创 2024-12-03 22:04:56 · 393 阅读 · 0 评论 -
WINDOWS 单链表SLIST_ENTRY使用
【代码】WINDOWS 单链表SLIST_ENTRY使用。原创 2024-12-02 23:42:29 · 429 阅读 · 0 评论 -
R3-->DbgUiConvertStateChangeStructureWorker
内核层将DEBUG_EVENT(未公开结构)转换到DBGUI_WAIT_STATE_CHANGE (未公开结构),在ntdll中再次将DBGUI_WAIT_STATE_CHANGE转换成用户层DEBUG_EVENT(公开结构)原创 2024-12-02 04:25:14 · 148 阅读 · 0 评论 -
PsGetCurrentThreadTeb()
【代码】PsGetCurrentThreadTeb()原创 2024-11-30 02:39:28 · 141 阅读 · 0 评论 -
DbgkForwardException
【代码】BOOLEAN DbgkForwardException( IN PEXCEPTION_RECORD64 ExceptionRecord, IN BOOLEAN DebugException,原创 2024-11-29 22:32:02 · 125 阅读 · 0 评论 -
KdIsThisAKdTrap函数
【代码】KdIsThisAKdTrap函数。原创 2024-11-29 02:46:29 · 299 阅读 · 0 评论 -
win10 -->DbgkpSendApiMessage
【代码】win10 -->DbgkpSendApiMessage。原创 2024-11-21 01:20:48 · 132 阅读 · 1 评论 -
KTHREAD结构-->ApcState
1. ApcListHead[2]2.KernelApcInProgress原创 2024-11-08 02:50:05 · 178 阅读 · 0 评论 -
线程多次KeStackAttachProcess后APCstate的状态
原创 2024-11-06 05:46:37 · 128 阅读 · 0 评论 -
KPROCESS结构-->ReadyListHead
当线程企图附加到一个进程时,会将该线程从。进程的就绪线程链表中。原创 2024-11-06 05:10:15 · 261 阅读 · 0 评论 -
DISPATCHER_HEADER结构-->Type
【代码】DISPATCHER_HEADER结构-->Type。原创 2024-11-06 03:49:09 · 155 阅读 · 0 评论 -
KiMoveApcState函数作用示意图
原创 2024-11-06 00:33:47 · 139 阅读 · 0 评论 -
KTHREAD结构-->TEB
在切换线程时,修改了FS=3b时的断描述符的base,这样 在3环的时候,fs:0永远都是TEB结构体的指针。这里并不是修改FS寄存器的值。原创 2024-11-03 13:45:55 · 269 阅读 · 0 评论 -
KTHREAD--InitialStack和KernelStack和TSS的esp0
【代码】KTHREAD--InitialStack和KernelStack和TSS的esp0。原创 2024-11-03 00:08:33 · 230 阅读 · 0 评论 -
KPRCB结构之GroupIndex
原创 2024-11-02 02:23:16 · 105 阅读 · 0 评论 -
KPRCB结构之ReadySummary和DispatcherReadyListHead
请参考 _KTHREAD *__fastcall KiSelectReadyThread(ULONG LowPriority, _KPRCB *Prcb)原创 2024-11-02 01:15:42 · 295 阅读 · 0 评论 -
从一个双向链表中移除一个链表
【代码】从一个双向链表中移除一个链表。原创 2024-11-02 00:50:07 · 233 阅读 · 0 评论 -
PsQuerySystemDllInfo逆向
wow64的dll type 为0。返回值为上面的结构体指针。原创 2024-07-07 01:23:47 · 465 阅读 · 0 评论 -
Ethread结构体介绍(未完待更新)
StartAddress 总是 ntdll!RtlUserThreadStart(在win7下的3环线程)Win32StartAddress 等于 imagebase+entrypoint(基址 +程序入口点)原创 2024-07-06 01:38:11 · 342 阅读 · 0 评论 -
DbgkpQueueMessage x64逆向 win7 &win10
原创 2024-07-04 23:54:23 · 285 阅读 · 0 评论 -
ObTypeIndexTable 在win7x86 和win10x64对比
_ObTypeIndexTable全局数组的使用原创 2024-06-18 22:22:50 · 300 阅读 · 0 评论