天天看點

讓 .Net 程式 脫離 .net framework架構 運作的方法

.Net 架構目前逐漸在普及了,仍然有很多人在尋找如何讓.NET程式脫離.NET架構的方法。

現成的工具有 Xenocode 的postbuidle或者vas,還有 Salamander .NET Linker .

另外還有 MaxToCode 作者以前做的 framework linker. 以及一些支援系統資料庫模拟和檔案模拟的打包工具molebox,thinstall等.

最後還有某網友(應其要求隐去網名) 兜售的一個實作方法.

Xenocode的是使用了一個虛拟機環境,模拟架構需要的 系統資料庫資訊和檔案資訊.

Xenocode号稱的生成native代碼功能實際上就是指的這個功能.

我測試了幾個程式打包,相容性似乎不怎麼好. 不知道是不是因為機器上已經安裝了架構的原因。

Jason做的 framework linker,以前我也使用過, 他的實際上是利用了 Remotesoft的核心檔案,然後自己實作了一個loader。好像是使用的早期的核心檔案,相容性也不太好。

Salamander .Net Linker ,Remotesoft的一個産品,沒有可以下載下傳的,但是其相容性似乎很不錯。移動的飛信軟體就利用了它的核心。

某網友的方法似乎是利用remotesoft的核心和飛信的架構,因為他并沒有免費公開方法,從他給出的樣例可以看到有remotesoft的核心檔案以及飛信的架構程式。

這裡要介紹的方法是直接利用飛信的架構來實作脫離 .Net framework運作。

首先下載下傳一個飛信的程式安裝。在安裝目錄中會有 VMDotNet 目錄。這個就是.Net架構虛拟環境需要的檔案。

直接把整個目錄提取出來。

如何利用這個虛拟環境運作 自己的 .Net 程式呢?

很簡單,一個指令行搞定。在 VMDotNet 目錄裡面會找到一個 FetionVM.exe 。這個是虛拟環境的loader。

使用方法: FetionVM.exe pathtoyoureexe

就是直接把你的 .Net 程式 作為指令行參數傳遞給 FetionVM.exe 就可以在這個虛拟環境中執行你的。net程式了。

最好再自己寫一個啟動程式,首先檢查系統是否安裝了。Net架構,如果有直接運作。沒有調用虛拟環境運作。

這個啟動程式飛信也有,如果不想自己寫就直接拿飛信安裝目錄中的 Feition.exe,但是這樣的話 你自己的.Net程式的名字必須叫 FeitionFX.exe 。把它和Feition.exe 放在同一目錄下,直接執行 Feition.exe 即可。

另外,如果你對。Net程式使用了加密保護,需要注意一下,目前市面上的大部分。Net加密工具加密後的程式集不能在這個虛拟環境中運作的。

這個東西除了能實作脫離 。net架構運作外,還有另外一個副作用--讓。net程式運作在指定版本的 。net 架構中(雖然機器上安裝了。net架構,仍然可以讓。net程式在這個虛拟架構下運作)。

繼續閱讀