[发明专利]一种安卓应用的加固方法和系统在审
申请号: | 201910523719.6 | 申请日: | 2019-06-17 |
公开(公告)号: | CN110232262A | 公开(公告)日: | 2019-09-13 |
发明(设计)人: | 张大健;张行;夏立宁 | 申请(专利权)人: | 中金金融认证中心有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京国帆知识产权代理事务所(普通合伙) 11334 | 代理人: | 刘小哲;刘宇航 |
地址: | 100192 北京市西城区菜市口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数指令 无效指令 加密 应用 应用程序核心 修复 底层函数 动态调试 动态启动 使用系统 应用程序 源码文件 结构体 新文件 解密 调用 解析 退出 分析 | ||
本发明公开了一种安卓应用加固的方法和系统,其包括步骤110,对原dex文件进行解析,获得含函数指令信息的结构体;步骤120,提取原dex文件中的函数指令加密后另存为新文件;步骤130,将原dex中被提取的函数指令位置值修改为无效指令;步骤140,使用系统底层函数的hook功能对函数指令进行修复;步骤150,在壳代码中调用hook函数;步骤160,动态启动原安卓应用程序实例并退出壳代码实例。由于通过对安卓应用中的java核心代码进行分析和加密,并在需要使用的时候进行解密,即使逆向人员通过动态调试和DUMP的方式,也只能得到包含无效指令的dex文件,获取不到完整的数据,并且无法修复。由于无法获取到完整的源码文件,提高了安卓应用程序核心代码的安全性。
技术领域
本发明涉及安卓移动安全保护领域,尤其涉及安卓应用的加固方法和系统。
背景技术
安卓(Android)应用(例如微信)的安装包都是以APK文件的格式进行存储,.apk文件实际上也是一种压缩格式,可以通过解压缩工具(比如winrar 软件)直接解压查看,并可以将压缩包中的所有文件解压出来。通过一些逆向工具(比如:ApkTool)也可以直接反编译apk文件来得到Android中的源码,通过分析源码可以知道软件中的一些关键算法和逻辑,甚至可以通过插入一些其它代码来破坏软件的安全性,能轻易的给用户带来安全隐患和损失。面对这样的问题,已经有一些加固方法可以防止APK文件被反编译,如:通过对APK文件中的dex(dex中存放了Android中的原生Java代码)进行整体加密,并加入壳代码,然后在程序运行时先运行壳代码,在壳代码中进行dex 的解密和动态加载。由于加了壳代码,很好的避免了APK包直接被逆向工具进行反编译,即使反编译了,得到的也是没有价值的壳代码,并不能获取到应用的核心java代码。虽然这种方式可以有效的防止逆向工具的反编译,却无法阻止逆向人员通过动态调试和内存DUMP的方式来获取到源代码。面对这样的动态攻击方式,急需一种方法来阻止攻击者通过内存DUMP方式来获取到源码。
发明内容
鉴于上述问题,本发明的目的在于提供一种Android应用的加固方法和系统,用以解决现有的加固方法和系统中,通过动态调试和内存DUMP的方式动态攻击获取源代码的问题。
为了实现上述目的,本发明提供了一种Android应用的加固方法,该方法包括:
第一步骤110,对Android应用程序中的原dex文件进行解析获得含函数指令信息的结构体;
第二步骤120,提取原dex文件中的函数指令加密后另存为新文件;
第三步骤130,将原dex中被提取的函数指令位置值修改为无效指令;
第四步骤140,使用系统底层函数的hook功能并对指令进行修复;
第五步骤150,在壳代码中调用hook函数;
第六步骤160,动态启动原Android应用程序实例并退出壳代码实例。
进一步地,在所述第一步骤110中,根据dex文件的结构的class_defs 和method_ids表找到dex中的类的位置偏移,获得含函数指令信息的结构体。
进一步地,在所述第二步骤120中,提取原dex文件中的函数指令加密后的新文件为.bin或.dat格式。
进一步地,在所述第二步骤120中,将原dex中被提取的函数指令位置值修改为无效指令后,重新计算所述原dex文件的checksum和signature信息并回写到原dex的头部信息中,再进行加密。
进一步地,在所述第四步骤140中,构建一个函数指令结构体,hook系统底层解析函数,获取原dex文件中的函数指令加密后的新文件的内存地址,并通过加解密模块进行解密,直接进行指令还原,这样就完成了函数指令的修复工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中金金融认证中心有限公司,未经中金金融认证中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910523719.6/2.html,转载请声明来源钻瓜专利网。