[发明专利]目标apk源代码获取方法、电子设备和介质有效
申请号: | 202110074673.1 | 申请日: | 2021-01-20 |
公开(公告)号: | CN112765608B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 董霖;方毅;叶新江;徐啟东;周程 | 申请(专利权)人: | 每日互动股份有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京锺维联合知识产权代理有限公司 11579 | 代理人: | 丁慧玲 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标 apk 源代码 获取 方法 电子设备 介质 | ||
1.一种目标apk源代码获取方法,其特征在于,包括:
步骤S1、采用预先配置的第一hook函数检测目标apk的预设回调函数是否执行,若执行,则执行步骤S2,所述目标apk为加固的待检测apk,所述目标apk在运行的过程中,运行加固程序,所述加固程序将所述目标apk的源代码释放,然后将所述目标apk的源代码释放在目标apk的运行的内存空间中执行,其中,当预设回调函数执行后,目标apk的dex文件全部被加载到目标apk运行的内存空间中;
步骤S2、遍历所述目标apk运行的内存空间,获取所述目标apk运行的内存中,预设字节码特征对应的所有dex文件,组成第一dex文件集,所述预设字节码特征是dex文件中能够唯一标识dex文件的代码段,所述目标apk运行的内存空间为独立的内存运行空间,其中运行了目标apk的进程和安卓系统框架进程,所述预设字节码特征为Magic number;
步骤S3、获取第一dex文件集中每一dex文件的哈希值,并判断第一dex文件集中每一dex文件的哈希值是否属于预设的安卓系统框架哈希值集合,若是,则过从所述第一dex文件集中删除对应的dex文件,得到第二dex文件集,其中,对于存在于数据区,没有加载到代码区的目标APK的dex文件,通过检索Magic number的方式获取到;
步骤S101、采用预先配置的第二hook函数检测是否执行目标apk的内存代码加载流程,若是,则获取每一目标apk内存代码加载流程中对应的内存地址和内存大小,所述第二hook函数根据安卓系统版本和设备固件类型配置,将每一目标apk内存代码对应的Magicnumber更新为预设的Magic number;
步骤S102、基于每一目标apk内存地址和内存大小获取对应的dex文件;
所述步骤S1-步骤S3,与所述步骤S101-步骤S102并行执行,并将第二dex文件集和步骤S102得到的dex文件求并集,作为所述第二dex文件集;
步骤S4、基于所述第二dex文件集中的每一dex文件进行反编译,得到目标apk对应的源代码。
2.根据权利要求1所述的方法,其特征在于,
所述预设回调函数为Application类的attachBaseContext函数。
3.根据权利要求1所述的方法,其特征在于,
所述步骤S2包括:
步骤S21、遍历所述目标apk运行的内存空间,获取所述目标apk运行的内存中,每一所述预设字节码特征对应的dex文件的文件头信息;
步骤S22、从每一所述预设字节码特征对应的文件头信息中解析出对应的文件头内存起始地址和dex文件的大小;
步骤S23、将所述文件头的内存起始地址确定为对应为dex文件的起始位置,基于每一dex文件的起始位置和dex文件的大小确定dex文件的内存终止地址;
步骤S24、获取所有所述预设字节码特征对应的dex文件的内存起始地址和内存终止地址之间的代码,并存储为对应的dex文件,将所有预设字节码特征对应的dex文件组成所述第一dex文件集。
4.根据权利要求1所述的方法,其特征在于,
所述步骤S3与步骤S4之间还包括:
步骤S301、将所述步骤S102获取的所有dex文件存储至所述第二dex文件集中,并将相同的dex文件去重。
5.根据权利要求1所述的方法,其特征在于,
所述步骤S2中,每一预设的字节码特征对应的dex文件均以内存起始地址命名,所述步骤S3与步骤S4之间还包括:
步骤S112、获取每一目标apk内存代码的起始地址;
步骤S113、判断每一目标apk内存代码的起始地址是否存在于所述第二dex文件集中dex文件的对应的名称信息集合中,若不存在,则执行步骤S114;
步骤S114、基于所述目标apk内存地址和内存大小获取对应的代码段,并以所述目标apk内存的起始地址命名,获取所述目标apk对应的dex文件,并存储至所述第二dex文件集中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于每日互动股份有限公司,未经每日互动股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110074673.1/1.html,转载请声明来源钻瓜专利网。