[发明专利]检测APK运行时被注入恶意代码的方法、终端设备及存储介质有效
申请号: | 201711180978.0 | 申请日: | 2017-11-23 |
公开(公告)号: | CN107808096B | 公开(公告)日: | 2019-12-17 |
发明(设计)人: | 刘星;魏丽珍;梁煜麓;罗佳 | 申请(专利权)人: | 厦门安胜网络科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 35218 厦门市精诚新创知识产权代理有限公司 | 代理人: | 方惠春 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明检测APK运行时被注入恶意代码的方法,根据安卓安装包运行时被注入恶意代码的是通过修改安卓系统虚拟机中java方法的数据结构来实现的这个原理,来进行安卓安装包运行时被注入恶意代码的检测。通过检测应用的关键方法在虚拟机中的存储数据结构是否改变来检测安卓安装包运行时是否被注入恶意代码,检测结果更加准确有效。 | ||
搜索关键词: | 检测 apk 运行 注入 恶意代码 方法 终端设备 存储 介质 | ||
【主权项】:
1.一种检测安卓安装包运行时被注入恶意代码的方法,其特征在于:包括如下步骤:/nS1:启动安卓安装包APK,进入S2步骤;/nS2:注册一个native方法M,其内存地址为m,进入S3步骤;/nS3:获取M的存储起始地址:在M的native代码中通过调用java本地接口jni函数,获取到该方法的jmethodID,其中jmethodID为方法在java虚拟机里对应数据结构的存储起始地址,进入S4步骤;/nS4:扫描M的jmethodID指向的内存地址,即M的内存地址,判断其是否等于m,若是,则进入S5步骤;若否,则重复执行S4;/nS5:获取m的相对偏移S,进入S6步骤;/nS6:设置需要检测的安卓安装包的关键方法为M0,判断M0是否为native方法,若是,则设置M0对应的native内存地址是m0,进入S7步骤;若否,则表明M0为java方法,进入S7步骤;/nS7:通过获取M0的jmethodID,即M0在java虚拟机里对应数据结构的起始地址P0,进而获取相对P0偏移为S的地址中的数据A或D,当M0为native方法时,定义相对P0偏移为S的地址中的数据为A,当M0为java方法时,定义相对P0偏移为S的地址中的数据为D,若M0为native方法时,进入S8步骤;若M0为java方法时,进入S9步骤;/nS8:判断A是否等于m0,若是,则进入S10步骤;若否,则进入S11步骤;/nS9:判断D指向的内存页面是否可执行,若否,则进入S10步骤;若是,则进入S11步骤;/nS10:判定关键方法M0未被挂钩hook,即对应的安卓安装包APK运行时未被注入恶意代码;/nS11:判定关键方法M0被挂钩hook,即对应的安卓安装包APK运行时被注入了恶意代码。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门安胜网络科技有限公司,未经厦门安胜网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711180978.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种解锁方法和移动终端
- 下一篇:针对特定测试样本的隐写分析方法