[发明专利]一种基于虚拟机指令修改的Android应用加固系统及方法在审
申请号: | 201710928499.6 | 申请日: | 2017-10-09 |
公开(公告)号: | CN107729725A | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 吕小亮;刘苇;祁龙云;魏兴慎;宋子锋;韩勇;杨维永;黄益彬 | 申请(专利权)人: | 南京南瑞集团公司;南京南瑞信息通信科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F8/41;G06F8/53;G06F9/455 |
代理公司: | 南京纵横知识产权代理有限公司32224 | 代理人: | 董建林 |
地址: | 210003 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于虚拟机指令修改的Android应用加固方法,包括选取需要加固的方法名;从DEX方法文件中抽取出与方法名对应的原始Dalvik指令;构造指令集转换映射关系,将抽取的原始Dalvik指令转换为自定义虚拟指令并保存到动态库中;构造自定义虚拟机执行引擎执行上述转换后的自定义虚拟指令;将原Android应用程序APK中的资源文件以及经过上述步骤处理后的文件重新打包编译。本发明方法经过虚拟机保护的关键代码将不再由Dalvik虚拟机执行,可以较好抵御依赖Dalvik字节码的静态逆向分析,即使通过动态内存DUMP出DEX文件也无法做出有价值的分析。 | ||
搜索关键词: | 一种 基于 虚拟机 指令 修改 android 应用 加固 系统 方法 | ||
【主权项】:
一种基于虚拟机指令修改的Android应用加固系统,其特征是,包括依次相连的应用解析模块、安全加固模块和重新编译模块;应用解析模块,对待加固的Android应用程序APK反编译得到Smali文件,遍历Smali文件选取需要加固的方法名;安全加固模块包括依次相连的指令抽取子模块、指令转换子模块和字节码解析子模块;其中指令抽取子模块,根据应用解析模块中选取的需要加固的方法名,从DEX文件中抽取出与方法名对应的原始Dalvik指令,并用Native方法指令替换此原始Dalvik指令;指令转换子模块,构造指令集转换规则,根据所述指令集转换规则将上述指令抽取子模块抽取的标准Dalvik指令转换为自定义的虚拟指令;字节码解析子模块,构造独立于标准Dalvik虚拟机的自定义虚拟机执行引擎,执行上述转换后的自定义虚拟指令集。重新编译模块,将原Android应用程序APK中的资源文件以及经过安全加固模块处理后的文件重新打包编译成新的应用程序安装包。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞集团公司;南京南瑞信息通信科技有限公司,未经南京南瑞集团公司;南京南瑞信息通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710928499.6/,转载请声明来源钻瓜专利网。