驗證C#程式脫離.net framework環境執行(飛信法)

luckeryin發表於2009-04-13

原理:


利用飛信從Salamander .Net Linker  中提取出來的.net 2.0 VM來支援程式執行.

驗證步驟:


1,在VM虛擬機器上沒有.net環境的純淨xp系統中測試執行用VS2008編寫的"打字遊戲"程式,報錯提示"應用程式正常初始化失敗...".
2,在飛信安裝目錄中有 VMDotNet 目錄。這個就是.Net框架虛擬環境需要的檔案,拷貝該檔案來到VM虛擬機器上。在資料夾裡面可以找到一個 FetionVM.exe的檔案 。這個是虛擬環境的loader。使用方法: FetionVM.exe 打字遊戲.exe的路徑,直接把.Net 程式作為命令列引數傳遞給 FetionVM.exe 就可以在這個虛擬環境中執行.net程式了。
3,測試結果:成功執行打字遊戲.

改進:


1,改loader FetionVM.exe的檔名為:MySoftLoader.exe
.再執行失敗,提示:Image can't be loaded.
2,直接雙擊圖示啟動程式.前面的方法是從命令列啟動.net程式的.將飛信安裝目錄下的Fetion.exe檔案拷貝到與VMDotNet同級的目錄下,Fetion.exe檔案就是應用程式的loader,不過這個Loader需要應用程式的可執行檔名必須為FetionFx.exe且處在同級目錄下.把打字遊戲放到同目錄下並改名為FetionFx.exe,然後雙擊Fetion.exe,打字遊戲啟動成功.


由於採用的是從飛信中提取出來的執行環境,所以對於.net 2.0 VM loader和程式執行檔名以及這些檔案的圖示有一定的限制,但應用程式的loader(即雙擊啟動程式的檔名)可以自己定義.

相關文章