自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為你講解VB.NET虛擬框架原理

開發(fā) 后端
這里介紹了VB.NET虛擬框架,對dll的實(shí)現(xiàn)原理進(jìn)行詳細(xì)的分析,例如簡單的一個(gè)實(shí)現(xiàn)方式如首先我們需要用到一個(gè)undocumented features,在dll被加載時(shí),設(shè)置環(huán)境變量 COMPLUS_InstallRoot 為當(dāng)前dll所在目錄...。

虛擬這個(gè)詞語給人一個(gè)不真實(shí)的感覺,就好像看不見摸不著似的,對于向虛擬內(nèi)存,java中的虛擬機(jī)這些詞你能深入的理解?今天來解讀一下VB.NET虛擬框架的實(shí)現(xiàn)原理,先來介紹一下VB.NET吧。

大家都知道微軟公司推出的.NETFramework3.5SP1,自今年二月以來就已經(jīng)測試,還有Visual Studio 2008的SP1,這兩種產(chǎn)品都是新推出的,.NET Framework3.5在去年11月發(fā)布,而Visual Studio 2008在2008年2月發(fā)布。 微軟相關(guān)負(fù)責(zé)人表示,此次更新的特色和功能,不僅僅是修補(bǔ)漏洞,更是微軟軟件功能、特色的提升。 微軟一位發(fā)言人表示,.NET SP1增加一個(gè)新的功能,.NET Framework客戶端配置文件,能夠準(zhǔn)確識(shí)別安裝客戶所要的應(yīng)用程序,而不是籠統(tǒng)地安裝整個(gè)架構(gòu),這樣可以減小安裝文件的86.5%。

此外,.NET Framework3.5 SP1,將作20%至45%的改變與完善。對于Visual Studio 2008 SP1,微軟補(bǔ)充,也添加了對SQL Server 2008中的新日期的支持,提高WindowsPresentation Foundation的性能,方便客戶操作使用。 微軟相關(guān)負(fù)責(zé)人表示,這將是一個(gè)大的安全服務(wù)包。 對.NET的服務(wù)包,添加了許多功能,只有10%的改善,而90%都是添加新功能,可以修護(hù)許多錯(cuò)誤,是微軟新的工作重點(diǎn)。
Visual Studio 2008已經(jīng)很穩(wěn)定,當(dāng)然,此次對其更新,也受到客戶的歡迎。 .NET Framework3.5 servicepack和Visual Studio 2008 servicepack都可以從微軟許多相關(guān)網(wǎng)站下載,如TechNet和MSDN。

在讓.Net 程序脫離.net framework框架運(yùn)行(源代碼實(shí)現(xiàn)說明) 中我們介紹的脫離框架運(yùn)行的方法,仍然需要依賴rsdeploy.dll才行。今回我們就介紹這個(gè)dll的實(shí)現(xiàn)原理。

簡單的實(shí)現(xiàn)方式:首先我們需要用到一個(gè)undocumented features,在dll被加載時(shí),設(shè)置環(huán)境變量 COMPLUS_InstallRoot 為當(dāng)前dll所在目錄。

另外復(fù)制c:\windows\microsoft.net\framework\v1.14322或者v2.0.50727到dll所在目錄。把mscoree.dll 以及crt運(yùn)行庫放到dll目錄中。在dll目錄中創(chuàng)建一個(gè)本地的GAC目錄,再把需要的GAC assemblies復(fù)制進(jìn)去。 這樣子就OK了,簡單的.Net程序就可以在這個(gè)環(huán)境中運(yùn)行了。如果是復(fù)雜的程序還需要實(shí)現(xiàn)一個(gè)虛擬注冊表系統(tǒng)。對于我們VB.NET虛擬框架這個(gè)應(yīng)用來說,只需要實(shí)現(xiàn)一個(gè)只讀的虛擬注冊表就OK了。這個(gè)實(shí)現(xiàn)可以ring0 也可以ring3,考慮到兼容性直接用ring3實(shí)現(xiàn)好了。 實(shí)現(xiàn)方式可以使用api hook的方式,即在我們的dll加載時(shí)hook advapi32.dll 中所有Reg開頭的函數(shù)。虛擬注冊表系統(tǒng)的框架就完成了,剩下的就是實(shí)現(xiàn)了。

這段時(shí)間忙著做DNGuard的官方網(wǎng)站http://www.dnguard.net/ ,英文的基本完工了,中文的還沒做,現(xiàn)在還得開發(fā)一個(gè)網(wǎng)站的客戶中心。等網(wǎng)站的事結(jié)了,就發(fā)布DNGuard hvm的專業(yè)版。在之后看看時(shí)間上的安排,有空的話會(huì)考慮自己實(shí)現(xiàn)一下這個(gè)VB.NET虛擬框架,做一個(gè)小工具出來。 這個(gè)VB.NET虛擬框架最核心的就是設(shè)置環(huán)境變量COMPLUS_InstallRoot 。

虛擬注冊表系統(tǒng)只是一個(gè)擴(kuò)展。我們還可以再擴(kuò)展一下,增加一個(gè)虛擬文件系統(tǒng)。這樣就可以做成像 xenocode vas 那樣了。把整個(gè)程序部署成單一文件。

【編輯推薦】

  1. 剖析VB.NET CASE語句
  2. VB實(shí)例教程之教你如何制作多媒體程序
  3. 全面概括VB格式輸出函數(shù)Format的使用
  4. 程序員必看VB.NET CASE語句拓展篇
  5. 深入介紹VB.NET類庫 SmartRWLocker技巧
責(zé)任編輯:田樹 來源: 賽迪網(wǎng)
相關(guān)推薦

2009-11-03 10:30:47

VB.NET繼承

2009-11-10 13:03:45

VB.NET虛擬碼

2009-10-27 11:16:20

VB.NET應(yīng)用框架

2010-01-11 16:04:10

VB.NET使用wit

2009-10-20 10:16:24

VB.NET COMB

2009-11-03 10:09:48

VB.NET對象

2009-10-23 13:10:14

VB.NET List

2009-10-12 13:54:22

VB.NET Data

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-14 17:21:47

VB.NET定制Win

2009-10-13 14:42:30

VB.NET靜態(tài)成員

2010-01-18 18:20:49

VB.NET使用API

2009-10-28 13:24:25

VB.NET文件

2010-01-14 15:44:17

VB.NET數(shù)據(jù)綁定

2009-11-10 16:20:25

VB.NET全局熱鍵

2009-10-29 11:26:28

VB.NET調(diào)用Web

2009-11-02 16:22:16

VB.NET面向?qū)ο?/a>

2009-10-10 17:06:09

VB和VB.NET

2009-10-12 16:56:36

VB.NET常量VB.NET枚舉

2009-10-29 13:24:09

VB.NET Cons
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)