1 Star 1 Fork 1

蛋蛋 / SuperDllHijack

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README-zh_CN.md 1.44 KB
一键复制 编辑 原始数据 按行查看 历史
anhkgg 提交于 2020-04-04 12:48 . fixed bug in #2

SuperDllHijack

一种通用Dll劫持技术,不再需要手工导出Dll的函数接口了,so easy!

使用方法:

编写一个和劫持目标Dll同名的dll(如target.dll),原始dll改名为其他名字(如target.dll.1),在DllMain种调用SuperDllHijack接口完成劫持。

更新:

2020年4月4日

  1. 修正x64获取peb的bug。感谢@yves-yl@kiwings@6769

更多使用请看example代码。

VOID DllHijack1(HMODULE hMod)
{
	TCHAR tszDllPath[MAX_PATH] = { 0 };

	GetModuleFileName(hMod, tszDllPath, MAX_PATH);
	PathRemoveFileSpec(tszDllPath);
	PathAppend(tszDllPath, TEXT("target.dll.1"));

	SuperDllHijack(L"target.dll", tszDllPath);
}

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
		DllHijack(hModule); break;
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}

技术细节请看博客:https://anhkgg.com/dllhijack/

https://mp.weixin.qq.com/s/Nx4C2mx94V9vhvU8Eqfobg
https://bbs.pediy.com/thread-248050.htm

支持作者

img

1
https://gitee.com/snikeguo/SuperDllHijack.git
git@gitee.com:snikeguo/SuperDllHijack.git
snikeguo
SuperDllHijack
SuperDllHijack
master

搜索帮助