-
-
[原创]X64系统中WIN32程序应用层拦截驱动层交互的通杀方案
-
发表于:
2018-3-20 17:55
8763
-
[原创]X64系统中WIN32程序应用层拦截驱动层交互的通杀方案
X64系统中WIN32程序应用层拦截驱动层交互的通杀方案(WIN7x64测试通过)
在X64的时代,为了兼容WIN32程序的运行,使用了特殊的处理机制,https://bbs.pediy.com/thread-225175.htm这个帖子做了详细介绍,各位看官可以先脑补一下。
今天要讨论的问题是在一个应用的内部利用应用层(R3)HOOK来拦截驱动层(R0)调用的通杀方案,他能实现的效果是:
1、一个HOOK通杀所有。
2、R3层拦截驱动调用,可以篡改传递的参数。
3、可以修改驱动调用后的返回信息。
4、可以自己构造驱动返回信息而不调用驱动直接返回。
下面我们来看看是如何做到的:
Win32时代的 KiFastSystemCall大家应该不陌生,他是R3通过R0的一条道路,但在X64系统上WIN32程序中已经看不到他的影子,我们来看看变成什么样子了,如下图
我们会看到,首先是EAX,这个我理解成函数编号,ECX,我也理解成小编号,关键是call dword ptr fs:[C0],我们CTRL+G进入这个地址看看:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2018-3-20 17:58
被xjj编辑
,原因: