[发明专利]基于安卓平台和IOS平台的混淆编译方法及混淆编译器有效
申请号: | 201611089866.X | 申请日: | 2016-12-01 |
公开(公告)号: | CN106778100B | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 郭训平;林魏;严智慧 | 申请(专利权)人: | 北京智游网安科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 深圳市鼎言知识产权代理有限公司 44311 | 代理人: | 张利杰 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 平台 ios 混淆 编译 方法 编译器 | ||
本发明提供了一种基于安卓平台和IOS平台的混淆编译方法。所述基于安卓平台和IOS平台的混淆编译方法包括如下步骤:一、获得基于安卓平台或基于iOS平台的源代码;二、编译器插件在对所述源代码进行编译时触发混淆插件对所述源代码进行自动混淆处理,并生成安全文件。本发明还提供一种基于安卓平台和IOS平台的混淆编译器。本发明的有益效果是:所述基于安卓平台和IOS平台的混淆编译方法和混淆编译器通过基于clang‑llvm技术对安卓和iOS的代码进行混淆编译,从而不会对混淆后的文件的符号表造成任何影响。
技术领域
本发明属于代码混淆技术领域,具体地涉及一种基于安卓平台和IOS平台的混淆编译方法及混淆编译器。
背景技术
目前,基于安卓平台的c/c++代码和iOS平台的objective-c代码的现有混淆技术都是在源代码基础上提供混淆并输出混淆后的源代码,而最终编译成ELF文件、.m文件、APK文件或者IPA文件都是由混淆后的源代码进行编译而生成。
但是,上述方案存在的问题在于:将会对符号表产生影响。符号表为每个项目编译时对源码中的每一个标识进行记录的一个类似字典的文件,而混淆后的文件编译是使用混淆后的代码,所以代码标识也都进行了改变,因此符号表也完全改变了;如此,在有符号表使用需求的场景就会出现符号表与源代码没有任何关系,而符号表仅与混淆后的代码相关。
发明内容
本发明的目的在于提供一种能够不破坏和影响符号表使用且编译简单安全的基于安卓平台和IOS平台的混淆编译方法及混淆编译器。
本发明的技术方案如下:一种基于安卓平台和IOS平台的混淆编译方法,包括如下步骤:
一、获得基于安卓平台或基于iOS平台的源代码;
二、编译器插件在对所述源代码进行编译时触发混淆插件对所述源代码进行自动混淆处理,并生成安全文件。
优选地,在步骤一中,所述基于安卓平台的源代码包括基于安卓平台的c/c++代码。
优选地,在步骤二中,针对所述基于安卓平台的c/c++代码,导入基于eclipse的编译插件,正常使用eclipse即可触发所述混淆插件完成所述基于安卓平台的c/c++代码的自动混淆编译操作。
优选地,在步骤一中,所述基于iOS平台的源代码包括基于iOS平台objective-c代码。
优选地,在步骤二中,针对所述基于iOS平台objective-c代码,导入基于xcode的编译插件进行正常编译即可触发所述混淆插件完成混淆编译。
优选地,所述混淆插件基于clang-llvm技术对代码进行混淆处理,使得混淆编译过程中产生的符号表与所述源代码相关联。
一种基于安卓平台和IOS平台的混淆编译器,包括编译器插件和混淆插件, 所述编译器插件在对基于安卓平台或IOS平台的源代码进行编译时触发所述混淆插件对所述源代码进行自动混淆处理,并生成安全文件。
优选地,所述编译器插件包括针对基于安卓平台源代码的基于eclipse的编译插件,以及针对基于iOS平台源代码的基于xcode的编译插件。
优选地,所述混淆插件是基于clang-llvm技术的混淆插件。
本发明提供的技术方案具有如下有益效果:
1、相对于黑盒编译系统,本发明实施例提供的基于安卓平台和IOS平台的混淆编译方法和混淆编译器使用更简单和方便,而且,对于安卓平台提供了基于eclipse的编译插件,通过所述基于eclipse的编译插件触发混淆插件即可进行自动混淆操作并生成安全文件;对于iOS平台提供了基于xcode的编译器插件,导入插件正常使用xcode即可完成混淆编译;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智游网安科技有限公司,未经北京智游网安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611089866.X/2.html,转载请声明来源钻瓜专利网。