2011-06-12 87 views
0

我拆开了一个游戏的DLL并想插入一些代码。 我需要asm代码来调用当前目录中的另一个DLL(我在Windows上)。 背景是,我希望能够在我的DLL中执行自定义代码, 但我无法加载DLL。所以我的想法是通过修改后的游戏DLL加载DLL。asm:调用一个DLL

游戏中可能存在一个函数,它给出了DLL的当前目录路径,但我想我不会找到它。

+0

什么游戏?你究竟想要完成什么? – Adam 2011-06-14 02:37:46

回答

3

您正在查找的电话是LoadLibrary,它将在selection of places including the current directory中搜索DLL,然后加载它,然后GetProcAddress

如果该DLL使其他Win32调用它可能已经链接到kernel32.dll,所以这就是你需要做的。

由于无论如何您都必须进行反向工程,因此修改DLL或使用DLL injection的速度在编写代码所需的时间上更快是有争议的,但纯DLL注入的一个优点是所有现有的代码在安装方面都保持不变,如果用户希望“修补”任何你正在做的事情,那么这些修改更容易撤销。

3

Microsoft Detours自带setdll.exewithdll.exe,这些实用程序将让你启动一个自定义的dll文件的exe文件。