SmartAssembly 8是一款好用的.net代码保护加密软件,旨在增强.net应用程序的安全性,降低被反编译的机率,可以说是开发者保护自己软件的完美解决方案。且支持帮助开发人员快速删除任意代码问题和错误报告。除此之外,软件还提供了了字符串编码,控制流混淆,资源压缩和加密等多种选项。
安装教程
1、双击“SmartAssembly.exe”,如下图,点击继续
2、稍等一会儿就会完成安装了
3、接着运行软件,使用注册机生成序列号激活就可以了
主要功能
1、Obfuscation
如果.NET应用程序没有被混淆,则可以很容易地进行反汇编,如果您在代码中投入了时间,精力和金钱,这可能会成为一个问题。模糊代码很容易做到,并增加了防止逆向工程和修改的屏障
多种形式的混淆和优化
代码混淆使您的应用程序难以进行逆向工程,删除无用的代码,并压缩依赖关系,保护和压缩您的应用程序,而不用担心
2、自动错误报告
自动错误报告是一种异常处理机制,可在发生错误时自动且无提示地收集详细信息。尽管可高度自定义,但典型的错误报告包含完整堆栈跟踪和有关异常上下文的详细信息(例如,所有局部变量的值)
①为应用程序配置和添加异常处理需要几秒钟,只需对代码进行很少的更改,同时可以访问大量有价值的反馈
②没有更多耗时的电子邮件交换来获取所有必要的细节。您的最终用户可以通过单击按钮报告未处理的异常,这意味着您可以更快地修复错误
③您可以获得有关未处理异常最常复发的连续数据,从而帮助您确定影响最终用户的错误的优先级
④您可以通过识别和修复最终用户实际遇到的问题来降低支持成本
3、合并DLL
编译.NET代码通常会导致创建多个程序集文件,包括卫星DLL,所有这些都是程序运行所必需的。虽然这在开发期间不是问题,但在部署时,它通常意味着用户不必要解压缩文件或安装程序中的其他步骤,因为DLL会移动到特定位置
软件特色
1、改名
更改方法和字段的名称,以使其难以理解它们的用途。
2、控制流混淆
将方法内部的代码转换为“意大利面条代码”,以使其难以查看应用程序的工作方式。
3、参考动态代理
为程序集外部方法的调用创建代理,以使其难以查找外部调用。
4、字符串编码
对软件中使用的字符串进行编码,以隐藏诸如密码和SQL查询之类的信息。
5、资源压缩和加密
压缩和加密托管资源以使其难以理解,并减小程序集的大小。
6、修剪
删除无用的元数据,以使代码更难以逆向工程,减小程序集的大小并缩短加载时间。
7、依赖合并
获取所有DLL并将依赖项合并到主程序集中,因此您不必加载大量DLL文件,并且也可以对其进行混淆。
8、依赖项压缩和嵌入
将依赖项压缩并嵌入到主程序集中,从而简化了软件的部署并减小了程序的大小。
9、方法父级混淆
通过更改代码中的类来移动它们中的方法,这使理解方法和类之间的相互关系变得更加困难。
10、具有防篡改功能的强名签名
在您的组件上签名,并帮助保护其免遭修改(标准版中不提供其他防篡改功能)。
11、声明式混淆
直接在代码中使用自定义属性将成员排除在混淆之外。
12、调试
SmartAssembly解码混淆的堆栈跟踪并生成包含调试信息的.pdb文件,这使您可以将程序集调试到IDE中,并在发生异常时获取完整的堆栈跟踪,SmartAssembly甚至有助于确保您自动释放不需要的内存。
13、整合与支持
可以使用MS Build或命令行将混淆处理集成到生成过程中,并支持.NET 2.0到4.7,包括.NET Core和.NET Standard以及XNA(除某些例外)。
14、标准模板范围
在提示或不提示最终用户的情况下发送错误报告。
15、自定义模板(可从SDK获得)
发生异常时,使您可以完全控制显示给最终用户的对话框。
16、报告分类
对报告进行分类,以快速查看用户遇到的最常见错误。
17、共享异常报告
查看组织中任何开发人员或构建系统构建的应用程序的异常报告。
18、系统信息一律发送
Windows版本,.NET版本以及已加载程序集的列表与堆栈跟踪一起发送。
19、将文件附加到错误报告
日志文件,屏幕截图和任何其他类型的文件都可以附加到错误报告中。
20、收集最终用户的电子邮件地址
告诉客户问题已解决的时间,从而打动您的客户。
21、安全
错误报告存储在Web服务中时会进行加密,下载后会从服务器中删除。
22、Redgate托管的Web服务
无需复杂的安装,因为Redgate托管了将错误报告发送到的Web服务。
23、定制网络服务
自己运行Web服务以获得最大的灵活性。