-
-
[求助]修改PTE,PDE的问题
-
发表于:
2010-4-11 11:00
6651
-
各位兄弟请帮忙看看,这是我在一段驱动中使用的代码,其中pMem=0X7c80ae30,即GetProcAddress的虚拟地址,通过以下代码分别获取到了PDE和PTE的地址,然而用MmIsAddressValid后的返回值却为0。
ulPDE = (((ULONG)pMem)>>22)*4+0xC0300000;
ulPTE = (((ULONG)pMem)>>12)*4+0xC0000000 ;
bPDE = MmIsAddressValid((PVOID)ulPDE);
bPTE = MmIsAddressValid((PVOID)ulPTE);
DbgPrint("MmIsAddressValid return value is %d PDE Address is 0X%08X ,it's value is 0X%08X\n", bPDE, ulPDE, *(PULONG)ulPDE);
DbgPrint("MmIsAddressValid return value is %d PTE Address is 0X%08X ,it's value is 0X%08X\n", bPTE, ulPTE, *(PULONG)ulPTE);
为什么???
我是想修改PTE的值,但以上的代码得出的地址用MmIsAddressValid调用返回值为0,高手帮忙,感激不仅
[课程]Android-CTF解题方法汇总!