[发明专利]代码还原方法、装置、可读介质及电子设备在审
申请号: | 202111613049.0 | 申请日: | 2021-12-27 |
公开(公告)号: | CN114253594A | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 吴吞;何昆;姚腾东 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F8/70 | 分类号: | G06F8/70 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 孙宝海;阚梓瑄 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 还原 方法 装置 可读 介质 电子设备 | ||
本申请公开了一种代码还原方法、装置、可读介质以及电子设备,所述方法包括:获取经过代码混淆处理的待还原代码;对待还原代码进行解析,以将待还原代码划分为第一代码模块和第二代码模块,第一代码模块包括待还原代码中对应于源代码中代码,第二代码模块包括待还原代码中无实际含义的代码;对第一代码模块进行第一还原处理,得到第一目标代码模块;对第二代码模块进行第二还原处理,得到第二目标代码模块;对第一目标代码模块和第二目标代码模块进行拼接处理,得到目标还原代码。本申请实现了将混淆处理的代码还原为源代码的目的,从而使得混淆处理过的代码也可以进行代码审计工作,进而从源代码方面提高程序的安全性。
技术领域
本申请属于计算机技术领域,具体涉及一种代码还原方法、装置、可读介质以及电子设备。
背景技术
随着互联网的高速发展,人们对应用程序的安全性越来越重视。目前,在很多情况下,需要对应用程序进行代码审计,即检查应用程序源代码中的安全缺陷,确定源代码是否存在安全隐患,以便提供源代码修订措施和建议。然而,为了提高应用程序代码的安全性,一般会对应用程序进行代混淆加固处理,以防止应用程序的源代码被破译。这就导致一些情况下,进行代码审计的是混淆加固后的代码内容,这样使得代码审计无法正常进行。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种代码还原方法、装置、可读介质以及电子设备,以解决相关技术中由于代码进行了混淆加固而无法进行代码审计的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种代码还原方法,包括:
获取经过代码混淆处理的待还原代码;
对所述待还原代码进行解析,以将所述待还原代码划分为第一代码模块和第二代码模块,所述第一代码模块包括所述待还原代码中对应于源代码中代码,所述第二代码模块包括所述待还原代码中无实际含义的代码;
对所述第一代码模块进行第一还原处理,得到第一目标代码模块;
对所述第二代码模块进行第二还原处理,得到第二目标代码模块;
对所述第一目标代码模块和所述第二目标代码模块进行拼接处理,得到目标还原代码。
根据本申请实施例的一个方面,提供一种代码还原装置,包括:
代码获取模块,用于获取经过代码混淆处理的待还原代码;
代码解析模块,用于对所述待还原代码进行解析,以将所述待还原代码划分为第一代码模块和第二代码模块,所述第一代码模块包括所述待还原代码中对应于源代码中代码,所述第二代码模块包括所述待还原代码中无实际含义的代码;
第一还原模块,用于对所述第一代码模块进行第一还原处理,得到第一目标代码模块;
第二还原模块,用于对所述第二代码模块进行第二还原处理,得到第二目标代码模块;
代码拼接模块,用于对所述第一目标代码模块和所述第二目标代码模块进行拼接处理,得到目标还原代码。
在本申请的一个实施例中,所述第一代码模块包括多个代码块;所述第一还原模块包括:
连接关系及类型确定单元,用于确定各个代码块之间的连接关系以及各个代码块的类型;
还原单元,用于根据各个代码块的连接关系以及各个代码块的类型分别对各个代码块进行第一还原处理,得到第一目标代码模块。
在本申请的一个实施例中,所述连接关系及类型确定单元具体用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111613049.0/2.html,转载请声明来源钻瓜专利网。