MFC 远程代码注入导致进程崩溃,求解
如题,调用的是这篇文章的代码:http://blog.csdn.net/hyy829903/article/details/12272717
void InjectCode(DWORD dwProcId, LPVOID mFunc, LPVOID Param, DWORD ParamSize)
{
HANDLE hProcess;//远程句柄
LPVOID mFuncAddr;//申请函数内存地址
LPVOID ParamAddr;//申请参数内存地址
HANDLE hThread; //线程句柄
DWORD NumberOfByte; //辅助返回值
CString str;
//打开被注入的进程句柄
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcId);
//申请内存
mFuncAddr = VirtualAllocEx(hProcess, NULL, 128, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
ParamAddr = VirtualAllocEx(hProcess, NULL, ParamSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
//写内存
WriteProcessMemory(hProcess, mFuncAddr, mFunc, 128, &NumberOfByte);
WriteProcessMemory(hProcess, ParamAddr, Param, ParamSize, &NumberOfByte);
//创建远程线程
hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)mFuncAddr,ParamAddr, 0, &NumberOfByte);
WaitForSingleObject(hThread, INFINITE); //等待线程结束
//释放申请有内存
VirtualFreeEx(hProcess, mFuncAddr, 128, MEM_RELEASE);
VirtualFreeEx(hProcess, ParamAddr, ParamSize, MEM_RELEASE);
//释放远程句柄
CloseHandle(hThread);
CloseHandle(hProcess);
}
但是,为什么还是会这样??


难道远程线程函数 有问题??求大神解答!!!!
...全文
相关推荐
VS2010基于MFC开发的软件崩溃快速找bug以及如何优雅崩溃
本上传资源包含:完整项目源码、封装好的异常处理类源码、基于 VS2010 开发的 Release 版本软件异常崩溃后快速定位 bug 相关方法详细文档说明、操作说明,工程不需要额外的库即可运行。
远程注入线程实例代码
向远程进程注入代码实例,展示了向其它进程注入代码并在其它进程中创建一个线程
32位_C++_MFC_远程超级HOOK_vs2022_进程名获取进程句柄_字符串转字节集
远程HOOK目标程序,回调到自己窗口显示数据,可及时获得数据,非注入模式. 函数实现:进程名获取进程句柄,地址反写,字符串转字节集,类的封装.
进程崩溃自动重启
进程崩溃自动重启
卸载远程进程中的DLLVC源代码
代码演示了如何卸载远程进程中正在使用的DLL。 关键字:卸载DLL


