能力值:
( LV3,RANK:30 )
|
-
-
2 楼
补充下,调用Nt版的也不成功,错误代码为C0000005
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
ULONG size = 0x200;
PVOID codes = 0;
ntStatus = ZwAllocateVirtualMemory(hProcessHandle, &codes, 0, &size,
MEM_COMMIT, PAGE_EXECUTE_READWRITE);
ULONG * args = (ULONG *)((ULONG)codes+0xD0);
args[0] = ulBase; //base
args[1] = 5; //size
ULONG ret1 = NtProtectVirtualMemory((HANDLE)-1, (PVOID *)&args[0], &args[1], PAGE_EXECUTE_READWRITE, &args[2]);
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
请问下你的NtProtectVirtualMemory函数地址是如何获取的?
我在代码中是这样获取的:
PNtProtectVirtualMemory NtProtectVirtualMemory= NULL;
ULONG addr = 0x89*4 + (ULONG)KeServiceDescriptorTable.ServiceTableBase;
NtProtectVirtualMemory = (PNtProtectVirtualMemory)*(PULONG)addr;
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
windbg调试一下吧 我这好好的
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
是在用windbg调试。
怪怪的,,我再排除一下其他原因
|
能力值:
( LV3,RANK:30 )
|
-
-
8 楼
继续追问,你用的NtProtectVirtualMemory地址是如何获得的?
|
能力值:
( LV3,RANK:30 )
|
-
-
9 楼
求解答啊!望各位大牛不吝赐教!
|
|
|