让.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程序在这个虚拟框架下运行)。
分享到:
相关推荐
标题中的“通过飞信.net虚拟机脱离.net框架运行.net程序”指的是使用飞信.net虚拟机技术,使得基于.NET Framework编写的程序能够在没有安装.NET Framework的环境下执行。这通常涉及到跨平台兼容性和软件移植性的问题...
描述“MONO实现.NET程序脱离框架运行”进一步强调了Mono的核心功能,即让.NET应用在没有原生.NET Framework的环境中运行。这通常涉及到将.NET应用程序与Mono运行时一起打包,以便在目标平台上自包含地启动和执行。 ...
为了让.Net程序脱离.Net Framework框架运行我试了很多方法,网上说的基本都试过了,最效果都不太理想,最后我还是选择了现在比较流行的软件飞信中带的VMDotNet,也就是所谓的.NET FRAMEWORK虚拟机吧。相信有很多人也...
总结来说,使.NET程序脱离.NET Framework环境运行涉及多种技术和策略,包括采用跨平台的.NET版本、IL编译、封装技术以及利用第三方框架。开发者可以根据项目需求和目标平台选择合适的方法,确保应用程序能在更广泛的...
然而,在某些情况下,为了提高应用程序的可移植性和独立性,开发者可能需要让.NET程序脱离.NET Framework框架独立运行。本文将深入探讨几种实现这一目标的方法,包括使用Xenocode、Salamander.NET Linker以及...
3. **运行**:这里是指执行.NET程序的过程,通常需要.NET Framework的支持,但在.NET Core或Mono环境下,可以脱离这个依赖。 4. **源码**:指的是程序的原始代码,可以被开发者阅读、理解和修改。在这个示例中,...
标题中的"C#程序脱离.Net framework运行"涉及到一个关键的技术概念,即.NET Core或.NET 5及以上版本的跨平台能力。传统的C#程序依赖于特定版本的.NET Framework运行时环境,这个环境只在Windows系统上可用。然而,...
.net2.0精简版虚拟机(脱离.NET框架运行.NET程序),再没有安装.NET Framework2.0的机器上运行.NET2.0程序!精简后的.NET通用模块只有9M,SOFT文件夹下是测试程序! 本程序没有版本信息,给大家免费使用
.NET 2.0虚拟框架是微软为.NET Framework 2.0版本开发的一种技术,它允许开发者创建的应用程序在不依赖特定版本或安装完整.NET Framework的情况下运行。这一特性极大地提升了应用程序的兼容性和便携性,使得用户可以...
总之,.NET C#脱离环境运行程序通过Mono实现,它让C#开发者可以跨平台开发和运行应用程序,扩展了.NET生态系统的边界。对于想要在非Windows系统上部署和运行C#应用的开发者来说,Mono是一个不可或缺的工具。
VMDotNet是一种技术解决方案,它允许Windows Forms(WinForms)应用程序在不依赖Microsoft .NET Framework的情况下运行。这个技术的核心是将.NET代码转换为可以在独立虚拟机中执行的本机机器码,从而打破了对特定...
.NET程序员最容易碰到如何能在一台没有安装.NET ...这个工具可以帮助.NET framework 3.5的程序脱离框架运行。另外,仅限于比较简单的程序,较为复杂、使用类库较多的程序请使用微软提供的.NET framework 3.5的安装包。
则通过framework虚拟机(FrameWork下的VM.exe(其实是飞信框架里的FetionVM.exe,修改了它的图标和版权,想改成其它的大家可以用VC改一下,有网友强列要求指出这一点,想不明白为什么,呵呵,让指出就指出吧,还要求...
虽然有些公司发布了可以将.net代码编译成navtive代码以脱离.net环境运行,如Remotesoft DOTNET Linker,Xenocode Postbuild等,但一直没有破解版,用它们编译的程序每次运行会添出个版权信息。最近偶然发现一种方法...
然而,“C#虚拟机-脱离.NET框架运行exe”这个主题探讨的是如何在没有.NET Framework的情况下运行C#程序,这涉及到一个名为CoreCLR的组件,它是.NET Core的一部分。 .NET Core是微软推出的一个开源、跨平台的开发...
这里要介绍的方法是直接利用飞信的框架来实现脱离 .Net framework运行。 首先下载一个飞信的程序安装。在安装目录中会有 VMDotNet 目录。这个就是.Net框架虚拟环境需要的文件。 直接把整个目录提取出来。 如何利用...
虽然有些公司发布了可以将.net代码编译成navtive代码以脱离.net环境运行,如Remotesoft DOTNET Linker,Xenocode Postbuild等,但一直没有破解版,用它们编译的程序每次运行会添出个版权信息。最近偶然发现一种方法...
ASP.NET脱离IIS运行的优势在于: 1. **快速调试**:无需配置复杂的IIS环境,开发者可以更快速地进行代码修改和测试,提高开发效率。 2. **独立运行**:对于不拥有IIS服务器或者在非Windows环境下工作的开发者,这个...
Salamander.NET Linker 是另一款用于脱离 .NET 框架的工具,它能够将 .NET 应用程序与其依赖的框架文件捆绑在一起,形成一个单独的可执行文件。与 Xenocode PostBuild Evac 类似,Salamander.NET Linker 也旨在减少...