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加密工具加密后的程序集不能在这个虚拟环境中运行的
lishixinzhi/Article/program/net/201311/15281