DWORD GetKernel32Base() { DWORD dwKernel32Addr = 0; __asm { push eax; mov eax,dword ptr fs:[0x30] //eax = address of peb mov eax,[eax+0x0C] //address of PEB_LDR_DATA mov eax,[eax+0x1C] // mov eax,[eax] mov eax,[eax+0x08] mov dwKernel32Addr,eax pop eax } return dwKernel32Addr; } DWORD GetGetProcessAddressFuncAdd() { DWORD dwFuncAddr = 0; return dwFuncAddr; }