smartassembly 使用指南

原文 http://www.cnblogs.com/hsapphire/archive/2010/09/21/1832758.html

smartassembly 提供了一种用于优化和混淆你的 .net 程序集,保护你的作品和软件,减小分发包的大小,提高程序性能。visual studio 2003/2005/2008 都集成了一个dotfuscator 社区版的小工具,功能很简单,使用也比较方便,具体操作可参考如下的文章:visual studio 2008 中dotfuscator的使用

这里,演示smartassembly 混淆工具的使用,该工具功能比较强(http://www.smartassembly.com ),已经被redgate收购了,感爱好的朋友可以去下载。下面介绍具体的操作过程。

1. 启动smartassembly 应用程序,进入主界面,点击new project 按钮,创建一个新的项目。

2. 选择需要改进和保护的主程序集,可以为windows forms 应用程序、wpf应用程序、console 控制台程序、dll程序集、asp.net web 应用程序等等。

这里,我具体演示如何对一个asp.net web 应用进行保护。点击 browse assembly 按钮,选择web 应用程序编译完成的程序集。

3. 在选择好主程序集后,然后回到smartassembly程序界面,如下图所示。设置经过smartassembly处理之后的程序集存放的位置。通过点击set destination 按钮,进行设置。

4. 下面逐一设置smartassembly的程序参数。第一个是dependencies merging,设置主程序集依靠的其他相关程序集。

对于本范例而言,选择依靠的biz / dac / entity / common 四个依靠程序集。比较神奇的是,这些依靠的程序集会合并到主程序集中,这样在发布的时候,只需要发布主程序即可,依靠程序集都不需要一起发布了。

另外,建议不要选择第三方的程序集,如下图所示,我们不需要选择 enterprise library 相关的程序集。这样,在发布应用程序时,则需要保护第三方的程序集。

5. pruning 精简代码,这一步将从程序集中删除一些没有用的代码和元数据。smartassembly将检查程序集中的代码,自动判定哪些代码是有用的,哪些代码是从 不会执行到的。同时,也将移除没有用的元数据。并可以分别选择对主程序集和依靠的程序集进行精简代码操作。

这里,我没有选择任何程序集。有爱好的朋友,可以试试。

6. obfuscation 混淆代码

混淆代码是保护你的程序集最重要的方法。它将类和方法的名称更改为不可读的字符,但不会改变代码的功能,达到保护代码的目的。同时,也可以减少元数据,减小程序集的大小。

这里,我选择主程序集和所有依靠的程序集进行混淆,如下图所示。

下面还有types/methods 名称以及fields名称的混淆设置,这里保持默认值。

后面还有很多其他的选项,这里就逐一解释了,有爱好的朋友可以自己看看。上述的这些设置,已经足以对发布的应用程序代码进行保护了。

7. build 输出混淆后的程序集

点击build 按钮,就输出混淆后的程序集了,并且所有依靠的程序集都合并在一起了,这样在发布的时候,只需要发布合并后的一个程序集和第三方的程序集了。另外,你还可以看看混淆/合并后程序集的大小肯定有变小。

csdn 上有smartassembly 最新版的破解版本,可以下载下来试用一下,或者直接到smartassembly官方网站下载一个评估版本试试。

最后,在reflector 中看看反编译的效果。呵呵,这下反编译代码就头大了。

在smartassembly设置中,有个other protections 的选项,你可以选择在添加一些错误的metadata stream,如下图所示,这样在使用reflector 反编译工具根本就无法打开该程序集。

作者:水木    

出处:http://www.hitidc.com/ 

 

时间: 2013-07-05

smartassembly 使用指南的相关文章

UI实战指南之留在电脑里的字体(一)

  进阶学习最实用教材!这一由@牛MO王涵 (BigDesign创始人/设计总监)编写的系列文章,从字体选择到提升设计感的技巧等都有涉猎,话题虽广,但全是实战过程中最关键的要素,而且是新手最关心的操作部分,学完直接上手工作 >>> 前言:我来了,这是U1系列新开篇章实战篇,不仅仅是适用于UI设计,甚至包含网页设计.平面设计.在文章中会更多的介绍一些操作上的教学,希望对新人们有帮助. 推荐字体 很多小伙伴在做设计的时候,无论是排版还是展示,都不太注重字体,或者有些太过于注重以至于用了很多种

品牌H5营销完全实战指南

那些百万PV的H5都是怎么做的?精心打造的H5要如何推广?H5技术将如何发展?本文一一为你解答 >>> 作者微信号,欢迎关注:Social Talent 对于H5这个名词想必大家已经很熟悉了,就在2014年,一项本来还不太成熟的技术在微信的社交舞台下大放异彩,让我们见识了"移动+社交"爆发的巨大能量. 然而这不是偶然,而是趋势.在具体介绍H5营销之前,我想和大家分享一份eMarketer的数据,其中显示了2012年-2018年品牌在不同媒体渠道的预算比重: 相比电视.

交互设计指南系列一:我们眼中的交互设计

交互设计(Interaction Design, 缩写 IxD 或者 IaD),是定义.设计人造系统的行为的设计领域.人造物,即人工制成物品,例如,软件.移动设备.人造环境.服务.可佩带装置以及系统的组织结构.交互设计在于定义人造物的行为方式(the "interaction",即人工制品在特定场景下的反应方式)相关的界面(Wikipedia).通过对界面和行为进行交互设计,从而可以让使用者使用人造物来完成目标,这就是交互设计的目的. 从用户角度来说,交互设计是一种如何让产品易用,有效

[翻译]JDK 8 兼容性指南

翻译官方文档,删除部分可忽略. 译者:坤谷,井桐,激酶 兼容性是一个复杂的问题. 本文介绍了Java平台潜在的三种不兼容问题: 源码: 源码兼容性问题关注Java源代码转换成class文件是否兼容,包括代码是否仍然可编译. 二进制: 在Java语言规范中,二进制兼容性定义为:"类的改变是二进制兼容的(或者不破坏二进制兼容性),是指如果改变前的类的二进制在链接时没有错误,那么改变后的类在链接时仍然没有错误." 行为 : 行为兼容性包括在运行时执行的代码的语义. 欲了解更多信息,请参阅Op

傲游浏览器快捷键必备指南

把大象放进冰箱要几个步骤?打开冰箱.把大象放进去.关上冰箱三个步骤.但如果我说傲游浏览器3快捷键,让你只需一个步骤就能把一切轻松搞定,比把大象放进冰箱还容易,你觉得可能吗?如何将这一切变成了现实?傲游浏览器快捷键必备指南帮你解答一切. 寻求帮助傲游online随时恭候--F1 按下F1会弹出帮助,使用过Windows的朋友都知道,不过傲游浏览器3提供的可是在线帮助哦.这里除了有常规的新手入门.选项设置.功能介绍.常见问题等知识普及以外,还可通过这里快速进入傲游论坛,以寻求更有针对性的解答,各种技

你不看一下吗,有一份穿衣指南需要您签收

为什么程序员喜欢穿格子衫? 因为这体现了程序员精致的生活追求.别小看一件格子衫,剪裁的难度比素色衬衫不知道高到哪里去.只要下剪和缝纫时稍有偏差,到时候格线就对不整齐.所以这也导致了格子衫良品率低,成为了精工细作的代表.而这正体现了程序员的精神:一丝不苟.   程序员穿衣指南一:合身 购买不合身的衣服就是浪费钱,买衣服一定要去商场试,仅仅在网上看图片是买不到合身的衣服的.   程序员穿衣指南二:你需要一个手领包 和女生一样,包包是一个人最重要的一件单品,没有之一!你每天上班都会用到它.男生的包包不

《阿里巴巴Java开发手册》IDEA插件与Eclipse插件使用指南

首先非常感谢大家对插件的支持与意见,这里详细介绍一下<阿里巴巴Java开发手册>IDEA插件与Eclipse插件的安装使用. 关于规约插件的背景介绍,可见上篇文章:提升团队研发效能利器,<阿里巴巴Java开发手册>插件全球首发(附插件下载地址) 一.阿里巴巴Java开发手册IDEA插件使用指南 通过Jetbrains官方仓库安装 1. 打开 Settings >> Plugins >> Browse repositories... 2. 在搜索框输入alib

Android开发者指南(25) —— Resource Types - Style

前言 本章内容为Android开发者指南的Framework Topics/Application Resources/Resource Types/Style章节,译为"样式资源",版本为Android 3.2 r1,翻译来自:"呆呆大虾",欢迎访问他的微博:"http://weibo.com/popapa",再次感谢"呆呆大虾" !期待你一起参与翻译Android的相关资料,联系我over140@gmail.com.  

搜狗输入法初学者使用指南

搜狗拼音输入法是搜狐公司(或是旗下的搜狗搜索引擎)推出的一款拼音输入法工具.它与传统方法不同的是,采用了搜索引擎技术,是第二代的输入方 法.由于采用了搜索引擎技术,速度有了质的飞跃,在词库的广度.词语的准确度上,搜狗都远远领先于其他输入方法.不过对于初学者来说,搜狗输入法还是有些 小技巧他们是不知道的,下面黑白网的小编就来说一下搜狗输入法初学者使用指南 怎样进行翻页选字? 搜狗拼音输入法默认的翻页键是"逗号(,)句号(.)",即输入拼音后,按句号(.)进行向下翻页选字,相当于PageD

阿里短信服务API接入指南及示例

阿里短信服务,用淘宝账号打通三大运营商通信能力,以开放API方式向开发者提供短信服务.阿里短信服务具备3秒可达.99%到达率和超低资费的优势,并完美支撑了双11"2亿用户,6亿短信,8万并发"的挑战.本文将介绍阿里短信服务API的接入方法,并提供了多种编程语言的调用示例. 订购阿里短信服务 进入阿里云数据市场订购阿里短信服务.阿里短信服务是后付费商品,0元即可订购,成功发送短信后再付费.资费详见商品详情页面. 阿里短信服务接入指南 订购阿里短信服务后,就可以设置短信签名和短信模板,然后