- 注册时间
- 2013-12-24
- 最后登录
- 1970-1-1
该用户从未签到
|
发表于 2013-12-24 16:15:27
|
显示全部楼层
利用AheadLib帮助您构造导出函数表
很多可利用的DLL都包含有很多导出函数,手工添加相当累。AheadLib可以自动生成导出函数。
现在假设你要劫持ABCD.DLL。他会生产一个CPP文件。这CPP文件中包含了,该DLL的所有导出函数。其形式如下:
ALCDECL AheadLib_FuncName(void)
{
GetAddress("FuncName"); //获得真实的DLL中FuncName函数地址
__asm JMP EAX; //跳到真实DLL中FuncName函数地址执行}
然后,构建一个DLL工程,工程名就取名为ABCD,然后直接拿那个CPP去编译运行。要加功能的话,就直接在DLLMAIN中添加你想做的事情。
// 入口函数
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, PVOID pvReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
//////////////////////////////////////////
// do what you want to do
/////////////////////////////////////////
Load();//这个函数主要是加载真实DLL,为获取导出函数地址嘛~
}
else if (dwReason == DLL_PROCESS_DETACH)
{
Free();
}
return TRUE;
}
做完后,你就把它生成DLL,拷贝到你想要蹂躏的进程的安装目录中,它一运行就自动加载你的DLL了。
最后你也可以用编程写一个DLL自动替换工具、先替换。然后运行游戏、退出游戏的时候自动替换回来。相信这很容易实现的。 |
|