MFC 远程代码注入导致进程崩溃,求解

QPZME QPZME 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

如题,调用的是这篇文章的代码: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);
}
但是,为什么还是会这样??



难道远程线程函数 有问题??求大神解答!!!!
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
QPZME
VC/MFC 16,550 成员 421,606 内容