[发明专利]用于调试应用的方法和系统在审
申请号: | 201910640566.3 | 申请日: | 2019-07-16 |
公开(公告)号: | CN110457209A | 公开(公告)日: | 2019-11-15 |
发明(设计)人: | 洪锋 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 11315 北京国昊天诚知识产权代理有限公司 | 代理人: | 许振新;朱文杰<国际申请>=<国际公布> |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调试数据 混淆 调试 应用 申请 代码混淆 应用执行 指令生成 调试器 转换 构建 传送 指令 关联 | ||
1.一种用于调试应用的方法,其特征在于,所述应用在构建时被执行代码混淆,所述方法包括:
经由调试器接收与应用的调试相关联的指令;
基于所述指令生成第一调试数据,所述第一调试数据是未经混淆的;
执行第一转换以自动将所述第一调试数据转换为经混淆的第一调试数据;
将所述经混淆的第一调试数据传送至目标Java虚拟机;以及
在所述目标Java虚拟机内基于所述经混淆的第一调试数据对所述应用执行调试。
2.如权利要求1所述的方法,其特征在于,进一步包括:
在对所述应用执行调试期间由所述目标Java虚拟机生成第二调试数据,所述第二调试数据是经混淆的;
执行第二转换以自动将所述第二调试数据转换为未经混淆的第二调试数据;以及
将所述未经混淆的第二调试数据传送至所述调试器。
3.如权利要求1所述的方法,其特征在于,所述调试器位于所述应用的开发者的本地机器内,而所述目标Java虚拟机位于设备和/或模拟器内。
4.如权利要求2所述的方法,其特征在于,所述调试是借助adb执行的,且所述第一转换和所述第二转换是通过修改所述adb的源代码实现的。
5.如权利要求1所述的方法,其特征在于,所述代码混淆包括将所述应用的源代码中的类、方法和/或变量的名称执行替换。
6.如权利要求2所述的方法,其特征在于,所述第一转换和所述第二转换是基于映射文件执行的,所述映射文件指定混淆前后的类、方法和/或变量的映射关系。
7.如权利要求6所述的方法,其特征在于,执行所述第一转换包括:
自动标识所述第一调试数据中的未经混淆的变量、方法和/或类的名称;
自动基于所述映射文件确定与所标识的未经混淆的变量、方法和/或类的名称对应的经混淆的变量、方法和/或类的名称;以及
自动将所述未经混淆的变量、方法和/或类的名称转换为所述经混淆的变量、方法和/或类的名称,从而生成所述经混淆的第一调试数据。
8.如权利要求6所述的方法,其特征在于,执行所述第二转换包括:
自动标识所述第二调试数据中的经混淆的变量、方法和/或类的名称;
自动基于所述映射文件确定与所标识的经混淆的变量、方法和/或类的名称对应的未经混淆的变量、方法和/或类的名称;以及
自动将所述经混淆的变量、方法和/或类的名称转换为所述未经混淆的变量、方法和/或类的名称,从而生成所述未经混淆的第二调试数据。
9.如权利要求6所述的方法,其特征在于,所述映射文件是在构建所述应用时生成的。
10.如权利要求1所述的方法,其特征在于,所述应用是由多个开发者合作开发的。
11.如权利要求10所述的方法,其特征在于,所述多个开发者中的一个或多个开发者不具有访问所述应用的全部源代码的权限。
12.如权利要求6所述的方法,其特征在于,所述映射文件是从执行构建的开发者处获得的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910640566.3/1.html,转载请声明来源钻瓜专利网。