我正在尝试学习 dll 注入的基础知识,因此我创建了一个非常简单的 hello-world 类型的 DLL 和一个基于我在网上找到的代码的注入器。我找不到任何开箱即用的东西,所以我不得不做一些调整。
我在 64 位窗口上运行这些。我正在使用 Visual Studio 2010 进行编译。注入器是一个 win32 控制台应用程序,dll 也是 win32。我正在尝试将我的代码注入现有的记事本进程(也是 32 位)。所有这些都在 Windows 7 x64 上运行。
当我运行注入器时,它每次都失败CreateRemoteThread
,GetLastError
返回 5(即ERROR_ACCESS_DENIED
)。我已经确认 dll 路径是正确的(尽管将其更改为虚假路径会产生相同的行为),并且我已经确认该路径正在使用Cheat Engine在正确的地址写入记事本的内存。我遇到了困难,因为我不确定如何进一步调试问题。
什么可能导致 CreateRemoteThread 失败?