[发明专利]虚拟机字节码文件的保护方法、设备及可读存储介质有效
申请号: | 201711477003.4 | 申请日: | 2017-12-29 |
公开(公告)号: | CN109992974B | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | 王蔚;董振江;戎宇;李晖;张文 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 姜春咸;冯建基 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 字节 文件 保护 方法 设备 可读 存储 介质 | ||
本发明公开了一种虚拟机字节码文件的保护方法,该方法包括步骤:提取虚拟机中字节码文件的关键字段到第一文件中;加密关键字段;保护加密关键字段的密钥;将加密后的关键字段放入字节码文件的目录下;重新打包放入加密后的关键字段的目录文件,以生成所述虚拟机可执行的压缩包。此外,本发明还提供了一种设备及可读存储介质,与现有技术相比,本发明达到了保护内存中的虚拟机字节码不被攻击者所提取的效果。
技术领域
本发明涉及软件安全技术领域,尤其涉及一种虚拟机字节码文件的保护 方法、设备及可读存储介质。
背景技术
安卓(Android)系统自从登陆市场以来,发展迅速,得到广大开发者以 及许多厂商的支持。作为目前智能手机市场占有率最高的操作系统,Android 系统的安全性备受瞩目。虽然Android平台采用了多层次的安全保护机制,但 由于Android平台使用了易于反编译的java语言,使其软件容易受到逆向攻击。 Android平台上的每个应用程序安装包(Android Package,简称APK)中都有 虚拟机可执行文件,它包含了该应用程序的源代码,如果出现攻击者,攻击者可以通过反编译虚拟机可执行文件,就能够得到虚拟机字节码,进而破解 应用程序,所以,对虚拟机可执行文件的保护是非常必要的。
在现有技术中,针对虚拟机可执行文件的保护最初是使用将真实虚拟机 可执行文件隐藏起来的加壳技术。然而,不管如何隐藏文件,最终在运行时 都必须加载虚拟机字节码到内存,攻击者通过交互式反汇编器(Interactive Disassembler,IDA)、ZJDroid等工具就可以将虚拟机字节码从内存中提取出 来进而破解APK,给终端用户带来巨大的安全隐患。
发明内容
本发明的主要目的在于提出一种虚拟机字节码文件的保护方法、设备及 可读存储介质,旨在解决内存中存在虚拟机的字节码可被攻击者提取和用来 破解应用程序的问题。
为实现上述目的,本发明提供的一种虚拟机字节码文件的保护方法,所 述方法包括步骤:
提取虚拟机中字节码文件的关键字段到第一文件中;
加密所述关键字段;
保护加密所述关键字段的密钥;
将加密后的关键字段放入所述字节码文件的目录下;
重新打包放入所述加密后的关键字段的目录文件,以生成所述虚拟机可 执行的压缩包。
此外,为实现上述目的,本发明还提出一种虚拟机字节码文件的保护方 法,所述方法包括步骤:
当检测虚拟机中运行置零的字节码文件时,加载所述字节码文件至内存;
获取字节码文件的目录中加密的关键字段;
解密所述加密的关键字段;
动态还原解密后的关键字段到内存中。
此外,为实现上述目的,本发明还提出一种设备,所述设备包括处理器、 以及存储器;
所述处理器用于执行存储器中存储的虚拟机字节码文件的保护程序,以 实现上述的方法。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述 计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被 一个或者多个处理器执行,以实现上述的方法。
本发明提出的本实施例提供的虚拟机字节码文件的保护方法、设备及可 读存储介质,通过提取虚拟机中字节码文件的关键字段到第一文件中,加密 所述关键字段,保护加密所述关键字段的密钥,将加密后的关键字段放入所 述字节码文件的目录下,重新打包放入加密后的关键字段的目录文件,以生 成所述虚拟机可执行的压缩包。达到了保护内存中的虚拟机字节码不被攻击者所提取的效果,同时也隐藏了密钥信息,提高了安全性。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711477003.4/2.html,转载请声明来源钻瓜专利网。