写点什么

支持可移植类库及 WinRT 的 Crypto Obfuscator .Net v2013

  • 2013-02-08
  • 本文字数:2475 字

    阅读完需:约 8 分钟

印度的 LogicNP 软件近日发布了 Crypto Obfuscator .Net v2013 产品,支持可移植类库 Windows 8 WinRT Windows Phone 8 ,并改进了 SQL CLR 程序集。该版本包含新的日志选项卡,用于展示在代码混淆过程中完整的日志输出;以及一种假名重命名机制(fake renaming scheme),允许开发者将除了真实名字外的全部类、域、方法重命名为假名,并能够支持转发的类型

Crypto Obfuscator .Net v2013 允许从模块构造函数中调用用户自定义方法。它会通过e-mail 生成新的异常报告来通知你,自动将原始屏幕截图插入到异常报告中,并将授权许可程序集加密到多个程序集中。

新的方法“加密技术”会将全部中间语言(IL)代码加密和隐藏在方法中,并支持从异常检视器的对话窗中直接打开异常报告的附件。它同时提供向异常报告添加图片、文件、二进制数据,并为全部重命名符号(包括Pdb 文件中的本地变量名)指定前缀、后缀的能力。

它也可以指定一种包含模式的模糊规则,类似于通配符正则表达式的模式。最新版本包括一个新的演示例程,用于逐步展示如何向异常报告附加文件,日志及屏幕截图。

InfoQ 访谈了 LogicNP 软件的高级开发人员 Himangi G,以更多地了解代码混淆技术以及最近发布的 Crypto Obfuscator .Net v2013.

InfoQ: 为什么要做代码混淆?

.NET 中的 C#、VB.NET、托管 C++ 及 IronPython 等语言的编译器,将程序编译为 MSIL(微软中间语言)格式。该格式保留了软件中许多高层次的信息,例如类、域、方法、属性、参数的名字,乃至于用清晰的格式保留了实际的代码。因此,未经保护的.NET 程序集将很容易成为黑客、骇客或竞争对手的目标,他们可以:

  • 轻松的对你的.NET 代码进行反向工程
  • 从字符串中提取密码及 SQL 查询
  • 搜集有价值的商业秘密,算法
  • 寻找安全漏洞
  • 改变程序功能

使用如 Crypto Obfuscator 这样的代码混淆器,你可以:

  • 通过多种代码混淆和保护技术来保护你的代码和知识产权,免受黑客、骇客或竞争对手的侵扰。这些技术包括符号(类 / 方法 / 熟悉 / 域的名称)重命名、字符串 / 常量的加密、方法主体的加密、控制流的代码混淆、方法调用的隐藏及其他方法
  • 保护你在软件中的时间、金钱投资——增加你的 ROI(投资回报率)
  • 在一些情况下能够得到额外的效果:提高你的应用的性能

InfoQ: .NET Framework 4.5 是否包含代码混淆工具?

.NET Framework 4.5 不保护任何代码混淆工具。在分发程序集前进行代码混淆是开发者自己的职责。

InfoQ: 与同类工具相比,Crypto Obfuscator for .Net v2013 有什么不同?

除了符号重命名、字符串加密、控制流混淆等标准的保护和代码混淆方法,Crypto Obfuscator 提供了一些独特的保护手段,例如方法主体加密、常量域值移除、方法调用隐藏、防篡改、防调试 / 追踪、防反射(针对.net 中的反射机制)等。综合这些方法,.Net 程序集可以得到极其强大的代码保护。

另一种有用的特性是自动化异常报告。该特性可以帮助你节省客服支持时间并帮助你洞悉软件在实际中的运行情况。

Crypto Obfuscator 的另一个独有特性,是在代码混淆后显示的警告。它列出了你的程序集中可能会导致代码混淆失败的每一行代码。在其他代码混淆器中,开发者往往只能在黑暗中探寻究竟是什么原因导致代码混淆后的程序集不能正常工作。

Crypto Obfuscator 定价非常合理,不像同类产品那样售价高达数千美元。我们相信 Crypto Obfuscator 是目前在特性、功能与价格方面的最佳结合。

Crypto Obfuscator 还提供了其他一些特性,包括支持对多种类型的应用进行代码混淆,例如:基于 Windows 8 的 WinRT/Metro 应用,Windows Phone 8/7 应用、Silverlight 应用;以及自动化的命令行支持、程序签名、MSBuild 的集成支持、支持 Pdb 文件、直接对 XA 片进行代码混淆、XAML/BAML 代码混淆等。

InfoQ: 自动化异常报告是如何工作的?

自动化异常报告通过在代码混淆过程中监测你的代码,来捕捉你的程序中出现的任何未处理的异常,并帮助你的用户使其仅需一次简单的点击即可将这些异常报告给你。异常报告包括所有的相关信息,包括完整的堆栈跟踪信息、异常发生的时间、版本号,以及可选的开发者定义的用户数据,例如日志文件、屏幕截图等。

所有的异常报告可从 Crypto Obfuscator 的异常报告服务器端自动下载并在其中查看。每份报告及其相关数据会被清晰的表述,以便你根据这些信息来修订引发异常的问题。

InfoQ: Crypto Obfuscator For .Net 是如何帮助我提高程序性能的?

Crypto Obfuscator 使用了一些技术来帮助提升性能,例如减少元数据、将类标记为封闭的、去除常量的域的值等等。其他代码混淆机制也会引入性能提升,例如符号重命名会极大地缩短类 / 方法 / 域 / 属性的名字,从而会提升性能。

InfoQ:是否可以在 Visual Studio 2012 中使用 Crypto Obfuscator For .Net v2013?

是的,Crypto Obfuscator 提供了 Visual Studio 的项目集成向导,可以帮助你在将代码混淆的步骤整合(借助 MSBuild)到 Visual Studio 的项目构建流程中。 整合后,程序集会在构建项目的过程中自动通过 Crypto Obfuscator 完成代码混淆。

InfoQ: 为何要支持 Windows Phone 和 WinRTF 平台?

我们相信 Windows Phone 和 WinRT/Metro 平台有着巨大的潜力,而且会随着时间的推移变得更加流行。我们大量的客户要求增加针对这些平台程序集的代码混淆支持,所以我们毫不费力的做出了这个决定。

InfoQ: 你们支持 Android, iOS 吗?

是的,Crypto Obfuscator 支持这些平台下使用 Mono for Android Mono Touch 框架开发的程序.

InfoQ: 能为我们分享一些 Crypto Obfuscator for .Net v2013 的未来路线吗?

我们计划在接下来的数月中,为 Crypto Obfuscator 添加一些新的代码混淆和保护机制。此外,我们还计划改进已有的代码混淆机制。最终,这一切的目标都是为了使.NET 程序集变得更难被反编译或被进行反向工程。

查看英文原文 Crypto Obfuscator .Net v2013 with Portable Class Library and WinRT


感谢侯伯薇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-02-08 09:123415
用户头像

发布了 256 篇内容, 共 82.3 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

转转AB平台的设计与实现

转转技术团队

大数据 A/B 测试

如何写一个深度学习编译器

MegEngineBot

深度学习 开源 编译器 MegEngine MegCC

Git使用教程之本地仓库的基本操作

芯动大师

git git 学习 Git命令行

MAXHUB+腾讯会议:为未来办公造一部动力引擎

脑极体

丧心病狂,竟有Thread.sleep(0)这种神仙写法?

JAVA旭阳

Java JVM

无魅友,不魅族!魅族大力推广魅友文化,用行动阐述何为用户共创

极客天地

如何在 15 分钟内度量 DORA 指标?

思码逸研发效能

研发效能

华为云数据库GaussDB(for MySQL)全方位守护企业云上数据安全

爱科技的水月

Content-Length使用不规范导致Socket Hang Up问题

Kevin Wu

TCP HTTP HttpClient content-length

直呼内行,华为云桌面就是这么专业

IT科技苏辞

HTTP实体首部字段

穿过生命散发芬芳

HTTP 12月月更

2022-12-27:etcd是无界面的,不好看,joinsunsoft/etcdv3-browser是etcd的web可视化工具之一。请问在k3s中部署,yaml如何写?

福大大架构师每日一题

云原生 k8s etcd k3s 福大大

Docker 中的挂载卷

HoneyMoose

物联网 IOT 设备如何脱离信息孤岛?

eng八戒

物联网 IoT 网络 网络配置 涂鸦智能

Code Review到底在关注些什么?

孟君的编程札记

Java CodeReview

大咖说·阿里云教育|“网上浙大”数字化之路

大咖说

数字化 高校

Java高手速成│编写你第一个数据库程序

TiAmo

JDBC 数据库· 12月月更

基于聚类算法的话术挖掘技术及在营销服场景的落地应用

中关村科金

人工智能 大数据 算法 对话机器人 技术实践

数据代码如何“产地直销”,做到持续集成持续发布?

数造万象

使用 QuTrunk+Amazon ParallelCluster3 进行并行计算

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 Hero 专栏

这一篇让你彻底搞懂微信生态里的二维码

产品海豚湾

产品经理 产品设计 二维码 微信扫码 SaaS 产品

守护企业数据安全,华为云数据库 GaussDB(for MySQL)有绝招

科技之光

企业数据上云,华为云数据库 GaussDB(for MySQL)轻松解决

科技之光

架构实战营模块三作业

张贺

华为云数据库助力微鲤科技智能升级

爱科技的水月

【web 开发基础】PHP数组元素的添加和删除操作 (49)

迷彩

数组 数组操作 PHP基础 先进先出 后进先出

手游“Lord of Dragons Global”进军P2E市场

科技热闻

云上数字化时代,华为云桌面助力政企办公升级

IT科技苏辞

DAG任务调度系统 Taier 演进之道,探究DataSourceX 模块

袋鼠云数栈

开源

企业金融App评测系列——微众银行以App构筑企业金融服务新生态,成为企业的随身数字银行

易观分析

企业 金融 银行

「Go框架」http请求处理流程: gin、beego等web框架是如何处理http请求的?

Go学堂

golang 开源 程序员 个人成长 12月月更

支持可移植类库及WinRT的Crypto Obfuscator .Net v2013_语言 & 开发_Anand Narayanaswamy_InfoQ精选文章