-
-
内存访问失败
-
发表于:
2011-1-14 07:53
3501
-
ANSI_STRING p_str1,p_str2;
pProcess=IoGetCurrentProcess();
//将调用者的进程名保存到str1中
RtlInitAnsiString(&p_str1,(PCSZ)((ULONG)pProcess+0x174));
//将我们要比对的进程名放入str2
RtlInitAnsiString(&p_str2,DNF_EXE);
if(RtlCompareString(&p_str1,&p_str2,TRUE)==0) //到达这里出错
{
_asm
{
push dword ptr[ebp-38h]
push dword ptr[ebp-24h]
push p_ReturnAddress
mov eax,p_CallAddress
jmp eax
}
}
else
{
__asm
{ //到达这里出错
push dword ptr [ebp-38h]
push dword ptr [ebp-24h]
push p_ReturnAddress
mov eax,ObOpenObjectByPointerAddress
jmp eax
}
}
各位在非游戏进程访问NtOpenProcess
下面几句失败大家忙看看
失败
前面的跳转地址经过WINDBG写入成功
jmp到自己函数
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课