电竞比分网-中国电竞赛事及体育赛事平台

分享

讓.Net程序脫離.net framework框架運(yùn)行的方法(轉(zhuǎn)載) - kingeric的空間 - 博客園

 塵塵炊煙,煙水朦朧 2008-05-08
Net 框架目前逐步在普及了,仍然有很多人在尋找如何讓.NET程序脫離.NET框架的方法。

現(xiàn)成的工具有 Xenocode 的postbuidle或者vas,還有 Salamander .NET Linker .
另外還有 MaxToCode 作者以前做的 framework linker. 以及一些支持注冊(cè)表模擬和文件模擬的打包工具molebox,thinstall等.

最后還有網(wǎng)友 呂昆 兜售的一個(gè)實(shí)現(xiàn)方法.

Xenocode的是使用了一個(gè)虛擬機(jī)環(huán)境,模擬框架需要的 注冊(cè)表信息和文件信息.
Xenocode號(hào)稱的生成native代碼功能實(shí)際上就是指的這個(gè)功能.
我測(cè)試了幾個(gè)程序打包,兼容性似乎不怎么好. 不知道是不是因?yàn)闄C(jī)器上已經(jīng)安裝了框架的原因。

Jason做的 framework linker,以前我也使用過, 他的實(shí)際上是利用了 Remotesoft的內(nèi)核文件,然后自己實(shí)現(xiàn)了一個(gè)loader。好像是使用的早期的內(nèi)核文件,兼容性也不太好。

Salamander .Net Linker ,Remotesoft的一個(gè)產(chǎn)品,沒有可以下載的,但是其兼容性似乎很不錯(cuò)。移動(dòng)的飛信軟件就利用了它的核心。

呂昆的方法似乎是利用remotesoft的核心和飛信的框架,因?yàn)樗]有免費(fèi)公開方法,從他給出的樣例可以看到有remotesoft的核心文件以及飛信的框架程序。

這里要介紹的方法是直接利用飛信的框架來實(shí)現(xiàn)脫離 .Net framework運(yùn)行。
首先下載一個(gè)飛信的程序安裝。在安裝目錄中會(huì)有 VMDotNet 目錄。這個(gè)就是.Net框架虛擬環(huán)境需要的文件。

直接把整個(gè)目錄提取出來。

如何利用這個(gè)虛擬環(huán)境運(yùn)行 自己的 .Net 程序呢?
很簡(jiǎn)單,一個(gè)命令行搞定。在 VMDotNet 目錄里面會(huì)找到一個(gè) FetionVM.exe 。這個(gè)是虛擬環(huán)境的loader。
使用方法: FetionVM.exe pathtoyoureexe
就是直接把你的 .Net 程序 作為命令行參數(shù)傳遞給 FetionVM.exe 就可以在這個(gè)虛擬環(huán)境中執(zhí)行你的。net程序了。

最好再自己寫一個(gè)啟動(dòng)程序,首先檢查系統(tǒng)是否安裝了。Net框架,如果有直接運(yùn)行。沒有調(diào)用虛擬環(huán)境運(yùn)行。

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

另外,如果你對(duì)。Net程序使用了加密保護(hù),需要注意一下,目前市面上的大部分。Net加密工具加密后的程序集不能在這個(gè)虛擬環(huán)境中運(yùn)行的。

這個(gè)東西除了能實(shí)現(xiàn)脫離 。net框架運(yùn)行外,還有另外一個(gè)副作用--讓。net程序運(yùn)行在指定版本的 。net 框架中(雖然機(jī)器上安裝了。net框架,仍然可以讓。net程序在這個(gè)虛擬框架下運(yùn)行)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多