系统安全C/C++汇编 [2021]Windows PatchGuard KiErrata671Present 在一次偶然中我发现了KiErrata671Present,它这个看起来长这样: ![](https://key08.com/usr/uploads/2021/08/1055346649.png) 人畜无害 但是看调用: ![](https://key08.com/usr/uploads/2021/08/1257889702.png) 第一眼看不出什么 让我们慢慢解释一下: ![](https://key08.com/usr/uploads/2021/08/1678044808.png) 请注意,ida反汇编的代码是没有try和catch的,在汇编里面,你可以看得到如下的代码: ![](https://key08.com/usr/uploads/2021/08/1437456579.png) 通俗的解释一下 1.去掉页面保护 2.给KiErrata671Present + 0x2的位置写0xC3 让其从1返回为0 3.执行KiErrata671Present 4.恢复页面保护 这样做会有什么效果: 一些hypervisor中的EPT/NPT hook技术会让页面读写执行分离实现无痕hook,如果在有EPT/NPT HOOK的情况下并且这个函数正好与某些保护页面在同一页的情况下,第2步(给KiErrata671Present + 0x2的位置写0xC3 让其从1返回为0)不会被写入执行页面,导致执行结果依然是1,从而让其检测到hypervisor,不过这也只是猜测,因为目前有几个不确定: 1. 这个是1809的东西,为什么目前没有1809的ept hook出错的报告 2. 这个东西是如何调用的,会在哪调用,哪些页面会有这个东西,目前来说并不知道 阅读全文 2021-08-18 huoji 5 条评论
系统安全二进制安全汇编 [2021]PatchGuard的 sub_1403DA6F0 回调研究(二) [上一文章](https://key08.com/index.php/2021/06/28/1190.html "上一文章") 中,我们介绍了PG的回调,本篇文章将会大概介绍一下这个回调所调用的sub_1403DA6F0的一些内容: 阅读全文 2021-08-01 huoji 0 条评论
[2021]windows10 patchguard 分析研究(版本:1803) [Tetrane_PatchGuard_Analysis_RS4_v1.00.pdf](https://key08.com/usr/uploads/2021/01/3960607802.pdf) 阅读全文 2021-01-09 huoji 0 条评论