[发明专利]反编译数据的处理方法和装置有效
申请号: | 201510994114.7 | 申请日: | 2015-12-25 |
公开(公告)号: | CN106919429B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 徐胜 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/53 | 分类号: | G06F8/53 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 宋子良 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 反编译 数据 处理 方法 装置 | ||
1.一种反编译数据的处理方法,其特征在于,包括:
创建三维数组模型,所述三维数组模型包括:第一维数组、第二维数组和第三维数组;
在将应用程序反编译为反编译程序之后,遍历所述反编译程序所包含的多个方法,获取每个方法的标识信息,其中,所述方法的标识信息包括:方法类名和方法签名信息;
获取所述每个方法对应的多维向量对象,以及每个多维向量对象之间的调用关系;
将所述每个方法的所述标识信息、对应的所述多维向量对象以及每个多维向量对象之间的调用关系分别记录至所述第一维数组中、所述第二维数组中和所述第三维数组中;
其中,获取所述每个方法对应的多维向量对象包括:将所述每个方法切片生成执行分支序列,并建立所述每个方法的执行分支序列对应的多维向量对象;
获取每个多维向量对象之间的调用关系包括:确定与第一多维向量对象具有函数调用链关系的第二多维向量对象,得到所述每个多维向量对象之间的调用关系。
2.根据权利要求1所述的方法,其特征在于,任意一个方法在所述第一维数组、所述第二维数组和所述第三维数组中对应的记录位置具有相同的位置坐标。
3.根据权利要求2所述的方法,其特征在于,将所述每个方法的所述标识信息记录至所述第一维数组,包括:将所述每个方法的标识信息以队列形式的顺序结构映射至所述第一维数组中,并记录所述每个方法的标识信息在所述第一维数组的队列中的记录位置。
4.根据权利要求3所述的方法,其特征在于,将所述每个方法对应的多维向量对象记录至所述第二维数组,包括:将所述每个方法所对应的多维向量对象以队列形式的顺序结构映射至所述第二维数组中,并记录所述每个方法对应的多维向量对象在所述第二维数组的队列中的记录位置。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,获取所述每个方法对应的多维向量对象,包括:
在遍历得到所述反编译程序所包含的多个方法之后,将所述每个方法进行切片和分支剥离处理,得到所述每个方法所包含的多个执行分支,所述执行分支由反编译得到的程序基本块构成;
将所述每个方法所包含的执行分支映射到多维向量中,建立所述每个方法的执行分支序列所对应的多维向量对象,其中,所述方法中包含的执行分支在对应的多维向量对象中存在一个分支向量。
6.根据权利要求5所述的方法,其特征在于,获取所述每个方法对应的多维向量对象之间的调用关系,包括:循环遍历所述第二维数组中的多维向量对象,在所述第二维数组中确定任意一个方法的第一多维向量对象之后,使用回溯处理方法确定与所述第一多维向量对象具有函数调用链关系的第二多维向量对象,得到所述每个方法对应的多维向量对象之间的调用关系。
7.根据权利要求6所述的方法,其特征在于,在所述第二维数组中确定所述任意一个方法的第一多维向量对象之后,使用回溯处理方法确定与所述第一多维向量对象具有函数调用关系的第二多维向量对象,得到所述每个方法对应的多维向量对象之间的调用关系的步骤包括:
获取所述第二维数组中记录在第一记录位置的第一多维向量对象;
遍历所述第一多维向量对象所包含的多个分支向量,得到每个分支向量所对应的执行分支中所包含的程序基本块,其中,所述程序基本块由反编译得到的程序指令构成;
如果所述分支向量中包含的一个或多个程序指令为调用函数指令,则获取所述调用函数指令所调用的被调函数的标识信息;
根据所述被调函数的标识信息,在所述第一维数组中查询是否存在与所述被调函数的标识信息相同的方法,获取标识信息相同的第一类方法;
获取所述第一类方法在所述第一维数组中的第一记录位置;
在所述第二维数组中查询与所述第一记录位置的坐标值相同的第二记录位置,并获取记录在所述第二记录位置的第二多维向量对象,其中,所述第二多维向量对象为被所述第一多维向量对象调用的向量对象;
将所述第一多维向量对象和所述第二多维向量对象之间的函数调用关系记录在所述第三维数组中的对应位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510994114.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种螺旋高频速热型水龙头
- 下一篇:一种球墨管件抢修用哈夫节
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置