知识大全 .Net 虚拟框架的实现原理
Posted 框架
篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 .Net 虚拟框架的实现原理相关的知识,希望对你有一定的参考价值。
.Net 虚拟框架的实现原理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Net 虚拟框架的实现原理
前面介绍了利用第三方虚拟环境来实现 Net程序脱离框架运行 并介绍了如何自己编写加载器程序 今回我们介绍虚拟框架的核心实现原理 感兴趣的朋友可以参考自己实现 在让 Net 程序 脱离 framework框架 运行(源代码实现说明) 中我们介绍的脱离框架运行的方法 仍然需要依赖 rsdeploy dll 才行
今回我们就介绍这个 dll 的实现原理
简单的实现方式
首先我们需要用到一个 undocumented features
在dll被加载时 设置环境变量 PLUS_InstallRoot 为当前dll所在目录
另外复制 c \\windows\\\\framework\\v 或者 v 到 dll
所在目录
把mscoree dll 以及crt运行库放到 dll目录中
在dll目录中创建一个本地的 GAC 目录 再把 需要的 GAC assemblies 复制进去
这样子就 OK 了 简单的 Net程序就可以在这个环境中运行了
如果是复杂的程序 还需要实现一个虚拟注册表系统
对于我们虚拟框架这个应用来说 只需要实现一个只读的虚拟注册表就OK了
这个实现可以 ring 也可以 ring 考虑到兼容性 直接用ring 实现好了
实现方式可以使用 api hook的方式 即在我们的dll加载时 hook advapi dll 中所
有Reg开头的函数 虚拟注册表系统的框架就完成了 剩下的就是实现了
这段时间忙着做DNGuard的官方网站 英文的基本完工了
中文的还没做 现在还得开发一个网站的客户中心
等网站的事结了 就发布DNGuard hvm的专业版 在之后看看时间上的安排 有空的话
会考虑自己实现一下这个虚拟框架 做一个小工具出来
这个虚拟框架最核心的就是 设置环境变量 PLUS_InstallRoot
虚拟注册表系统只是一个扩展
cha138/Article/program/net/201311/11608相关参考
.Net中如何操作IIS的虚拟目录原理分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
.NET基础知识-.NET框架 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!NET框架 NET框
ASP.NET虚拟主机在显示文件时的隐患浅析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! AS
由虚拟现实所建立的可视、可触、可闻的虚拟世界已不再是梦想,将成为21世纪工业、商业、科技、个人的重要工具。虚拟现实摆脱了剧院的舞台、电视屏幕的实体框架,使你视野广阔
.NET框架类小结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一基本概念 NET框架(Fr
知识大全 让.Net 程序脱离.net framework框架运行
让.Net程序脱离.netframework框架运行 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
VB.NET如何在没有.NET框架的机器上运行 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 制
Microsoft.NET框架资源基础 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要Chr
.NETWeb开发震撼之变:.NETMVC框架 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
.NET框架中的Factory模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Factory