Red Gate SmartAssembly电脑官方版是一款NET代码保护加密工具软件,这款软件能够帮助.NET开发人员生产出质量超好的软件,并且还为用户提供了字符串编码,控制流混淆,资源压缩和加密等多项功能,用户可以利用这款软件更好的去保护自己的.NET代码和IP,感兴趣的小伙伴就快来下载体验吧。
Red Gate SmartAssembly软件功能
1、标准模板范围
在提示或不提示最终用户的情况下发送错误报告。
2、自定义模板*
(可从SDK获取)
发生异常时,使您可以完全控制显示给最终用户的对话框。
3、报告分类
对报告进行分类,以快速查看用户遇到的最常见错误。
4、共享异常报告
查看组织中任何开发人员或构建系统构建的应用程序的异常报告。
5、总是发送系统信息
Windows版本,.NET版本以及已加载程序集的列表与堆栈跟踪一起发送。
6、将文件附加到错误报告*
日志文件,屏幕截图和任何其他类型的文件都可以附加到错误报告中。
7、收集最终用户的电子邮件地址
通过告诉客户问题已解决的方式来打动您的客户。
8、安全
错误报告存储在Web服务中时经过加密,下载时会从服务器中删除。
9、Redgate托管的Web服务
无需复杂的安装,因为Redgate托管了将错误报告发送到的Web服务。
定制网络服务*
自己运行Web服务以获得最大的灵活性。
Red Gate SmartAssembly软件特色
1、发布申请
允许您处理程序集以发布给最终用户
2、代码混淆
名称处理,控制流混淆,字符串编码,引用动态代理,修剪,对强命名程序集重新签名,声明性混淆,卫星DLL的混淆,符号程序集
防篡改
方法父级混淆
3、减少应用程序大小并提高速度
修剪,资源压缩和加密,依赖项压缩和嵌入,依赖项合并,声明性修剪
4、自动错误报告
错误报告
从堆栈跟踪跳转到源代码
报告分类
将错误报告存储在本地SQLite数据库中
将错误报告存储在SQL Server中,使您可以与同事共享报告
定制网络服务
SDK可以以编程方式访问您的异常报告,并在需要时将异常手动传递给SmartAssembly
自定义模板,用于自定义错误报告对话框并捕获带有异常报告的其他数据(例如日志文件)
5、功能使用情况报告
功能使用情况报告
将报告导出为CSV
配置报告
将功能使用情况报告存储在本地SQLite数据库中
将功能使用情况报告存储在SQL Server中,使您可以与同事共享报告
定制网络服务
自定义模板,用于自定义最终用户在要求他们同意功能使用情况报告时看到的对话框
Red Gate SmartAssembly功能介绍
1、Obfuscation
如果.NET应用程序没有被混淆,则可以很容易地进行反汇编,如果您在代码中投入了时间,精力和金钱,这可能会成为一个问题。模糊代码很容易做到,并增加了防止逆向工程和修改的屏障。
2、自动错误报告
自动错误报告是一种异常处理机制,可在发生错误时自动且无提示地收集详细信息。尽管可高度自定义,但典型的错误报告包含完整堆栈跟踪和有关异常上下文的详细信息(例如,所有局部变量的值)
①为应用程序配置和添加异常处理需要几秒钟,只需对代码进行很少的更改,同时可以访问大量有价值的反馈。
②没有更多耗时的电子邮件交换来获取所有必要的细节。您的最终用户可以通过单击按钮报告未处理的异常,这意味着您可以更快地修复错误。
③您可以获得有关未处理异常最常复发的连续数据,从而帮助您确定影响最终用户的错误的优先级。
④您可以通过识别和修复最终用户实际遇到的问题来降低支持成本。
3、合并DLL
编译.NET代码通常会导致创建多个程序集文件,包括卫星DLL,所有这些都是程序运行所必需的。虽然这在开发期间不是问题,但在部署时,它通常意味着用户不必要解压缩文件或安装程序中的其他步骤,因为DLL会移动到特定位置。
Red Gate SmartAssembly特色亮点
1、名字碾压
更改方法和字段的名称,使其难以理解其用途。
2、控制流混淆
将方法内部的代码转换为“意大利面条代码”,使查看应用程序如何工作变得困难。
3、引用动态代理
为对程序集外部方法的调用创建代理,使外部调用难以查找。
4、字符串编码
编码软件中用于隐藏密码和SQL查询等信息的字符串。
5、资源压缩和加密
压缩和加密托管资源,使其难以理解,并减小程序集的大小。
6、修剪
删除无用的元数据,使代码更难进行反向工程,减少程序集的大小,并提高加载时间。
7、依赖项合并
获取所有DLL并将依赖项合并到主程序集中,这样就不必加载大量dll文件,而且还可以混淆它们。
8、依赖项压缩和嵌入
将依赖项压缩并嵌入主程序集中,从而简化了软件的部署并减小了程序的大小。
9、方法家长困惑
通过更改方法所在的类来移动代码中的方法,从而使方法和类之间的关系更难理解。
10、强名称签名与篡改保护
为程序集签名,并帮助保护程序集免受修改。
11、声明性困惑
在代码中直接使用自定义属性将成员排除在混淆之外。