C++ - DLL 注入和调用函数

C++ - DLL injection and call function

本文关键字:调用 函数 注入 DLL C++      更新时间:2023-10-16

很长一段时间我都在努力为我的问题找到答案。

我有一个游戏DLL和一个程序。

DLL 我有一个改变游戏中某些东西的功能。(如果 DLL 注入到游戏中)。该程序是我的注射器。

我的问题是,注入后,如何手动调用 DLL 中的函数?

现在这个函数

在附加到游戏时被调用,但是如何从注入器调用这个函数呢?

是的,您可以在正在运行的进程上创建一个远程线程,并在该线程上转到您提到的函数。

为了调用该函数,您需要在目标进程中执行的代码。这就是游戏,但你想从注入器调用函数,这是一个不同的过程。目标进程中已有代码,即注入的 DLL。因此,获取注入的 DLL 以调用该函数。实现此目的的一些方法:

  1. 在目标进程中创建另一个远程线程,该线程调用 DLL 中定义的函数。然后,它可以在目标流程的上下文中做任何它喜欢的事情。
  2. 使用一些 IPC 机制(例如命名管道、套接字等)要求注入的 DLL 执行操作。
您必须将

符号(函数)从 dll 加载到程序中。

该符号将是可以调用的函数指针。 操作系统之间存在显着差异,因此我会搜索"从dll调用函数"以获取操作系统的示例。