高难度的hook问题——进程创建时的side-by-side处理
时间:2011-12-14
来源:互联网
我做了个应用层的沙盒工具。在Ring3级实现了文件和注册表的监视,并把创建动作重定向到了另外一个盘符中。可以通过监视并重定向VC90的运行库(如MFC90U.dll)的安装路径。例如将C:\WINDOWS\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_3bf8fa05\mfc90u.dll重定向到D:\SandBox\Driver_C\Windows\WinSxS\x86_Microsoft.VC80.MFC_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_3bf8fa05\mfc90u.dll,但出现了问题:
监视一个依赖MFC90U.DLL的可执行文件Test.exe。MFC90U.DLL可以在Test.exe的输入表中看到。
创建进程Test.exe时,CreateProcess内部会使用CsrClientCallServer通知csrss.exe对Test.exe依赖的side-by-side(MFC90.dll)进行解析,若主机WinSxS目录未安装VC90库,则提示应用程序配置不正确。
问题:如何使Test.exe顺利加载我D盘MFC90U.DLL?
注:1. VC90的运行库使用side-by-side方式部署在C:\Windows\WinSxS等相关目录中。
2. side-by-side是微软用来解决DLL HELL问题的一种方法。
3. 最好不要远程注入csrss.exe。很容易导致蓝屏哦
监视一个依赖MFC90U.DLL的可执行文件Test.exe。MFC90U.DLL可以在Test.exe的输入表中看到。
创建进程Test.exe时,CreateProcess内部会使用CsrClientCallServer通知csrss.exe对Test.exe依赖的side-by-side(MFC90.dll)进行解析,若主机WinSxS目录未安装VC90库,则提示应用程序配置不正确。
问题:如何使Test.exe顺利加载我D盘MFC90U.DLL?
注:1. VC90的运行库使用side-by-side方式部署在C:\Windows\WinSxS等相关目录中。
2. side-by-side是微软用来解决DLL HELL问题的一种方法。
3. 最好不要远程注入csrss.exe。很容易导致蓝屏哦
作者: gobest28 发布时间: 2011-12-14
csrss.exe如果没有什么方式给你修改,那你很难做redirect
作者: oyljerry 发布时间: 2011-12-14
是否可以装载时修改manifest
作者: Lactoferrin 发布时间: 2011-12-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28