[发明专利]Android平台上一种绕过虚假函数的自动脱壳技术在审
申请号: | 202110471467.4 | 申请日: | 2021-04-29 |
公开(公告)号: | CN113139188A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 刘新;张远明;马中昊;李广;黄浩钰 | 申请(专利权)人: | 湘潭大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F9/50;G06F9/448 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 411100 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | android 平台 一种 绕过 虚假 函数 自动 脱壳 技术 | ||
本申请是对当前加固程序将部分方法执行时动态加解密,即调用时解密,结束时加密,针对防止脱壳程序设置的一些虚假函数提出了一种基于hook以及代码抽取的通用自动化脱壳方法。本方法监控应用程序的运行,还原出应用程序的原始Dex文件。通过查找Dex文件中所有的Class对象,然后再使用多线程分组遍历所有类并反射调用所有method。当执行完虚假函数后,将hook代码写入该method,随后重启应用程序,待下次进入此method时就会调用自己的代码,以达到绕过虚假函数的目的。待所有方法都被调用后,重组脱壳后的Dex文件。
技术领域
本发明涉及一种Android平台上一种绕过虚假函数的自动脱壳技术,属于计算机应用安全技术领域。
背景技术
Android作为现在主流的移动端操作系统,由于对第三方应用程序的监控和审核机制存在缺陷,涌现出大量的第三方Android应用程序,很多恶意应用程序通过各种手段来窃取用户的个人隐私信息。为了防止软件被逆向破解或攻击利用,许多开发采用应用加壳的方式,极大地增加逆向分析的难度,从而达到对程序保护的效果。但是以Android平台为目标的恶意软件也利用了加壳技术的特性,对自身携带的恶意代码进行隐藏,无法利用静态分析工具准确检测应用内部是否存在隐私窃取等安全隐患。因此,研究者们提出了一系列的脱壳方案,这些脱壳方案可以分为以下几类:
第一类脱壳方案是找到原应用程序的入口出,因为壳程序会将被加壳的应用程序进行解密,跳入程序的原入口并将解密后的原dex文件加载到内存中。这类脱壳方案可以通过直接搜索或转储内存的方式,从而达到对加壳的应用程序的脱壳。然而,对于目前的加壳应用,这类脱壳方案在一个指定的解密点进行脱壳,并不适用于目前壳程序采用的分阶段解密策略,在壳程序解密时不能保证被加壳的程序进行完全的解密,因此脱壳后的应用程序并不完整。
第二类脱壳方案是通过Hook对应的系统函数对应用程序的运行进行监控,在应用程序运行的过程中部分代码会被解密,最后将收集到的解密后的代码和其它数据对原Dex文件进行重组。由于要保证应用程序能够正常运行,因此在运行时收集到的被解密的代码一定是可靠的。这类方案无法保证能收集到应用程序行的所有代码,且脱壳效率较为低。随着加壳技术的更新,针对防止脱壳程序设置的一些虚假函数,这类方案无法做到准确有效的脱壳。
综上所述,加壳技术的出现使得安全研究人员难以对被加壳的恶意软件进行深入的分析。现有的脱壳方案对被加壳的应用程序无法做到完美的脱壳。
发明内容
针对现有脱壳方案中存在的缺陷,本发明的目的在于使用hook技术来解决应用程序代码中存在的虚假函数和多线程解决脱壳效率的问题。提供了一种绕过虚假函数的自动脱壳技术。
为实现上述目的,本发明研究的一种Android平台上一种绕过虚假函数的自动脱壳技术,包括:
在目标应用程序主线程启动前,插入hook代码,从系统类中获取已加载的所有类名称和类加载器,并遍历dvmUserDexFiles结构,获取所有cookie(已加载的dex);
创建多个子线程分组获取Java类中的所有方法,利用堆内存中产生的真实对象参数来强制放射调用上述方法;
在上述方法执行时收集被解密的代码,通过修改quick_code的值进入Interpreter(解释器)其会由解释器解释执行,通过修改解析器完成代码的收集。
待所有的数据收集完成之后,按照Dex文件的结构进行重组。
通过退出异常判断是否是因进入了虚假函数,如果是则对该方法进行hook,插入自己的代码,不执行原有代码。重启目标应用程序,并重新对该类进行脱壳。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湘潭大学,未经湘潭大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110471467.4/2.html,转载请声明来源钻瓜专利网。