写点什么

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

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

关注

评论

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

微服务、网关、服务发现/注册的正确打开方式

Java全栈架构师

Java 程序员 架构 微服务 程序人生

数据结构——二叉树

工程师日月

8月月更

开源一夏 | 在 STM32L051 上使用 RT-Thread (二、无线温湿度传感器 之 CubeMX配置)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

融会贯通,并行不悖 | 2022年8月《中国数据库行业分析报告》精彩抢先看

墨天轮

数据库 greenplum MPP 国产数据库 HTAP

企业应用现代化实用教程 | 如何快、准、狠地进行应用容器化改造?

York

容器 云原生 数字化转型 架构设计 应用现代化

我和谷歌共成长——我的Google Play上车之路

云村的泊

8月月更

.NET 6 SignalR websocket 入门(一)

辣么大

.net SignalR 8月月更

动态尺寸模型优化实践之Shape Constraint IR Part I

阿里云大数据AI技术

深度学习 编译器

mybatis入门案例

Geek_5829b6

Java 数据库 mybatis

关起门来搞开源,做不了开源世界的Leader

源字节1号

开源 软件开发

国产系统的不足或许可以靠小程序弥补

Geek_99967b

小程序

开源的价值观与文化的传递

开源社

#开源

怎么理解后App时代的轻应用技术

FN0

App 小程序容器 轻应用 快应用

10种有用的Linux Bash_Completion 命令示例

华为云开发者联盟

Linux 后端 开发

华为云构建云原生DevSecOps平台,保障软件供应链全流程安全可信

华为云开发者联盟

云计算 云原生 安全 后端 华为云

秒验丨Android端SDK API使用说明

MobTech袤博科技

android UI 秒验

【限时领奖】消息队列 MNS 训练营重磅来袭,边学习充电,边领充电宝~

阿里巴巴中间件

阿里云 云原生 消息队列 课程 MNS

基于深度学习的细粒度分类研究及应用

之家技术

人工智能 深度学习 模型 图像 CVPR

4步教你学会使用Linux-Audit工具

华为云开发者联盟

Linux 工具 安全 监控 开发

短视频直播app源码——软件系统开发方案

开源直播系统源码

软件开发 直播系统源码 短视频直播源码 短视频直播

加密市场由阴转晴,Zebec或成2022后半段黑马

鳄鱼视界

泄露了,22年阿里巴巴秋招内部面试资料,看完之后剑指offer

Java面试那些事儿

Java 编程 程序员 面试 架构师

闲谈Serverless,价值和未来

白留明(Armin.Lionheart)

云计算 Serverless Faas

面向大规模数据的云端管理,百度沧海存储产品解析

百度Geek说

人工智能 数据

怎样评测对比报表工具的性能?

Bug终结者

Java sql SPL 8月月更

mybatis基础的crud

Geek_5829b6

Java mybatis

量化交易合约机器人系统开发策略分析

薇電13242772558

量化策略

全新物联网数据集成:Flow可视化编排&双向数据桥接

EMQ映云科技

物联网 IoT flow emqx 8月月更

加密市场的投资布局,Zebec实属价值洼地

西柚子

2min速览:从设计、实现和优化角度浅谈Alluxio元数据同步

Alluxio

元数据 数据同步 Alluxio 大数据 开源 8月月更

从阿里云全球实时传输网络GRTN出发,浅谈QOE优化实践

阿里云视频云

边缘计算 直播 边缘云 全球加速

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