社区
C#
帖子详情
C#如何保护代码不被反编译?
lashengcrh
2009-08-03 02:18:08
如题
...全文
331
13
打赏
收藏
C#如何保护代码不被反编译?
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zz005
2009-08-18
打赏
举报
回复
学习
chinayzren
2009-08-17
打赏
举报
回复
加壳吧。
q512362091
2009-08-17
打赏
举报
回复
[Quote=引用 10 楼 bclz_vs 的回复:]
引用 7 楼 syfsz 的回复:
代码写的自己都看不懂 让他反编译出来也没有用
有道理
[/Quote]
强....
边城的刀声
2009-08-17
打赏
举报
回复
[Quote=引用 7 楼 syfsz 的回复:]
代码写的自己都看不懂 让他反编译出来也没有用
[/Quote]
有道理
边城的刀声
2009-08-17
打赏
举报
回复
[Quote=引用 6 楼 lashengcrh 的回复:]
up
[/Quote]
强
cdygf
2009-08-17
打赏
举报
回复
用混淆器吧
syfsz
2009-08-17
打赏
举报
回复
代码写的自己都看不懂 让他反编译出来也没有用
lashengcrh
2009-08-17
打赏
举报
回复
up
lashengcrh
2009-08-06
打赏
举报
回复
大家介绍一下好用的工具吧
风之影子
2009-08-06
打赏
举报
回复
混淆器
vs自带了。
你查些资料吧
lashengcrh
2009-08-06
打赏
举报
回复
请大家多谈谈。。。
bigmingming
2009-08-03
打赏
举报
回复
因为C#开发的程序被编译后并没有成为可运行的二进制文件,而是一种中间状态,是由MSIL语言写成的程序文件。从理论上说,各种.NET语言只要完成的功能相似,编译后的MSIL语言文件都是相似的,可见MSIL的代码是对应着较为固定的高级语言结构的。所以,理论上,把MSIL语言进行返推,就可以将其反编译为.NET中的任何一款高级语言。
SQL77
2009-08-03
打赏
举报
回复
用混淆器
c#
程序加密 防止
反编译
.NET Reactor是一款功能强大的
代码
保护
以及许可授权管理系统软件,主要用于开发人员
保护
其.NET软件程序,.NET Reactor支持所有支持.NET编译的程序开发语言。
.NET Reactor 6.5(.net
代码
保护
、防破解、防
反编译
)
.NET Reactor 用于.NET程序的加密、混淆、加壳,防止程序被
反编译
C#
代码
混淆器
保护
自己辛苦编写的
代码
不被轻易破解
保护
dll不被
反编译
.NET Reactor
反编译
.NET Reactor 是一款强大的 .NET
代码
保护
和授权管理系统,安全可靠、简单易用,主要用来帮助开发人员
保护
他们的 .NET 软件产品。开发人员从此不必担心如何
保护
他们的知识产权,可以将更多精力放在产品功能的开发上。 与
代码
混淆工具(Obfuscator)相比,.NET Reactor 可以完全阻止对 .NET 程序集(由
C#
, VB.NET, Delphi.NET, J#, MSIL… 等语言编写)的
反编译
。通俗的讲,.NET Reactor 在破解者和您的 .NET
代码
之间构建了强大的防破解
保护
屏障,生成一个基于 Windows 的而不是基于 MSIL 的兼容格式文件。原始的 .NET
代码
完整的封装在本地
代码
内,无论何时都不会释放到硬盘,对于破解者是不可见的,目前还没有任何工具可以
反编译
.NET Reactor
保护
过的程序集。
反编译
工具.NET Reflector 6.5.0.135
NET程序员的开发利器.NET Reflector 一、 简介 程序集,作为.NET时代的动态链接库,蕴藏了太多的软件秘密。为此,Visual Studio内置的ILDASM成为最初挖掘程序集的上佳工具。但自从Reflector出现后,ILDASM相形见拙。因为,Reflector能提供更多的程序集信息,而且是免费的工具。 如今,在Visual Studio.NET中编译源
代码
(无论是VB还是
C#
)时,编译器都会将高级源
代码
翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL),是包在一个或多个DLL或可执行文件中的。 基于ILDASM检查程序集中的IL有时很有用,但它要求我们熟悉MSIL。通常,比起IL,大多数开发人员对像
C#
或Visual Basic这样的高级程序设计语言更为熟悉。 Reflector的出现使.NET程序员眼前豁然开朗,因为这个免费工具可以将.NET程序集中的中间语言
反编译
成
C#
或者Visual Basic
代码
。除了能将IL转换为
C#
或Visual Basic以外,Reflector还能够提供程序集中类及其成员的概要信息、提供查看程序集中IL的能力以及提供对第三方插件的支持。 二、 下载与运行Reflector Reflector是由微软员工Lutz Roeder编写的免费程序。这个软件经常更新,你可以在http://www.aisto.com/roeder/dotnet下载最新的版本。在本文成文之时,Reflector的最新版本为5.0.35.0,仅有1M大小。只要双击下载后的Reflector.exe文件即可运行Reflector。 默认情况下,Reflector会打开一组公共程序集(mscorlib、System、System.Data、System.Drawing等等)。每个打开的程序集都列在Reflector的主窗口中。单击程序集旁边的+图标可以展开树结构并展示程序集的命名空间。每个命名空间旁边都有一个相关的+图标,单击这个图标将显示这个命名空间内的类。除此以外,还可以展开每个类,显示类的成员:事件、字段、方法与属性。 要想查看其它程序集(包括我们自己创建的程序集)的细节,你可以使用菜单命令“File→Open”。然后,浏览到想要查看的程序集。只要选择了有效的.NET程序集,这个程序集就可以在Reflector的主窗口中与其它默认程序集共同显示。要想从Reflector的主窗口中删除程序集,只需右击程序集并选择“Close”。 三、 使用Reflector反汇编程序集 提供基本的程序集是Reflector唾手可得的功能,然而,Reflector真正的威力体现在它的反汇编能力。只要浏览到类级的成员,就可以通过Tools菜单中的Disassembler项(或在该项上单击右键)反汇编此成员。这将打开第二个窗格,以
C#
、Visual Basic、Delphi或者IL显示反汇编后的内容。图2以
C#
语言展示了对SmtpClient类中Abort方法的反汇编结果。 有了Reflector的
反编译
功能,要研究.NET框架基类库就容易多了。我们完全可以在没有源
代码
的情况下研究我们所创建或者正在使用的程序集相应源
代码
。 不用太担心,你自己的.NET应用程序还有其它受
保护
措施。但是,想阻止别人查看.NET程序集的IL(继而
反编译
成
C#
或者Visual Basic)是不可能的,但你可以使用“混淆”技术使IL变得混乱。目前,市场上有许多.NET混淆产品,比如:PreEmptive Solution的Dotfuscator、WiseOwl的Dmeanor以及Remotesoft的.NET Obfuscator等。 四、 Reflecator的其它功能 除了作为对象浏览器与反汇编器之外,Reflector还可以显示类与其成员的调用与被调用图、提供单键访问Google或MSDN搜索的能力并提供了允许第三方开发人员为Reflector创建插件的框架。 要查看调用或被调用图,只需要在树视图中选择一个成员,访问Tools菜单,选择Call Graph或Callee Graph选项即可。Call Graph会列出所选项所调用的成员,而Callee Graph列出调用所选项的成员。 通过使用插件,Reflector的功能可以得到进一步扩展。目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列在http://www.codeplex.com/reflectoraddins中。在此,我极力推荐有兴趣的读者前去一看。 不出乎所料,的确存在一个Reflector.VisualStudio插件。有了这个插件,就可以让Reflector集成在Visual Studio环境中,进而取代以前那个有些“拙漏”的对象浏览器。 首先,我们需要在机器上准备Reflector的最新版,然后从http://www.testdriven.NET/reflector下载最新版本的Reflector.VisualStudio插件。据说安装了此插件之后,Reflector能够与Visual Studio完美融合。但遗憾的是,本人试下载此软件并安装(仅能得到TestDriven.NET-2.8.2130 RTM个人测试版本,时间7/30/2007,大小3.3M)后,没有大发现—仅是在VS2005中添加“Go to Reflector”和一个帮助菜单项。点击“Go to Reflector”菜单项仅是从VS2005内部启动Reflector而已。 有了Reflector.VisualStudio插件(正版,下面是根据在线资料介绍),Reflector可以寄在Visual Studio中Reflector不仅是一个对象浏览器、反汇编器,包裹在同一个程序中的所有功能还可以寄于Visual Studio中。 五、 小结 还记得Spy++吗?在Win32时代,这个软件对于我们分析一个陌生软件的设计思路可谓立下汗马功劳。在如今的.NET时代,Reflector又成为每个严肃的.NET开发人员工具箱中必不可少的精髓工具之一。怎么样,请赶紧试锋吧。
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章