日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解讀.Net虛擬框架的實(shí)現(xiàn)原理_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:解讀.Net技術(shù)開發(fā)中兩個(gè)“屬性”引起的歧異
對于property和attribute這兩個(gè)名詞都叫

在讓.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)。對于我們虛擬框架這個(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è)虛擬框架,做一個(gè)小工具出來。

這個(gè)虛擬框架最核心的就是設(shè)置環(huán)境變量COMPLUS_InstallRoot 。

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

分享:解讀.net垃圾回收和CLR 4.0對垃圾回收所做的改進(jìn)之一
A survey of garbage collection and the changes CLR 4.0 brings in - series of what is new in CLR 4.0 導(dǎo)言Introduction 垃圾回收(Garbage Collection)在.net中是一個(gè)很重要的機(jī)制. 本文將要談到CLR4.0對垃圾回收做了哪些改進(jìn). 為了更好地理解這些改進(jìn),

來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2009-07-11
相關(guān).Net教程