注入一个DLL不能在Windows XP上运行

时间:2012-07-12 03:51:24

标签: c++ code-injection detours dll-injection

所以我试图制作一个注射器来注射我的dll使用Detours来挂钩游戏客户端,这很简单,但有一个问题我不知道它有什么问题它在{{1上工作正常但是没有在XP上工作......这是我的代码

Windows Vista+

都是用VC ++ 2010构建的,所以它应该可以工作但是在Windows XP上它会启动游戏但没有注入dll,Idk这里有什么问题!!

编辑: 我相信这是因为我的XP缺少MSVCR100D.DLL,有没有办法让我的dll不依赖它?

1 个答案:

答案 0 :(得分:0)

使程序不依赖于msvcr100.dll / msvcr100d.dll打开 项目属性 - >(配置属性) - >通用 - > MFC的使用 - >选择“在静态库中使用MFC”。 另外将配置设置为“Release”。默认为“Debug”。 现在重新构建它。

或者您可以将其保留为“共享”,默认情况下,只需将配置更改为“Release”并将msvcr100.dll添加到您的程序中。 (或安装Visual C++ 2010 Redistributable包)。发布版本需要更少的MB。

免费的Visual C ++版无法构建静态MFC。仅限Visual Studio Professional或以上版本的付费或warez版本。