天来叫大家如果用linker(连接器)提取框架的类库实现脱离平台,你可以到百度下载Linker,
可以到我这里下载地址:Linker_C#脱离框架_DonNet(.Net)脱离框架 点击下载
很简单的打开你下载的linker文件夹里面有个批处理文件打开
第一步:打开
图1:
第二步:处理掉出现的错误,不能有中文的路径,图2错误的,图3对的
图2
图3 :必须把linker文件夹放到英文的路径中,不能存在中文的路径,像图3存在”桌面“中 文路径,在执行命令的时候会出现问题的
第三步:执行命令
图4:
Linker命令使用说明:
本程序已经破解,支持Microsoft .Net Framework 2.0.50727, 3.5.30729版本
使用时,有2种部署方式-mdeploy和-native,-mdeploy方式提取的虚拟环境大概40MB左右,而-native方式则是将MSIL代码转换为NativeImages,配合-il指令使用,最终提取出来的虚拟环境不到30MB,个人推荐使用-native方式。
Steps:
1.设置环境变量path到程序目录。
2.语法:
-mdeploy方式:linker -mdeploy -casoff 您的程序.exe (-casoff是为了避免一些bug)
-native方式:linker -native -il System -il System.* -il mscorlib -il accessibility 您的程序.exe
注意:必须附加这4个-il,意思是指这些程序集不转换为NativeImages,如果未附加-il,则非常耗时,而且提取出来的框架将近100MB。
本版本和移动飞信提取出来的目录结构不一致,没有System文件夹,而在C/WINDOWS/assembly/GAC_MSIL中,包含了所需的dll文件。估计移动飞信使用的是Remotesoft .Net Linker 3.0以上版本(无法证实)
用法:连接器[选项] <wfile> inputfiles。
其中inputfiles是一个或一组程序集文件(清单。exe或。dll文件)。
<wfile>表示通配符的文件名可以使用,例如,*. dll文件
常规选项:
出<文件>指定输出文件。
三维<路径>指定输出目录来存储生成的代码。
标<文件签署重要文件输入指定的组件。
- delsig删除强名称签名,当原始有用
密钥文件是不可用,但你仍然要处理
大会。然而,产生的程序集不能重新签名
任何重要文件。
- clrversion指定版本的框架,例如,对框架1.1 v1.1.4322
- ref的<wfile>指定一个外部引用程序集。此选项可以用来
多次指定一个以上的参考。
时刻依赖依赖显示模块和程序集引用。
- R的递归执行的行动。有用的只有时刻依赖。
-解散拆卸文件,生成ilasm输出。
- quoteAll报价为生成的所有代码ilasm ilasm标识符。
使用此关键字时,任何不正确地处理办法。
- nologo抑制版权输出。
- verbose详细输出。
连接选项:
私营<wfile>连接依赖的程序集内部积极作为
组成部分。此选项可以多次使用指定
不止一个依赖。
封闭式自动解决并链接所有相关的DLL,除非
为mscorlib程序。
,解决和链接自动解决依赖DLL。那些在
同样的目录和分显示目录加载和链接。
合并不执行按需连接,而是简单地合并所有类型
进入最后的组装和其成员。
,排除<assemblyfilename>
连接指定的排除大会及其家属。
非常有用的VC + +中排除。NET中组装。此选项可以
多次使用指定一个以上的集会。
例如,排除System.EnterpriseServices.Thunk.dll
- keepvisibility
不改变可视性修饰符。默认情况下,市民
更改为私有程序集内部的被链接
- addclass的<class>
指定一类链接到最后的装配。此选项可以
多次使用指定多个类。
类格式:[大会] namespace.class,或namespace.class
例如,- addclass [System.Xml.dll] System.Xml.NameTable
- addclass System.Xml.NameTable
- addmethod <method>
指定方法链接到最后的装配。此选项约
多次使用指定多个方法。
方法格式:[大会] namespace.class.method
namespace.class.method
例如,- addmethod [System.Xml.dll] System.Xml.NameTable.Add
- addmethod System.Xml.NameTable.Add
- addtoken <methodToken或classToken>
指定一个方法或类标记链接到最后的装配。
此选项可以多次使用指定许多纪念品。
令牌格式:[大会]令牌
例如,- addtoken [System.Xml.dll] 0x02000021
- addtoken [System.Xml.dll] 0x06000101
- exe文件链接,自包含的应用程序,并使用单一
切入点找到所有需要的类型和成员。
- dll的链接,库,并以此为切入点市民
找到所有需要的类型和成员。
清晰度<文件>指定Win32资源文件(。水库)链接。
,保留不删除(临时文件。白细胞介素。资源等)。
选项minideployment和本地编译:
- mdeploy小不充分部署。NET框架的安装。
原生编译到本机运行没有图像。NET框架。
需要。NET框架v2.0.50727以上。
边删除未使用的代码,但保留作为单独的文件集,无需添加
合并,这个选项应该用于-mdeploy/-native选项
- com公司小型部署为托管COM组件。
应使用此选项与- mdeploy选项。
- nogacstub不会排放为强命名程序集存根,以节省磁盘空间
此选项应使用与本机的选择。
金正日<assembly_name>
保持,而不是本机代码的程序集的IL代码中指定。
assembly_name可能包含通配符(*,?),例如,系统.*,
这个选项应该只用于本机的选择,并可能导致
多次使用指定多个程序集。
- supportTempAssembly
支持临时组装代当迷你部署。
- casoff禁用代码访问安全性(CAS)的小型部署。
应使用此选项与- mdeploy选项。
- STA中执行的COM线程模型是单线程单元
对于小型部署。
应使用此选项与- mdeploy选项。
,事件日志复制EventLogMessages.dll在minideployment。