Ring3进程内核句柄查看工具,参照xuetr部分功能

易语言 2020-04-01 10:16:29

Ring3进程内核句柄查看工具,参照xuetr部分功能

清除数组 (Object)
进程提权 (“SeDebugPrivilege”)
ItsHandle = OpenThread (位或 (1024, 16), 0, dwTID)
.如果真 (ItsHandle = 0)
返回 (“”)
.如果真结束
pbuffer = VirtualAlloc (0, 4096, #MEM_COMMIT, #PAGE_READWRITE)
ZwQuerySystemInformation (#SystemHandleInformation, pbuffer, 4096, BufferSize)
aryBuffer = GlobalAlloc (64, BufferSize)
Status = ZwQuerySystemInformation (#SystemHandleInformation, aryBuffer, BufferSize, BufferSize)
HandleCount = 取字节集数据 (指针到字节集 (aryBuffer, 4), #整数型, )
.变量循环首 (0, HandleCount, 1, i)
temp = 指针到字节集 (aryBuffer + 16 × i + 4, 16)
CopyMemory (pHandleInfo, temp, 16)
.如果真 (pHandleInfo.Handle = ItsHandle)
加入成员 (Object, pHandleInfo.Object)
.如果真结束
处理事件 ()
.变量循环尾 ()
retrun = 取十六进制文本 (Object [取数组成员数 (Object)])
retrun = 选择 (取文本长度 (retrun) < 8, “0x” + 取重复文本 (8 - 取文本长度 (retrun), “0”) + retrun, “0x” + retrun)
GlobalFree (aryBuffer)
VirtualFree (pbuffer, 0, #MEM_RELEASE)
CloseHandle (ItsHandle)