-
-
[求助]ZwWriteVirtualMemory写内存导致蓝屏
-
发表于:
2013-4-29 17:43
10415
-
[求助]ZwWriteVirtualMemory写内存导致蓝屏
RT
系统 WIN7SP1
我已经获取了目标进程的PID 然后用ObOpenObjectByPointer得到进程句柄
之后调用ZwAllocateVirtualMemory 在进程内申请空间
这一段都是我用DBGPRINT输出看过的,而且OD也看了一下 都是成功的
然后我想用ZwWriteVirtualMemory 向申请的空间内写入数据
结果写入必蓝 我详细的看了一下参数 应该是没有问题
而且我也查看了一下我动态获取的ZwWriteVirtualMemory 也没问题。。
下面附上代码
希望各位兄弟可以给我指出问题所在,不胜感激~
#define SHELL_CODE_LENGTH 15
unsigned char szShellCode[] = "\x01\x02\x03\x01\x02\x03\x01\x02\x03\x01\x02\x03\x01\x02\x03";
HANDLE hProcess;
PVOID pFnShellCode = NULL;
ULONG uShellCodeSize = SHELL_CODE_LENGTH;
NTSTATUS ntRet = STATUS_SUCCESS;
ULONG uWirte = 0;
ObOpenObjectByPointer(pEProc, 0, NULL, 0, NULL, KernelMode, &hProcess);
DbgPrint("TarPID:%u--TarHandle:%08x", uTargetPID, hProcess);
ZwAllocateVirtualMemory(hProcess, &pFnShellCode, 0, (PSIZE_T)&uShellCodeSize, MEM_COMMIT, PAGE_READWRITE);
DbgPrint("VirtualAddress:%08x", pFnShellCode);
fnZwWriteVirtualMemory(hProcess, pFnShellCode, szShellCode, uShellCodeSize - 1, &uWirte);//这句一执行就蓝屏 泪奔了
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!