我遇到了一些 C++ 注入困难。我正在使用 Win 7 x64,VS 2010
这是我尝试运行的完整代码:http: //pastebin.com/avKS3r22
我的问题:
第 62 行。
dwSize = (DWORD)iCodeEnd - (DWORD)iCode; //subtract the function from the limiter to obtain the function's size
如果 iCodeEnd 是 0x01151570 并且 iCode 是 0x01151490,为什么 dwSize 应该是 224 或 0xE0 时等于 4294966986(我认为这是 DWORD 的最大值)?是否需要为我的项目设置任何特定属性(我创建了一个没有 Unicode 的空 win32 项目)?
第 92 行。
if(!(hRemoteThread = CreateRemoteThread(hProcess, NULL, 0, HREAD_START_ROUTINE)lpAddr, prmAddr, 0, NULL)))
如果我手动将 dwSize 设置为 224,我会收到“无法创建远程线程!”。我对 dwSize 的值有误吗?或者是别的什么?
请注意:这是我的第一个 C++ 应用程序(请提供更详细的答案)。代码不是我的,我只是重写它以学习基础知识。原始版本在我的平台下运行良好。