龙马谷

 找回密码
 立即注册

QQ登录

只需一步,快速开始

龙马谷VIP会员办理客服QQ:82926983(如果临时会话没有收到回复,请先加QQ好友再发。)
1 [已完结] GG修改器新手入门与实战教程 31课 2 [已完结] GG修改器美化修改教程 6课 3 [已完结] GG修改器Lua脚本新手入门教程 12课
4 [已完结] 触动精灵脚本新手入门必学教程 22课 5 [已完结] 手游自动化脚本入门实战教程 9课 6 [已完结] C++射击游戏方框骨骼透视与自瞄教程 27课
7 [已完结] C++零基础UE4逆向开发FPS透视自瞄教程 29课 8 [已完结] C++零基础大漠模拟器手游自动化辅助教程 22课
以下是天马阁VIP教程,本站与天马阁合作,赞助VIP可以获得天马阁对应VIP会员,名额有限! 点击进入天马阁论坛
1 [已完结] x64CE与x64dbg入门基础教程 7课 2 [已完结] x64汇编语言基础教程 16课 3 [已完结] x64辅助入门基础教程 9课
4 [已完结] C++x64内存辅助实战技术教程 149课 5 [已完结] C++x64内存检测与过检测技术教程 10课 6 [已完结] C+x64二叉树分析遍历与LUA自动登陆教程 19课
7 [已完结] C++BT功能原理与x64实战教程 29课 8 [已完结] C+FPS框透视与自瞄x64实现原理及防护思路
查看: 332|回复: 0

VT MSR Hook Syscall

[复制链接]

13

主题

8

回帖

25

积分

编程入门

Rank: 1

龙马币
36

VT Msr Hook Syscall

什么是系统调用
系统调用是内核提供给应用层的接口,比如在 win10x64 应用层打开一个应用,其实就是 explorer 调用了 CreateProcess,这个函数通过 NTDLL 调用表的 0xC8 号服务,执行 SYSCALL 进入内核。
内核从 SSDT 服务表确定了函数参数个数,复制到内核栈中,取出对应内核函数地址,再 CALL 这个地址。
执行创建进程的一系列操作后,用 SYSRET 返回到应用层,返回到调用 SYSCALL 的地方,这就完成了一次系统调用。

VT如何拦截系统调用
VT 不需要修改任何系统代码,只修改 MSR 寄存器,就可以达到 Hook 的目的。
MSR_LSTAR 这个特殊寄存器里存放的是 SYSCALL 的入口地址,我们只需要写个替换函数,把地址写入这个 MSR 即可完成挂钩,同时也要保存旧的 SYSCALL 地址。
PatchGuard 是微软的用来保护内核的模块,它会检查这个 MSR 是否被修改过,修改过会给个 109 蓝屏。
我们可以利用VT技术对读 MSR 进行拦截,如果它读取了这个 MSR 我们给它返回旧的 SYSCALL 地址,就可以欺骗 PatchGuard。

代码流程如下:
游客,如果您要查看本帖隐藏内容请回复



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

龙马谷| C/C++辅助教程| 安卓逆向安全| 论坛导航| 免责申明|Archiver|
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表龙马谷立场!
任何人不得以任何方式翻录、盗版或出售本站视频,一经发现我们将追究其相关责任!
我们一直在努力成为最好的编程论坛!
Copyright© 2018-2021 All Right Reserved.
在线客服
快速回复 返回顶部 返回列表