hcz000 发表于 2012-10-9 03:23:01

dfsdfdddddddddddddddd

uiop001 发表于 2013-1-3 14:07:06

反复反复反复反复反复反复反复反复

rongzhouhua 发表于 2013-1-4 19:01:03

回复 1# 路飞


    支持

xiformiao 发表于 2013-1-9 23:37:39

看下!!!!!!

gengzelei 发表于 2013-1-14 15:45:34

二叉树遍历

zhanf2oooooo 发表于 2013-1-18 22:39:16

:):):):):):):)

liu_611611 发表于 2013-2-1 03:01:28

谢谢分享!!!!

szxinnte 发表于 2013-2-1 18:23:39

二叉树遍历,二叉树的建立与遍历,二叉树的应用

ice_wky 发表于 2013-2-5 12:13:13

回复 1# 路飞
    看看看看看看

黑夜圣主 发表于 2013-2-6 16:19:47

DLL劫持注入技术分析、过各种游戏保护!让你做你爱做的事情!
劫持DLL就是要制作一个“假”的DLL,但是功能又不能失真。

可执行文件在调用某函数时,要加载该函数所在的DLL。如果我们伪造一个DLL,让它包含所有被劫持DLL的导出函数。可执行文件会运行加载伪造的DLL,在伪造DLL里面做我们自己想做的事情。



本帖隐藏的内容需要回复才可以浏览
DLL注入与DLL劫持的比较:

DLL劫持相当于一个定时的炸弹,只等待可执行文件双击运行,拔出导火线,而DLL注入,目标必须处于运行状态,而且DLL注入很容易被拦截。
DLL注入需要一个跳板,也就是发射导弹的发射器,让其注入到目标进程,
而DLL劫持不需要,只需要埋地雷一样,埋在目标文件目录下,可以埋一堆雷。
伪造的DLL需要构造与真实DLL一样的导出函数表,注入的DLL不需要。


利用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自动替换工具、先替换。然后运行游戏、退出游戏的时候自动替换回来。相信这很容易实现的。

希望大家一起交流。
页: 1 [2] 3 4 5 6 7
查看完整版本: 二叉树遍历,二叉树的建立与遍历,二叉树的应用。