原创 win10 1909逆向----MiLocateAddress(查找虛擬地址的VAD),再代碼實現。

//接下來用代碼實現,因爲懶,所以結構體能用就行,先上效果圖: 接着上代碼: /* 功能:通過虛擬地址找到VAD【Virtual Address Descriptor虛擬地址描述符】 */ #include <ntddk.h>

原创 win10 1909 逆向----NtAllocateLocallyUniqueId 分配一個本地唯一的標識符LUID

LUID就是指locally unique identifier,和GUID的要求保證全局唯一不同,LUID只要保證局部唯一,就是指在系統的每一次運行期間保證是唯一的就可以了。 以下是微軟官方定義  NtAllocateLocallyU

原创 win10 1909 逆向----ExpLookupHandleTableEntry(從句柄表裏尋找對象)

1。HANDLE是以4個字節爲倍數遞增,IDLE的PID爲0,SYSTEM進程的PID=4。 2.   PspCidTable爲全局句柄表,ObpKernelHandleTable爲內核句柄表,不是一個概念,但是和我上一篇文章如何解析內

原创 win10 1909 解析內核句柄表----ObpKernelHandleTable【目前只考慮兩層句柄表的解析,因爲懶】

因爲win10將句柄表加密了,寫個小工具來實現解密(因爲本人電腦句柄表是二層結構,所以只寫了二層結構實現,一層和三層可以自己實現): #include <ntddk.h> #include "Handle.h" VOID Unload

原创 win10 1909逆向----通過全局句柄PspCidTable,枚舉所有進程【目前只考慮句柄表爲兩層結構的解析,因爲懶】。

先看效果圖: 再放代碼: #include <ntddk.h> #include "Handle.h" VOID Unload(PDRIVER_OBJECT pDriverObject) { KdPrint(("end\n"));