|
NET 框架目前逐步在普及了,仍然有很多人在尋找如何讓.NET程序脫離.NET框架的方法。
現(xiàn)成的工具有 Xenocode 的postbuidle或者vas,還有 Salamander .NET Linker 。
另外還有 MaxToCode 作者以前做的 framework linker。 以及一些支持注冊表模擬和文件模擬的打包工具molebox,thinstall等。
最后還有某網(wǎng)友(應(yīng)其要求隱去網(wǎng)名) 兜售的一個實現(xiàn)方法。
Xenocode的是使用了一個虛擬機(jī)環(huán)境,模擬框架需要的注冊表信息和文件信息.Xenocode號稱的生成nativa代碼功能實際上就是指的這個功能.我測試了幾個程序打包,兼容性似乎不怎么好. 不知道是不是因為機(jī)器上已經(jīng)安裝了框架的原因。
Jason做的 framework linker,以前我也使用過, 他的實際上是利用了 Remotesoft的內(nèi)核文件,然后自己實現(xiàn)了一個loader。好像是使用的早期的內(nèi)核文件,兼容性也不太好。
Salamander .NET Linker ,Remotesoft的一個產(chǎn)品,沒有可以下載的,但是其兼容性似乎很不錯。移動的飛信軟件就利用了它的核心。
某網(wǎng)友的方法似乎是利用remotesoft的核心和飛信的框架,因為他并沒有免費公開方法,從他給出的樣例可以看到有remotesoft的核心文件以及飛信的框架程序。
這里要介紹的方法是直接利用飛信的框架來實現(xiàn)脫離 .NET framework運行。
首先下載一個飛信的程序安裝。在安裝目錄中會有 VMDotNET 目錄。這個就是.NET框架虛擬環(huán)境需要的文件。
直接把整個目錄提取出來。
如何利用這個虛擬環(huán)境運行 自己的 .NET 程序呢?很簡單,一個命令行搞定。在 VMDotNET 目錄里面會找到一個 FetionVM.exe 。這個是虛擬環(huán)境的loader。
使用方法: FetionVM.exe pathtoyoureexe。就是直接把你的 .NET 程序 作為命令行參數(shù)傳遞給 FetionVM.exe 就可以在這個虛擬環(huán)境中執(zhí)行你的。NET程序了。
最好再自己寫一個啟動程序,首先檢查系統(tǒng)是否安裝了.NET框架,如果有直接運行。沒有調(diào)用虛擬環(huán)境運行。
這個啟動程序飛信也有,如果不想自己寫就直接拿飛信安裝目錄中的 Feition.exe,但是這樣的話 你自己的.NET程序的名字必須叫 FeitionFX.exe 。把它和Feition.exe 放在同一目錄下,直接執(zhí)行 Feition.exe 即可。
另外,如果你對.NET程序使用了加密保護(hù),需要注意一下,目前市面上的大部分.NET加密工具加密后的程序集不能在這個虛擬環(huán)境中運行的。
這個東西除了能實現(xiàn)脫離 .NET框架運行外,還有另外一個副作用--讓.NET程序運行在指定版本的.NET框架中。
NET技術(shù):讓.NET程序脫離.NET Framework框架運行,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。