C#中将dll汇入exe,并加壳

简介:
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

1、合并file1.dll、file2.dll到destination.dll

ILmerge /ndebug /target:dll /out:C:\destination.dll /log C:\file1.dll C:\file2.dll

2、合并file1.dll、file2.dll以及myApp.exe到newApp.exe

ILmerge /ndebug /target:winexe /out:C:\newApp.exe /log C:\myapp.exe C:\file1.dll C:\file2.dll

注意:合并为exe时,myapp.exe必须写在file1.dll、file2.dll前面

完成之后,就得到了一个exe文件,如果想做一些邪恶的事情,可以将一些破解软件的dll合并到你的exe中去。前提是,所有的dll都是托管的,如果尝试合并C++写的dll,则会失败。有一个工具,叫做mergebin.exe,可以合并托管和非托管dll,用法我还没研究出来,似乎比较困难的样子。这个工具是ADO.NET 2.0 Data Provider for SQLite的作者写的,他发布的System.Data.SQLite.dll可以被dotNet程序引用,还可以直接被C/C++程序调用,这个dll就是托管和非托管混合的dll,果然是很牛的!mergebin.exe在其源码包里,有兴趣的朋友可以研究一下。这是其官方网站:http://sqlite.phxsoftware.com

继续邪恶的话题,如果你的exe里面合并有破解的dll,你可能不想让别人知道,或者你不想让别人反编译你的exe文件。混淆软件都收费,而且混淆之后方法还是看得见的,只不过名字毫无规则,没办法,用不了。还是加壳来的直接,我们得找一款很牛的加壳软件。给大家推荐个软件,叫做Sixxpack,专门加壳dotNet程序的,目前的最新版本为Sixxpack22,要求机器上装有.netframework2.0以上版本。Sixxpack除了加壳,还使用了压缩技术,最高压缩比达80%。Sixxpack是免费软件,官网是:http://www.reversers.net/

经Sixxpack加壳后,用Reflector打开exe文件,哈哈,看到的永远都只是一个actmp.dll的信息,其中包含4个7zip命名空间和1个Sixxpack命名空间,反编出来这些东西对也没啥用处。呵呵,原来是用7zip压缩的,难怪那么高的压缩比。

有一个问题是,用Sixxpack处理之后的程序集,版本信息是0.0.0.0,其他信息也不对。没关系,使用Resource Hacker修改一下就OK了! Resource Hacker也是免费软件,官网是:http://angusj.com/resourcehacker/

我这个小项目为了美化界面,用了一些邪恶的东西,最终的exe文件5MB左右,用Sixxpack处理之后,体积降到了2MB以内,运行时几乎没有性能损失。最重要的,很难反编译,可以放心拿给别人用了。



本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2011/08/31/2911923.html   ,如需转载请自行联系原作者

相关文章
|
7月前
|
C#
C# 解决引用dll,出现dll不可以使用等问题
C# 解决引用dll,出现dll不可以使用等问题
|
2月前
|
C# Windows
C#实现指南:将文件夹与exe合并为一个exe
C#实现指南:将文件夹与exe合并为一个exe
184 9
|
2月前
|
C#
Delphi可不可以制作出像c#那样的dll类库?
在Delphi中,创建DLL项目(如dll.dpr)并定义一个类TMyCls后,在另一个项目(如test.dpr)中可以引入此DLL并直接实例化和调用类的方法。然而,Delphi目前主要支持两种DLL形式:动态链接库(需显式声明exports,仅支持函数调用)和ActiveX DLL(需定义IDL接口)。这两种方式都较为繁琐。相比之下,C# 的DLL类库更为便捷,编写并编译后即可在其他项目中直接使用。
|
4月前
|
编译器 C# Windows
C#基础:手动编译一个.cs源代码文件并生成.exe可执行文件
通过上述步骤,应该能够高效准确地编译C#源代码并生成相应的可执行文件。此外,这一过程强调了对命令行编译器的理解,这在调试和自动化编译流程中是非常重要的。
377 2
|
4月前
|
C#
C# WPF 将第三方DLL嵌入 exe
C# WPF 将第三方DLL嵌入 exe
99 0
|
4月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
|
6月前
|
安全 编译器 API
程序与技术分享:C#调用DLL的几种方法
程序与技术分享:C#调用DLL的几种方法
192 0
|
7月前
|
XML 缓存 算法
C#非强签名dll搜索顺序
C#非强签名dll搜索顺序
|
开发框架 .NET Java
C#下反射动态加载dll后如何卸载?
C#下反射动态加载dll后如何卸载?