转载 获得kernel32.dll基地址

获取kernel32.dll映像基址

 

很久不写关于技术的东西了,由于最近在研究内嵌汇编和机器码的注入,故把下面这段代码列出来。其中C/C++的部分和inline asm的最后一句是我写的。自评:极其缺乏原创精神。

HMODULE GetKernel32( void )
{
    HMODULE hRet = NULL;
    __asm
    {
        mov eax, fs:30h
        mov eax, [eax + 0ch]
        mov esi, [eax + 1ch]
        lodsd
        mov eax, [eax + 08h]
        mov hRet, eax
    }
    return hRet;
}

这段代码的功能是不借助于GetModuleHandle API获取kernel32.dll的模块句柄(映像基址),只适用于Win32 NT内核。

 

你可能感兴趣的:(转载 获得kernel32.dll基地址)