[发明专利]实现应用apk包支持网络代理的方法和装置在审
申请号: | 202011021115.0 | 申请日: | 2020-09-25 |
公开(公告)号: | CN112148304A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 甘泉;梁金柱 | 申请(专利权)人: | 贝壳技术有限公司 |
主分类号: | G06F8/53 | 分类号: | G06F8/53;G06F8/41;G06F8/71;G06F8/30;H04L9/32;H04L29/08 |
代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 肖冰滨;王晓晓 |
地址: | 300280 天津市滨海新区南港*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 应用 apk 支持 网络 代理 方法 装置 | ||
本发明实施例提供一种实现应用apk包支持网络代理的方法和装置,属于移动APP开发测试工具领域。该方法包括下载所述应用apk包;获取应用apk包的源代码及应用apk包的各个配置在源代码中的名称及位置;基于应用apk包的配置中的签名文件和密码生成可被信任的预设通讯证书链;用预设通讯证书链替换应用apk包的内置证书链;修改应用apk包的配置,使得应用apk包信任预设通讯证书链及应用apk包允许被抓包,以实现应用apk包支持网络代理;以及经过替换内置证书链和修改配置后,对源代码重新打包签名,形成新的应用apk包。藉此,实现了应用apk包支持网络代理,使得开发和测试人眼可以检索应用apk包的网络传输数据细节,从而排查及验证线上问题。
技术领域
本发明涉及移动APP开发测试工具领域,具体地涉及一种实现应用apk包支持网络代理的方法和装置。
背景技术
“TargetSdk”,在移动应用Android开发领域,应用开发和运营,均需要基础能力库,即Android SDK,用于提供基础能力,比如打开摄像头、渲染页面等等。随着历史演进,Android SDK有多个版本,也就是TargetSdk所代表的,当前应用APP期望运行的目标能力库版本。“Charles”,是一个HTTP代理服务器、HTTP监视器、反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括请求(request)、响应(response)和HTTP消息头(HTTP headers)(包含cookies与caching信息)。Charles是开发人员常用的网络相关功能测试工具。
当前传统的应用开发,查看APP网络数据的方案是:通过Charles工具,链接移动终端(手机)的网络,通过添加用户证书,搭建网络代理,拦截并获取应用的网络通讯数据,从而进行应用问题排查和修复。Android应用TargetSdkVersion=24版本时,可以使用上述方案操作,TargetSdkVersion24版本后,此传统方案因为安全机制限制,完全失效。最新版本Android(targetSdkVersion24)升级后,因内部的“默认不信任用户证书”机制,无法通过工具(Charles)抓取应用的网络请求。作为开发和测试人员,需要获取真实的现网开放的应用,并检索应用的网络传输数据细节,从而排查及验证线上问题,现有技术无法支持此功能。
发明内容
本发明实施例的目的是提供一种实现应用apk包支持网络代理的方法和装置,其可实现解决或至少部分解决上述技术问题。
为了实现上述目的,本发明实施例的一个方面提供一种用于实现应用apk包支持网络代理的方法,该方法包括:下载所述应用apk包;获取所述应用apk包的源代码及所述应用apk包的各个配置在源代码中的名称及位置;基于所述应用apk包的配置中的签名文件和密码生成可被信任的预设通讯证书链;用所述预设通讯证书链替换所述应用apk包的内置证书链;基于所述应用apk包的各个配置在源代码中的名称及位置,修改所述应用apk包的配置,使得所述应用apk包信任所述预设通讯证书链及所述应用apk包允许被抓包,以实现所述应用apk包支持网络代理;以及经过替换所述内置证书链和修改所述配置后,对所述源代码重新打包签名,形成新的应用apk包。
可选地,所述用所述预设通讯证书链替换所述应用apk包的内置证书链包括:修改所述配置中的证书链存储地址和证书链名称。
可选地,修改所述配置使得所述应用apk包信任所述预设通讯证书链包括:修改所述配置中的是否允许检查证书。
可选地,修改所述配置使得所述应用apk包允许被抓包包括:修改所述配置中的target Sdk版本、API版本、是否允许抓取网络请求及是否明文传输。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳技术有限公司,未经贝壳技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011021115.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种金属探测器
- 下一篇:一种蜂窝夹层结构穿透型损伤修理方法