[发明专利]用于基于编译器的混淆的方法和计算设备有效
| 申请号: | 201480011267.9 | 申请日: | 2014-02-26 |
| 公开(公告)号: | CN105103127B | 公开(公告)日: | 2018-05-04 |
| 发明(设计)人: | O.A.米勒;T.岑;H.T.波斯坦奇;M.T.帕什尼亚克;K.S.佩特尔 | 申请(专利权)人: | 微软技术许可有限责任公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F21/14 |
| 代理公司: | 北京市金杜律师事务所11256 | 代理人: | 王茂华 |
| 地址: | 美国华*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 编译器 混淆 | ||
技术领域
本发明涉及基于编译器的混淆,并且特别地涉及用于基于编译器的混淆的方法和计算设备。
背景技术
与开发应用程序及其它代码相关联的一个挑战是保护代码的敏感部分不被修改、禁用或逆向工程。例如,可执行被设计成实现用于应用程序模块的电子许可和/或数字权限管理的代码部分的保护,以防止第三方围绕代码进行工作而非法地使用和/或分发该应用程序模块。开发者可直接地在对应用程序进行源编码的同时添加一些保护措施,然而,这对于开发者而言可能是相当麻烦且耗费时间的。另一方法涉及到在由编译器输出文件之后向已编译的二进制文件施加保护。然而,使已编译二进制码混淆可以使得一些二进制码变得不稳定,限制可用的混淆和代码优化的类型,并且增加开发过程的复杂性和时间。此外,被用于传统混淆的一些技术在运行时间或者通过磁盘上的二进制码的静态分析来检测是相当简单的,特别是由老练的黑客。传统混淆技术的这些及其它复杂性充当使得其低效且抑制开发者向其代码添加有效保护的障碍。
发明内容
描述了基于编译器的混淆。为了用混淆来保护代码项目的各部分,作为编译过程的一部分在编译器内修改该代码以产生使代码混淆的一个或多个修改。生成代码的已编译版本,其具有在编译器内产生的修改。在一个方法中,将编译器配置成消耗混淆描述,该混淆描述指示要保护的代码部分并指定要对所指示部分进行的修改。可在编译过程期间执行代码的各种不同修改以实现相应的混淆特征。例如,在编译器内进行的修改可包括但不限于被设计成使得能够实现代码的篡改检测、反调试和/或加密的修改。
本发明内容被提供用来以简化形式介绍下面在具体实施方式中进一步描述的概念的选择。本发明内容并不意图标识要求保护的主题的关键特征或必要特征,其也不意图用作确定要求保护的主题的范围的辅助。
附图说明
参考附图来描述具体实施方式。在图中,附图标记的(多个)最左数字标识该附图标记第一次在其中出现的图。相同附图标记在本描述和图中的不同实例中的使用可指示类似或相同的项目。
图1是可操作用于采用基于编译器的混淆技术的示例实施方式中的环境的图示。
图2是描述表示可发生以产生用混淆保护的已编译代码的操作的基于编译器的示例混淆的图。
图3是描绘其中作为针对开发项目的编译代码的一部分产生用混淆保护的已编译代码的示例实施方式中的工序的流程图。
图4是描绘其中作为编译过程的一部分对中间语言代码进行修改以产生已混淆代码的示例实施方式中的工序的流程图。
图5是描绘其中经由集成开发环境来执行基于编译器的混淆的示例实施方式中的工序的流程图。
图6图示出可以用来实现本文所述的技术的实施例的示例系统和系统的部件。
具体实施方式
概述
开发者使用传统混淆技术向其代码添加有效的保护以防止第三方非法地使用或分发代码可能是困难或不可能的。在源编码期间或者对由编译器输出的已编译二进制码应用的传统混淆技术可提供有限的保护选项,使用在运行时间检测起来相当简单的技术,和/或增加开发过程的时间/复杂性/成本。
在本文中描述了基于编译器的混淆。为了用混淆来保护代码项目的各部分,作为编译过程的一部分在编译器内修改该代码以产生使代码混淆的一个或多个修改。生成代码的已编译版本,其具有在编译器内产生的修改。在一个方法中,将编译器配置成消耗混淆描述,该混淆描述指示要保护的代码部分并指定要对所指示部分进行的修改。可在编译过程期间执行代码的各种不同修改以实现相应的混淆特征。例如,在编译器内进行的修改可包括但不限于被设计成使得能够实现代码的加密、反调试和/或篡改检测的修改。
在以下讨论中,首先描述可采用本文所述的基于编译器的混淆技术的示例环境。接下来,描述图示出基于编译器的混淆的示例细节的示例过程流程情形。然后描述可在该示例环境以及其它环境中执行的示例工序。因此,示例工序的执行不限于该示例环境,并且该示例环境不限于示例工序的执行。最后,描述可以在基于编译器的混淆的一个或多个实施方式中采用的示例系统和该系统的部件。
示例操作环境
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480011267.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:消息传递计算的动态可视化
- 下一篇:一种托架级进模具装置





