您的位置:首页 > 其它

使用飞信框架(Remotesoft DOTNET Linker)使.net程序脱离.net框架运行

2009-01-13 13:49 344 查看
转载:http://www.yaosansi.com/post/1392.html



虽然有些公司发布了可以将.net代码编译成navtive代码以脱离.net环境运行,如Remotesoft DOTNET Linker,Xenocode Postbuild等,但一直没有破解版,用它们编译的程序每次运行会添出个版权信息。最近偶然发现一种方法可以做到真正使程序脱离.net环境运行且没有任何版权信息添出,现将使用方法、源代码、测试程序发布于此:

请首先在文章末尾下载测试程序,是一个用C#做的串口工具,下载解压后有两个文件夹(FrameWork和APP)和一个程序(串口工具.exe),在APP文件夹下有一个名为9527.exe的程序,这个是C#真正的“串口工具.exe”,而主目录下的串口工具.exe只是一个Loader程序,它运行后首先判断电脑上有没有安装framework,若有,则直接启动APP下的9527.exe程序;若无,则通过framework虚拟机(FrameWork下的VM.exe(其实是飞信框架里的FetionVM.exe,修改了它的图标和版权,想改成其它的大家可以用VC改一下,有网友强列要求指出这一点,想不明白为什么,呵呵,让指出就指出吧,还要求指出调用的方法,,其实我连源程序都公布了,用说的这么明白吗))启动9527.exe程序。Loader程序不会打开任何窗口,并在启动真正应用程序后立即退出。Loader程序主函数(VC6.0编写)的代码如下:

主函数:


int
APIENTRY WinMain(HINSTANCE hInstance,


HINSTANCE hPrevInstance,


LPSTR lpCmdLine,


int
nCmdShow)






{


TCHAR fwVersion[VERSION];


if(CheckRegistryKeyExistance(fwVersion))






{


if(CompareFWVersions(fwVersion, "2.0"))//最低版本要求2.0






{


RunApplication(".//app//9527.exe");//直接运行


}


else






{


//应用程序放在APP目录下,要启动的程序的名字为9527.exe,


//9527周星弛在《唐伯虎点秋香》的代号,呵



RunApplication(".//FrameWork//VM.exe /".//app//9527.exe/"");//通过虚拟机运行


}


}


else






{


RunApplication(".//FrameWork//VM.exe
/".//app//9527.exe/"");//通过虚拟机运行




}


return 0;


}

判断是否安装的代码就不贴出来了,可以在文章末尾下载整个VC6的工程文件看。
下面总结一下如何使用:
1. 下载我的例子程序
2. 清空APP下的所有文件
3.
把你自已的.net可执行程序和相关文件全部复制到APP下,并将可执行程序的名字改为9527.exe
(不喜欢这个名字可以修改Loader程序重新编译)
4.
把主目录的“串口工具.exe"名字改成任何你想要的名字。(要改图标的话,建议下载我的Loader源程序,修改后重新编译)

大功告成,拿到一台没装.net的电脑上试试吧。祝好运。 

相关下载:

测试程序

Loader程序源代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: