【发布时间】:2011-05-26 19:00:16
【问题描述】:
在 c++ 中,我想将多个 dll 挂接到一个进程。现在我使用CreateProcesswithdll(),它一次只能挂钩一个api。如何注入多个 dll?
我遇到了这个问题,因为 MS detours 要求我们将自定义 dll 命名为与原始 dll 相同,以便正确绕过 api 调用。因此,即使我可以在我创建的同一个 detour dll 中处理不同的 api 调用,我也需要有不同的名称来挂钩来自不同 api 的调用,这意味着我需要不同的 detour Dll。这也意味着我需要注入不同的 DLL。我说的对吗?
如果我对某些事情不清楚,我会尝试更清楚地呈现它:D
谢谢!
P.S:只是为了让我的问题更清楚。我需要在同一个进程中注入超过 1 个 dll。 CreateProcesswithdll() 创建一个新进程,其线程处于睡眠状态。在 detours 完成注入 dll 并设置 hooks 后,它会被唤醒。如果我想注入多个dll,我显然不能重复调用CreateProcesswithdll()
那我该怎么办??还是我对此的某些方面的理解有误?
【问题讨论】: