[发明专利]一种dex文件的存储方法和装置有效
申请号: | 201611139089.5 | 申请日: | 2016-12-12 |
公开(公告)号: | CN106815301B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 刘敏 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dex 文件 存储 方法 装置 | ||
1.一种dex文件的存储方法,其特征在于,所述方法包括:
解析待加载的dex文件,提取解析后的dex文件的非文件头header中的第一指定数据;
申请第一内存和第二内存,所述第一内存用于存储所述第一指定数据,所述第二内存用于存储dex文件中除第一指定数据之外的其他数据;所述第一内存和第二内存不连续;
根据所述第一内存的内存地址信息,修改dex文件的文件头header中所述第一指定数据的偏移地址,使其指向第一内存;
其中,所述第一指定数据的种类大于一种,所述第一内存至少包括两段不连续的内存空间,不连续的第一内存空间的段数不大于第一指定数据的种类数。
2.根据权利要求1所述的方法,其特征在于,完成文件头header中所述第一指定数据的偏移地址的修改后,还包括:
根据修改后的dex文件的文件头header信息,完成解析后的dex文件的加载,将所述第一指定数据加载到第一内存中,将所述其他 数据加载到第二内存中。
3.根据权利要求1或2所述的方法,其特征在于,所述第一指定数据包括以下几种数据中的至少一种:
字符串列表区段string_ids、数据类型列表区段type_ids、方法原型列表区段proto_ids、类成员列表区段field_ids、方法列表区段method_ids、类列表区段class_defs、数据区区段data。
4.根据权利要求3所述的方法,其特征在于,所述第一内存为一段连续的内存空间。
5.根据权利要求2所述的方法,其特征在于,完成解析后的dex文件的加载后,还包括:
删除所述第二内存中的dex文件的文件头header中的第二指定数据。
6.根据权利要求5所述的方法,其特征在于,所述第二指定数据包括以下数据中的至少一种:
魔数字段magic、校验码字段checksum、签名字段signature、文件总长度字段fileSize、文件头长度字段header_size、字节顺序常量标识字段endian_tag、map数据基地址字段map_off。
7.一种dex文件的存储装置,其特征在于,所述装置包括:
指定数据提取模块,用于解析待加载的dex文件,提取解析后的dex文件的非文件头header中的第一指定数据;
内存申请模块,用于申请第一内存和第二内存,所述第一内存用于存储所述第一指定数据,所述第二内存用于存储dex文件中除第一指定数据之外的其他数据;所述第一内存和第二内存不连续;
文件头修改模块,用于根据所述第一内存的内存地址信息,修改dex文件的文件头header中所述第一指定数据的偏移地址,使其指向第一内存;
其中,所述内存申请模块包括:多内存申请单元,用于在所述第一指定数据的种类大于一种时,申请至少两段不连续的内存空间,其中,不连续的第一内存空间的段数不大于第一指定数据的种类数。
8.根据权利要求7所述的装置,其特征在于,该装置还包括:
Dex内存加载模块,用于在完成文件头header中所述第一指定数据的偏移地址的修改后,根据修改后的dex文件的文件头header信息,完成解析后的dex文件的加载,将所述第一指定数据加载到第一内存中,将所述其他 数据加载到第二内存中。
9.根据权利要求7或8所述的装置,其特征在于,所述第一指定数据包括以下几种数据中的至少一种:
字符串列表区段string_ids、数据类型列表区段type_ids、方法原型列表区段proto_ids、类成员列表区段field_ids、方法列表区段method_ids、类列表区段class_defs、数据区区段data。
10.根据权利要求9所述的装置,其特征在于,所述第一内存为一段连续的内存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611139089.5/1.html,转载请声明来源钻瓜专利网。