一种安卓应用程序防逆向破解的加固方法、系统及解密方法技术方案

技术编号:15501182 阅读:149 留言:0更新日期:2017-06-03 22:40
本发明专利技术涉及一种安卓应用程序防逆向破解的加固的方法、系统及解密方法,其中加固方法及系统均利用apktool工具对Android应用程序反汇编成smali文件,遍历所有的类,添加clinit,使用apktool进行重新编译成DEX文件,对DEX加固用到的关键SO进行SO加固保护。解密方法为分布式按需加载类文件,判断系统环境,通过数学统计学探测虚拟机是否被篡改。应用本发明专利技术的加解密技术方案,为Android平台下的应用加解密提出了创新的思路和可行的技术解决途径,可用于对Android平台下的应用进行保护,防止程序被反编译等黑客手段攻击,保护商业软件的机密性、保护用户应用安全。

Method, system and decryption method for preventing reverse cracking of Android application program

The invention relates to a method and a reinforcement of the Android application anti reverse break system and decryption method, the reinforcement method and system using apktool tools for Android application anti compile the SmalI file traversal of all classes, add clinit, apktool re compiled DEX files, SO DEX used for key reinforcement the SO reinforced protection. The method of decryption is to load the class files according to the demand, to judge the system environment, and to detect whether the virtual machine is tampered with by mathematical statistics. Encryption and decryption of the technical scheme of the invention puts forward innovative ideas and feasible technical solutions for the Android platform under the application of encryption and decryption, can be used for the application of Android platform to protect and prevent attacks by anti hacking program compilation, confidentiality, user application security protection software.

【技术实现步骤摘要】
一种安卓应用程序防逆向破解的加固方法、系统及解密方法
本专利技术涉及基于移动终端应用加密
,具体而言,本专利技术涉及一种安卓应用程序防逆向破解的加固方法、系统及解密方法。
技术介绍
目前,由Google公司主导开发的Android操作系统已经是全球市场占有率最高的移动智能终端平台。Android的应用软件数量不断增长,并建立了良好的软件销售模式。与传统PC平台一样,Android应用软件的成功商业化,也引发了对它们的逆向分析和破解。对应用软件的逆向分析(reversinganalysis)包括:一、对软件的可执行代码采用反汇编、反编译、调试等方法进行分析,以了解其代码的执行流程和算法实现等;二、对软件的配置文件和数据文件进行分析,以获得这些文件的格式和语义等;三、对软件的网络通信数据进行分析,以获得软件与服务器通信的协议格式、协议语义、数据加密方法和数据具体含义等。其中,后两类分析建立在第一类分析的基础之上,即需要先分析可执行代码,才能进一步分析配置文件、数据文件、网络通信数据等。通过逆向分析,攻击者可以获得软件中的商业机密。例如,在手机的反病毒软件中,恶意代码检测算法、特征匹本文档来自技高网...
一种安卓应用程序防逆向破解的加固方法、系统及解密方法

【技术保护点】
一种安卓应用程序防逆向破解的加固方法,包括以下步骤:使用安卓安装包编译工具对安卓应用程序进行反向汇编,生成中间文件;遍历生成中间文件中的类,对需要加载的类设置对应的类构造器;抽取出除了类构造器和初始化函数之外的所有中间文件进行加密并存储;以及,调用动态链接库对可执行文件进行加固。

【技术特征摘要】
1.一种安卓应用程序防逆向破解的加固方法,包括以下步骤:使用安卓安装包编译工具对安卓应用程序进行反向汇编,生成中间文件;遍历生成中间文件中的类,对需要加载的类设置对应的类构造器;抽取出除了类构造器和初始化函数之外的所有中间文件进行加密并存储;以及,调用动态链接库对可执行文件进行加固。2.根据权利要求1所述的方法,在抽取出除了类构造器和初始化函数之外的所有中间文件进行加密之前,还包括:使用安卓安装包编译工具对上述设置了类构造器的中间文件进行汇编处理,重新编译成可执行文件。3.根据权利要求1所述的方法,对所述中间文件进行加密还包括:对所述中间文件进行抽取操作,生成空壳程序文件和入口地址文件;以及,对所述入口地址文件进行修改操作,生成修改入口。4.根据权利要求3所述的方法,调用动态链接库对可执行文件进行加固之后还包括:将加固文件写入空壳程序文件中。5.根据权利要求1所述的方法,所述空壳程序文件中还包括解密流程,该解密流程包括:当类需要装载的时候,调用类构造器,通过类构造器调用底层函数进而解密出代码;使用数学统计方法探测虚拟机是否被恶意篡改。6.根据权利要求1所述的方法,所述数学统计方法可包括规律性统计或方差均化方式。7.一种安卓应用程序防逆向破解的加固系统,包括以下单元:获取安装包单元:用于获取原始安卓安装包;反向汇编单元:利用安卓安装包编译工具对安卓应用程序反向汇编从而得到中间文件;类构造器单元:遍历生成的中间文件中的类,对需要加载的类设置对应的类构造器;抽取加密单元:抽取出除了类构造器和初始化函数之外的所有中间文件进行加密并存储;以及加固单元,调用动态链接库对可执行文件进行加固。...

【专利技术属性】
技术研发人员:郑伟龚蔚
申请(专利权)人:上海掌门科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1