【问题标题】:asm: Call a DLLasm:调用 DLL
【发布时间】:2011-09-13 13:23:24
【问题描述】:

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

游戏中可能有一个函数可以告诉我 DLL 所在的当前目录路径,但我想我不会找到它。

【问题讨论】:

  • 什么游戏?你到底想完成什么?

标签: dll assembly reverse-engineering


【解决方案1】:

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

如果 DLL 进行任何其他 Win32 调用,它可能已经链接到 kernel32.dll,这就是您需要做的所有事情。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      相关资源
      最近更新 更多