熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

讓.Net 程序脫離.net framework框架運行

2013-11-13 11:09:32  來源: .NET編程 

  Net框架目前逐步在普及了仍然有很多人在尋找如何讓NET程序脫離NET框架的方法現成的工具有 Xenocode 的postbuidle或者vas還有 Salamander NET Linker

  另外還有 MaxToCode 作者以前做的 framework linker 以及一些支持注冊表模擬和文件模擬的打包工具moleboxthinstall等最後還有某網友兜售的一個實現方法

  Xenocode的是使用了一個虛擬機環境模擬框架需要的 注冊表信息和文件信息Xenocode號稱的生成native代碼功能實際上就是指的這個功能我測試了幾個程序打包兼容性似乎不怎麼好 不知道是不是因為機器上已經安裝了框架的原因

  Jason做的 framework linker以前我也使用過 他的實際上是利用了 Remotesoft的內核文件然後自己實現了一個loader好像是使用的早期的內核文件兼容性也不太好

  Salamander Net Linker Remotesoft的一個產品沒有可以下載的但是其兼容性似乎很不錯移動的飛信軟件就利用了它的核心

  某網友的方法似乎是利用remotesoft的核心和飛信的框架因為他並沒有免費公開方法從他給出的樣例可以看到有remotesoft的核心文件以及飛信的框架程序

  這裡要介紹的方法是直接利用飛信的框架來實現脫離 Net framework運行

  首先下載一個飛信的程序安裝在安裝目錄中會有 VMDotNet 目錄這個就是Net框架虛擬環境需要的文件

  直接把整個目錄提取出來

  如何利用這個虛擬環境運行 自己的 Net 程序呢?很簡單一個命令行搞定在 VMDotNet 目錄裡面會找到一個 FetionVMexe 這個是虛擬環境的loader

  使用方法 FetionVMexe pathtoyoureexe就是直接把你的 Net 程序 作為命令行參數傳遞給 FetionVMexe 就可以在這個虛擬環境中執行你的net程序了

  最好再自己寫一個啟動程序首先檢查系統是否安裝了Net框架如果有直接運行沒有調用虛擬環境運行

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

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

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


From:http://tw.wingwit.com/Article/program/net/201311/15281.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.