C++:Dll 注入。为什么 CreateRemoteThread() 在记事本上失败?
C++ : Dll injection. Why CreateRemoteThread() fail on Notepad?
我对 DLL 注入还很陌生,出于好奇,因为我想在游戏中创建一个覆盖层,而不修改他的源代码。
但是现在,我仍然坚持基本的 DLL 注入:使用 CreateRemoteThread() 的注入。
我遵循了这个教程(法语,小心):
http://xevia.webege.com/old/atoray/2010/06180.php
我做了什么:
- 注入在基本程序上工作正常 Target.exe(参见 Xevia 的 link)
- 我可以使用 EnumProcessModules() 看到进程加载的 DLL
- 在Target.exe中注入后,可以看到我的"Hook.dll"已经添加了
- [编辑] 检查了 exe 版本:记事本和我的注入器都是 32 位的
但是当我在其他进程中注入 dll 时,它似乎不起作用,即使 CreateRemoteThread() 不 return NULL。
所以我检查了很多帖子,包括这个:How do I prevent DLL injection
还有这个:C++ - CreateRemoteThread DLL Injection [Windows 7](尝试了绝对路径,没有成功)
还有很多其他人,却无法真正指出哪里出了问题。所以我调用 SO-gods.
1) 会不会是访问权限问题?
2) 难道是我的注射方式太经典了?我应该尝试哪一个?
3) [题目问题] 为什么我的dll没有用CreateRemoteThread注入记事本?
感谢您的宝贵时间。
[对任何 grammar/formulation 编辑开放]
有效!
我需要更改的内容:
- 在 x86 中构建以匹配目标应用程序
- 使用绝对路径
我都做了,但是在 x86/x64 之间切换时忘记更改我的绝对路径...
感谢 Adrian Roman,他让我走上了正确的道路。
我对 DLL 注入还很陌生,出于好奇,因为我想在游戏中创建一个覆盖层,而不修改他的源代码。
但是现在,我仍然坚持基本的 DLL 注入:使用 CreateRemoteThread() 的注入。
我遵循了这个教程(法语,小心): http://xevia.webege.com/old/atoray/2010/06180.php
我做了什么:
- 注入在基本程序上工作正常 Target.exe(参见 Xevia 的 link)
- 我可以使用 EnumProcessModules() 看到进程加载的 DLL
- 在Target.exe中注入后,可以看到我的"Hook.dll"已经添加了
- [编辑] 检查了 exe 版本:记事本和我的注入器都是 32 位的
但是当我在其他进程中注入 dll 时,它似乎不起作用,即使 CreateRemoteThread() 不 return NULL。
所以我检查了很多帖子,包括这个:How do I prevent DLL injection
还有这个:C++ - CreateRemoteThread DLL Injection [Windows 7](尝试了绝对路径,没有成功)
还有很多其他人,却无法真正指出哪里出了问题。所以我调用 SO-gods.
1) 会不会是访问权限问题?
2) 难道是我的注射方式太经典了?我应该尝试哪一个?
3) [题目问题] 为什么我的dll没有用CreateRemoteThread注入记事本?
感谢您的宝贵时间。
[对任何 grammar/formulation 编辑开放]
有效!
我需要更改的内容:
- 在 x86 中构建以匹配目标应用程序
- 使用绝对路径
我都做了,但是在 x86/x64 之间切换时忘记更改我的绝对路径...
感谢 Adrian Roman,他让我走上了正确的道路。