mark_9527 发表于 2021-4-10 09:07

有没有大佬研究过内存DLL的hook

有没有大佬研究过内存DLL的hook,应该如何实现内存DLL的hook呢

Hellsing 发表于 2021-4-10 09:22

傻瓜适回答
比喻C++ 写DLL 必须在软件加上挂钩DLL函数INIT
读取地址 然后写内存 即可

xie83544109 发表于 2021-4-10 09:37

{:1_923:}
不会哟,学习大佬们的方法吧

不乖啊 发表于 2021-4-10 09:52

不知道啥意思,dll hook有啥用啊

yywapj 发表于 2021-4-10 09:52

我只会看看{:1_896:}

kanlai 发表于 2021-4-10 09:56

不乖啊 发表于 2021-4-10 09:52
不知道啥意思,dll hook有啥用啊

有些功能是dll实现的啊

hszt 发表于 2021-4-10 09:58

通过主程序得到内存dll的某个地址,然后计算需要hook的地址

锦年 发表于 2021-4-10 12:31

   一般都是定位一些动态的基址要HOOK啊有些会放在它的寄存器EAX EBX ECx +里面去但是有些功能的call 要HOOK

mark_9527 发表于 2021-4-10 19:29

Hellsing 发表于 2021-4-10 09:22
傻瓜适回答
比喻C++ 写DLL 必须在软件加上挂钩DLL函数INIT
读取地址 然后写内存 即可

请教一下大佬,常规的hook是LoadLibraryA获取DLL的句柄,但在内存中如何获取到呢

Hellsing 发表于 2021-4-11 11:55

mark_9527 发表于 2021-4-10 19:29
请教一下大佬,常规的hook是LoadLibraryA获取DLL的句柄,但在内存中如何获取到呢

用OD打开EXE 查找LoadLibraryA 模块 就可以

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
        if ((fdwReason == DLL_PROCESS_ATTACH))
        {
                DWORD OldProtect;
                VirtualProtect((LPVOID)(0x00401000), 34560512, PAGE_EXECUTE_READWRITE, &OldProtect);

#if defined CHANGE_LANGUAGE
                ChangeLanguageBeforeLoad();
#endif

                _thread = _beginthreadex(NULL, 0, &CheckGuardIT, NULL, 0, NULL);
        }
        return TRUE;
}
页: [1] 2
查看完整版本: 有没有大佬研究过内存DLL的hook