[发明专利]一种Android应用程序的动态脱壳方法在审
申请号: | 201610248368.9 | 申请日: | 2016-04-20 |
公开(公告)号: | CN105930692A | 公开(公告)日: | 2016-09-07 |
发明(设计)人: | 文伟平 | 申请(专利权)人: | 北京鼎源科技有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/14 |
代理公司: | 北京万象新悦知识产权代理事务所(普通合伙) 11360 | 代理人: | 黄凤茹 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公布了一种Android应用程序的动态脱壳方法,以加固后的Android应用程序为目标程序,通过利用Xposed框架,获取目标程序的dex文件,从而实现对目标程序进行脱壳;所述动态脱壳方法包括Android手机预处理过程、目标程序调试过程、对目标程序进行脱壳的过程和提取目标程序中的dex文件并修复程序的过程。Android系统中的库Libdvm.so包含函数参数是dex文件的函数如openDexFile函数,脱壳后的dex作为一个参数传到openDexFile函数,再通过在openDexFile函数下断点获取脱壳后的dex。利用本发明提供的技术方案,可有效地对恶意Android程序进行逆向分析,获取程序的源代码,从而实现对系统的安全保护。 | ||
搜索关键词: | 一种 android 应用程序 动态 脱壳 方法 | ||
【主权项】:
一种Android应用程序的动态脱壳方法,以加固后的Android应用程序为目标程序,通过利用Xposed框架,获取目标程序的dex文件,从而实现对目标程序进行脱壳;所述动态脱壳方法包括Android手机预处理过程、目标程序调试过程、对目标程序进行脱壳的过程和提取目标程序中的dex文件并修复程序的过程,具体步骤如下:A.对Android手机进行预处理时,在所述Android手机上安装Xposed模块和ZjDroid模块,并重启手机激活上述安装模块;B.在对Android手机上的目标程序进行调试时,执行如下操作:B1.在电脑端IDA工具包中找到android_server文件,将所述android_server文件发送到所述Android手机上,加上可执行权限后运行所述android_server文件,并监听所述Android手机端与电脑端的连接端口;B2.在所述Android手机上安装目标程序,通过端口转发使得所述IDA连接本地端口进行远程调试;B3.在所述Android手机端以调试模式启动目标程序;C.在电脑端实现对目标程序进行脱壳,具体执行如下操作:C1.通过所述IDA找到目标程序加载的模块libdvm.so,并针对模块libdvm.so中的可操作dex文件的函数下断点;C2.判断内存中的dex文件是否是已经脱过壳的dex文件;如果不是脱壳后的dex文件,则返回执行步骤C1;如果是脱壳后的dex文件,则执行步骤D;D.在提取内存中的dex文件并修复程序时,执行如下操作:D1.通过ZjDroid反编译内存中的dex文件并转存到本地文件系统中,得到dex文件;D2.将D1得到的dex文件转成jar文件,打开jar文件得到程序的java源代码;或将D1得到的dex文件直接替换目标程序中的dex文件,再重新打包得到脱壳后的程序文件;由此完成程序修复。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎源科技有限公司,未经北京鼎源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610248368.9/,转载请声明来源钻瓜专利网。
- 上一篇:一种图片解锁方法以及移动终端
- 下一篇:数据分析装置