asm:调用DLL

时间:2011-06-12 21:07:01

标签: dll assembly reverse-engineering

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

游戏中可能有一个函数给我目前DLL的目录路径,但我想我找不到它。

2 个答案:

答案 0 :(得分:3)

您要查找的来电为LoadLibrary,会在selection of places including the current directory中搜索DLL,然后加载,然后GetProcAddress

如果DLL进行任何其他Win32调用,它可能已经与kernel32.dll链接,那么这就是你需要做的全部。

关于修改DLL或使用DLL injection在编写代码所需的时间方面是否更快是有争议的,因为无论如何你将不得不进行逆向工程,然而,纯粹的一个优点是DLL注入是所有现有代码在安装方面保持不变,如果用户希望“解开”你正在做的任何事情,这些修改更容易撤消。

答案 1 :(得分:3)

Microsoft Detours附带setdll.exewithdll.exe,这些实用程序可让您使用自定义dll文件启动exe。