[发明专利]一种dex文件的存储方法和装置有效
申请号: | 201611139089.5 | 申请日: | 2016-12-12 |
公开(公告)号: | CN106815301B | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 刘敏 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dex 文件 存储 方法 装置 | ||
本发明实施例中公开了一种dex文件的存储方法和装置,属于应用程序安全防护技术领域。所述方法包括:解析待加载的dex文件,提取解析后的dex文件的非文件头header中的第一指定数据;申请第一内存和第二内存,所述第一内存用于存储所述第一指定数据,所述第二内存用于存储dex文件中除第一指定数据之外的其他数据;所述第一内存和第二内存不连续;根据所述第一内存的内存地址信息,修改dex文件的文件头header中所述第一指定数据的偏移地址,使其指向第一内存。采用本发明实施例中所提供的方法和装置,解决了现有技术中能够从内存中提取完整dex文件的问题,有效避免了dex文件的动态反编译,提高了dex文件动态加载的安全性。
技术领域
本发明涉及应用程序安全防护技术领域,具体涉及一种dex文件的存储方法和装置。
背景技术
随着Android系统的快速发展和及设备的高速增长,基于Android的平台应用需求也越来越复杂。形形色色的应用软件壮大了Android市场,也丰富了我们的生活,越来越多的人从起初的尝试到享受再到依赖,Android应用越来越广泛。与其它操作系统相比,Android系统的开源性为应用开发者提供了更多的功能接口,但这些功能接口在提高系统可扩展性的同时也为恶意软件提供了遍历,非法拷贝、反编译、内存截取等手段不断威胁着安卓系统的安全,不仅危害了使用者,也给正常应用开发者造成了严重的损害。因此,Android应用安全性一直是开发者所关注的重点问题。
对Android应用进行加固防护的主要目的均是为了防止其java字节码文件classes.dex文件被获取,在Android平台安装运行APK文件时,都必须将dex文件释放到内存,如图1中所示,为安卓dex文件的结构示意图,在dex文件加载时,根据文件头header中定义的其它结构的偏移地址和长度信息进行寻址解析(图中箭头所示),将其它结构中的数据加载分别加载到内存中,加载后的dex文件的内容是存放在内存中的一端连续的内存空间中的,因此,破解者只需要获取到classes.dex文件的起始地址,然后从起始地址开始dump(提取)文件总长度filesize大小的内容,即可提取得到完整的 classes.dex文件的内容,进而可以进一步还原出APK文件的源代码,使得应用程序很容易被篡改。
发明内容
针对现有技术中存在的缺陷,本发明实施例的目的在于提供一种能够克服上述问题或者至少能够部分地解决上述问题的一种dex文件的存储方法和装置。
为实现上述目的,本发明的一个实施例中提供了一种dex文件的存储方法,该方法包括:
解析待加载的dex文件,提取解析后的dex文件的非文件头header中的第一指定数据;
申请第一内存和第二内存,所述第一内存用于存储所述第一指定数据,所述第二内存用于存储dex文件中除第一指定数据之外的其他数据;所述第一内存和第二内存不连续;
根据所述第一内存的内存地址信息,修改dex文件的文件头header中所述第一指定数据的偏移地址,使其指向第一内存。
优选的,如上所述的方法,完成文件头header中所述第一指定数据的偏移地址的修改后,还包括:
根据修改后的dex文件的文件头header信息,完成解析后的dex文件的加载,将所述第一指定数据加载到第一内存中,将所述其它数据加载到第二内存中。
优选的,如上所述的方法,所述第一指定数据包括以下几种数据中的至少一种:
字符串列表区段string_ids、数据类型列表区段type_ids、方法原型列表区段proto_ids、类成员列表区段field_ids、方法列表区段method_ids、类列表区段class_defs、数据区区段data。
优选的,如上所述的方法,所述第一内存为一段连续的内存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611139089.5/2.html,转载请声明来源钻瓜专利网。