【发布时间】:2017-04-28 05:38:40
【问题描述】:
我对 DLL 注入非常陌生,出于好奇这样做,因为我想在游戏中创建一个覆盖,而不修改他的源代码。
但现在,我坚持使用基本的 DLL 注入:使用 CreateRemoteThread() 的那个。
我遵循了这个教程(法语,小心): http://xevia.webege.com/old/atoray/2010/06180.php
我做了什么:
- 在基本程序 Target.exe 上注入工作正常(参见 Xevia 的链接)
- 我可以看到 DLL 由使用 EnumProcessModules() 的进程加载
- 在Target.exe中注入后,可以看到我的“Hook.dll”已经添加了。
- [编辑] 检查 exe 版本:记事本和我的注入器都是 32 位的
但是当我在其他进程中注入 dll 时,它似乎不起作用,即使 CreateRemoteThread() 不返回 NULL。
所以我检查了很多帖子,包括这个:How do I prevent DLL injection
还有这个:C++ - CreateRemoteThread DLL Injection [Windows 7](试过绝对路径,没有成功)
还有许多其他人,无法真正指出哪里出了问题。所以我召唤了神。
1) 会不会是访问权限问题?
2) 会不会是我的注射方法,太经典了?我应该尝试哪一个?
3) [主题问题] 为什么我的 dll 没有通过 CreateRemoteThread 注入到记事本中?
感谢您的宝贵时间。
[对任何语法/公式编辑开放]
【问题讨论】:
-
你是用了dll的绝对路径还是只用了dll的名字?
-
我尝试了绝对路径和相对路径。他们都在我自己的“target.exe”上工作,但在“notepad++.exe”上都没有。还检查了 x64/x86 版本。
标签: c++ dll-injection createremotethread