x64 MiIsAddressValid分析

在这里插入代码片
 MiIsAddressValid proc near              ; CODE XREF: RtlpWalkFrameChain+13Ap
                             ; MmAccessFault-6DB6Dp ...
     mov     rax, rcx
     sar     rax, 30h        ; 右移0x30,48位
     inc     rax
     cmp     rax, 1
     ja      _unValid        ; 1),剩下的16位,位0000,或者ffff;
                             ; +1后,变成1,和0
                             ; 大于1 跳转,高位是其它数据,无效地址
     mov     rax, rcx
     mov     rdx, 0FFFFF6FB7DBED000h
     shr     rax, 27h        ; 右移动39位,16+9(PML4)
     and     eax, 1FFh       ; 高的16位设置为0
     test    byte ptr [rdx+rax*8], 1 ; 2),判断PML4T的p位是否为0
                             ; test xxx,0x01,取第0位
                             ;
                             ; xx
     jz      short _unValid
     mov     rax, rcx
     mov     rdx, 0FFFFF6FB7DA00000h
     shr     rax, 1Bh        ; 右移27位16 9 9 9 9 12
                             ; 本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值