问题描述
|
我取消了游戏的DLL的安装,并想插入一些代码。
我需要asm代码来调用当前目录中的另一个DLL(我在Windows上)。
背景是,我希望能够在DLL中执行自定义代码,
但我无法加载DLL。所以我的想法是通过修改后的游戏DLL加载DLL。
游戏中可能有一个功能,可以给我DLL \的当前目录路径,但我想找不到它。
解决方法
您正在寻找的调用是LoadLibrary,它将在一系列位置中进行搜索,包括DLL的当前目录,然后将其加载,然后加载GetProcAddress。
如果DLL进行了其他任何Win32调用,则它可能已经与
kernel32.dll
链接了,所以这就是您需要做的一切。
关于修改DLL或使用DLL注入是否更快,这是有争议的,因为无论如何您都将不得不进行逆向工程,因此编写代码需要花费多长时间,但是,纯DLL注入的优点之一是现有代码在安装方面保持不变,因此如果用户希望“取消修补”您所做的任何操作,这些修改将更容易撤消。
, Microsoft Detours带有setdll.exe
和withdll.exe
,这些实用程序将使您可以使用自定义dll文件启动exe。