32位获取KERNEL32地址汇编代码PEB结构----枚举用户模块列表。
PEB地址的取得:
1:通过CreateProcess()创建新的被挂起的进程,此时其初始化线程上下文中,ebx 指向其PEB结构, EAX指向其EIP(代码执行地址)
demo:
CreateProcess(NULL, TARGETPROC,
NULL, NULL, 0, CREATE_SUSPENDED, NULL, NULL, &si, pi))
{
ctx->ContextFlags=CONTEXT_FULL;
GetThreadContext(pi->hThread, ctx); //获得线程的所有重要的寄存器CTX