50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

支持可移植类库及 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:123562
用户头像

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

关注

评论

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

小程序SDK的发展趋势与未来展望

FinFish

小程序 APP开发 小程序容器 超级app

【转载】亚信科技亮相中国高速公路信息化大会,与云南云通数联达成战略合作

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

龙蜥社区 3 月度运营大事件回顾

OpenAnolis小助手

活动 生态 龙蜥社区 运营月报 重要事件

FastAPI 的路由介绍与使用

宇宙之一粟

Python FastApi 路由

AI自然语言处理的过去和未来

鲸品堂

自然语言处理 ChatGPT 企业号 4 月 PK 榜

新思科技:车联网产业的起点是安全

InfoQ_434670063458

车联网 新思科技 汽车安全

三思光电入选浙江省2023数字化生产制造示范项目名单!

电子信息发烧客

阿里秀MySQL高端玩法,300页MySQL调优文档GitHub开源即巅峰

Java MySQL 数据库

阿里云EMAS移动测试最佳实践|马来西亚第一大电子钱包通过EMAS测试提效6倍

移动研发平台EMAS

云计算 阿里云 移动研发平台 移动测试

海尔牵头!又一国家重点研发计划启动!

Openlab_cosmoplat

人工智能 开源项目 开源社区

软件测试/测试开发丨必知必会的Docker 命令

测试人

Docker 软件测试 自动化测试 测试开发

关于编译的重要概念总结

timerring

编译器

GitHub开源大厂缓存架构Redis优化的文档,900页全是干货

Java 数据库 redis 缓存

MySQL多版本并发控制MVCC实现原理

Java MySQL 数据库 MVCC

快速玩转 CNStack 2.0 流量防护

阿里巴巴云原生

阿里云 云原生 CNStack

HTTP与HTTPS的区别

测吧(北京)科技有限公司

测试

使用 Lambda Web Adapter 在 Lambda 上 构建 web 应用

亚马逊云科技 (Amazon Web Services)

Amazon

北京国家会计学院聂兴凯:用友BIP事项会计助力企业迈入智能会计时代

用友BIP

智能会计 价值财务

软件测试/测试开发丨必知必会的Docker 命令

测试人

Docker 软件测试 自动化测试 测试开发

愿我们心中都有信念,眼里都有光芒

禅道项目管理

团队管理 项目管理 敏捷开发

三次迭代终放“大招”,Themis Pro版即将问世

小哈区块

博睿数据中海油多云资源监控与治理案例荣膺云数大会年度优秀实践案例

博睿数据

可观测性 智能运维 博睿数据 精选案例

深入理解JVM运行机制与GC机制

Java JVM 虚拟机 GC

软件测试/测试开发丨应用打包还是测试团队老大难问题?

测试人

软件测试 自动化测试 测试开发

OceanBase入选啦!金融信创优秀解决方案(第二期)

OceanBase 数据库

数据库 oceanbase

三次迭代终放“大招”,Themis Pro版即将问世

西柚子

Selenium Grid作用是什么?Selenium Grid的使用过程?

测吧(北京)科技有限公司

测试

Higress 0.7.0 版本发布:GA 进入倒计时

阿里巴巴云原生

阿里云 云原生 Higress

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