1, 用IDA打开psapi.lib,每次只能查看一个文件,很麻烦,而且这里面的函数都调用了外面的导入函数,而这些导入函数来自于
下面是enumprocess的的实现,里面重要的函数就是NtQuerySystemInformation,使用5号功能枚举信息。
OD中无法枚举到游戏进程跟这个函数有关。
2,在pchunter没有查看到对NtQuerySystemInformation的挂钩信息,所以我自己重写了这个函数。
最后enumProcess就可以枚举到游戏进程的ID了
在IDA中,
.text:76BC3A9A public EnumProcesses
.text:76BC3A9A EnumProcesses proc near ; DATA XREF: .text:off_76BC119Co
.text:76BC3A9A push 1Ch
.text:76BC3A9C push offset dword_76BC3BC8
.text:76BC3AA1 call sub_76BC1601
.text:76BC3AA6 mov esi, 8000h
.text:76BC3AAB mov [ebp-1Ch], esi
.text:76BC3AAE push esi
.text:76BC3AAF mov edi, ds:LocalAlloc
.text:76BC3AB5 jmp short loc_76BC3ADC
.text:76BC3AB7 ; ---------------------------------------------------------------------------
.text:76BC3AB7
.text:76BC3AB7 loc_76BC3AB7: ; CODE XREF: EnumProcesses+4Dj
.text:76BC3AB7 push 0 ; ReturnLength
.text:76BC3AB9 push dword ptr [ebp-1Ch] ; SystemInformationLength
.text:76BC3ABC push ebx ; SystemInformation
.text:76BC3ABD push 5 ; SystemInformationClass
.text:76BC3ABF call ds:NtQuerySystemInformati