[发明专利]一种Android非侵入式应用重打包方法有效
| 申请号: | 201811118360.6 | 申请日: | 2018-09-21 |
| 公开(公告)号: | CN109408073B | 公开(公告)日: | 2021-10-08 |
| 发明(设计)人: | 韩心慧;黎桐辛;简容;武新逢 | 申请(专利权)人: | 北京大学 |
| 主分类号: | G06F8/61 | 分类号: | G06F8/61 |
| 代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100871 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 android 侵入 应用 打包 方法 | ||
1.一种Android非侵入式应用重打包方法,其步骤包括:
1)通过不修改目标Android应用代码的方式,向目标Android应用注入外部代码;所述外部代码在所述目标Android应用启动时将被执行,用于加载并运行所述目标Android应用的原始代码,以及加载Hook框架与重打包插件;所述重打包插件用于利用加载的Hook框架动态修改设定函数的函数实现、函数调用时的参数或函数返回时的结果,实现目标Android应用行为和逻辑的改变;其中,向目标Android应用注入外部代码的方法为:
将外部代码作为所述目标Android应用的主代码classes.dex,将所述目标Android应用的原主代码文件重命名或移动;当所述外部代码启动后加载并运行原主代码文件;所述外部代码包含所述目标Android应用的AndroidManifest.xml中描述的Application子类;
或者利用MultiDex机制向目标Android应用注入外部代码,其方法为:将外部代码作为一个classes(N+1).dex放入目标Android应用的安装包中;N为目标Android应用安装包根目录下已有classes*.dex的数目;所述外部代码中设有Application子类,并继承所述目标Android应用的AndroidManifest.xml中描述的Application子类,且修改AndroidManifest.xml中application标签,将其指向外部代码的设置的Application子类;
或者将外部代码作为一个so文件,替换所述目标Android应用内一so文件;将所替换的so文件移动或重命名后保留并在所述外部代码运行后被所述外部代码加载运行;
或者利用Native Activity机制向目标Android应用注入外部代码,其方法为:将外部代码作为一个so文件,并实现为一个能够启动所述目标Android应用原主界面的NativeActivity;修改所述目标Android应用的AndroidManifest.xml,让所述外部代码实现的Native Activity作为所述目标Android应用的主界面;
2)对修改后的目标Android应用进行重新签名,得到重打包后的Android应用。
2.如权利要求1所述的方法,其特征在于,所述Hook框架、重打包插件为所述外部代码的一部分。
3.如权利要求1所述的方法,其特征在于,所述Hook框架、重打包插件为单独的资源文件或网络文件,由所述外部代码动态加载。
4.如权利要求1或2或3所述的方法,其特征在于,所述目标Android应用为加壳的Android应用或未加壳的Android应用。
5.如权利要求1所述的方法,其特征在于,所述外部代码通过Android API加载Hook框架。
6.如权利要求1所述的方法,其特征在于,所述目标Android应用运行过程中,若所述目标Android应用或壳存在保护机制,会检测所述目标Android应用是否被修改,所述外部代码利用Java语言的机制或Hook框架的能力绕过保护机制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811118360.6/1.html,转载请声明来源钻瓜专利网。





