您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)VB.NET虛擬框架原理是什么的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
大家都知道微軟公司推出的.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)確識別安裝客戶所要的應(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í)間上的安排,有空的話會考慮自己實(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è)程序部署成單一文件。
感謝各位的閱讀!關(guān)于“VB.NET虛擬框架原理是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。