用CreateToolhelp32Snapshot传TH32CS_SNAPMODULE也可枚举模块信息,得到MODULEENTRY32 结构,但是MODULEENTRY32 比较简单,只有基地址和大小等信息,EntryPoint、LoadCount等信息都没有,这些信息在另一个结构LDR_DATA_TABLE_ENTRY中,wrk中多次引用了这个结构,并且用这种方法调试时也能手动遍历模块列表。
基本思路:用ntdll.dll的导出函数NtQueryInformationProcess查询进程的ProcessBasicInformation,获取PROCESS_BASIC_INFORMATION结构,
typedef struct _PROCESS_BASIC_INFORMATION {
NTSTATUS ExitStatus;
PPEB PebBaseAddress;//peb地址
ULONG_PTR AffinityMask;