首页
社区
课程
招聘
[求助]进程获取自身虚拟地址的物理地址失败,为啥= =
发表于: 2019-3-20 14:10 3352

[求助]进程获取自身虚拟地址的物理地址失败,为啥= =

2019-3-20 14:10
3352
小宝的VT源码,尝试hook调用驱动的进程自身虚拟地址失败了(MmGetPhysicalAddress 返回0导致失败),hook其它进程没问题= =,流下了莫得技术的泪水
刚刚学习驱动,好多不懂的- -慢慢补吧



BOOLEAN HandleEvent_Hook(IN OUT PGUEST_REGS pRegs)
{
	NTSTATUS status = STATUS_SUCCESS;
	PEPROCESS proc;
	EPTHOOKITEM item;
	KAPC_STATE state;
	PHYSICAL_ADDRESS pa;
	ULONG uCPUID;
	ULONG64 uPID, uHookedAddr, uJmpAddr;
	int uItemID;
	
	uCPUID = KeGetCurrentProcessorNumber();
	uPID = pRegs->rbx;
	uHookedAddr = pRegs->rcx;
	uJmpAddr = pRegs->rdx;

	DbgPrint("PID = %llX  HookedAddr = %LLX JmpAddr = %llX\n", uPID, uHookedAddr, uJmpAddr);


	if (uHookedAddr == 0 || uJmpAddr == 0)
		goto Error;
	status = PsLookupProcessByProcessId((HANDLE)uPID, &proc);
	if (NT_SUCCESS(status))
	{
		DbgPrint("HOOK PID = %llX  HookedAddr = %LLX JmpAddr = %llX\n", uPID, uHookedAddr, uJmpAddr);
		
		CurFuckPID = (HANDLE)uPID;
		
		KeStackAttachProcess(proc, &state); // 这里必须切换进程,这样才能获取到真正的物理地址

		pa = MmGetPhysicalAddress((PVOID)uHookedAddr);
		if (!pa.QuadPart)//判断地址是不是为0,这里GG了,进程获取自身虚拟的地址的物理地址,返回值为0
		{
			DbgPrint("ERROR uHookedAddr, PhysicalAddress = %llX\n", pa.QuadPart);
			goto Error;
		}
			
		
		item.pPte = EptGetPteAddressByPA(pa);
		if (!item.pPte)
		{
			DbgPrint("ERROR pPTE\n");
			goto Error;
		}
			

		item.pHookedVA = (PVOID)uHookedAddr;
		item.pJmpVA = (PVOID)uJmpAddr;
		item.PID = CurFuckPID;
		uItemID = AddEPTHookItem(&item);
		if (uItemID == -1)
		{
			DbgPrint("ERROR uItemID == -1\n");
			goto Error;
		}
			

		KeUnstackDetachProcess(&state);

		KdPrint(("EPTHook %s[%d] 0x%llX --> 0x%llX\n", PsGetProcessImageFileName(proc), uPID, uHookedAddr, uJmpAddr));

		pRegs->rsi = uItemID;
		return TRUE;
	}

Error:
	pRegs->rsi = -1;
	return FALSE;
}


[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 3255
活跃值: (4399)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不在物理内存...
2019-3-20 17:26
0
雪    币: 665
活跃值: (1070)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
syser 不在物理内存...
请问,用其他进程切换进程过去,它又在物理内存里了,这是为啥,该怎么处理呢,一脸懵逼
2019-3-20 23:08
0
游客
登录 | 注册 方可回帖
返回
//