void HideDll()
{
HMODULE hMod = ::GetModuleHandle("MyHook.dll");
PLIST_ENTRY Head,Cur;
PPEB_LDR_DATA ldr;
PLDR_MODULE ldm;
__asm
{
mov eax , fs:[0x30]
mov ecx , [eax + 0x0c] //Ldr
mov ldr , ecx
}
Head = &(ldr->InLoadOrderModuleList);
Cur = Head->Flink;
do
{
ldm = CONTAINING_RECORD( Cur, LDR_MODULE, InLoadOrderModuleList);
//printf("EntryPoint [0x%X]\n",ldm->BaseAddress);
if( hMod == ldm->BaseAddress)
{
ldm->InLoadOrderModuleList.Blink->Flink =
ldm->InLoadOrderModuleList.Flink;
ldm->InLoadOrderModuleList.Flink->Blink =
ldm->InLoadOrderModuleList.Blink;
ldm->InInitializationOrderModuleList.Blink->Flink =
隐藏DLL模块( HideDll)
最新推荐文章于 2024-10-24 11:35:41 发布
本文详细介绍了在C/C++中如何实现DLL模块的隐藏加载与使用,旨在提高程序的安全性和隐蔽性,适用于对软件保护有较高要求的开发者。

最低0.47元/天 解锁文章
2725

被折叠的 条评论
为什么被折叠?



