Go语言二进制文件加固方法、装置、设备及存储介质制造方法及图纸

技术编号:34777919 阅读:13 留言:0更新日期:2022-09-03 19:30
本发明专利技术属于计算机技术领域,公开了一种Go语言二进制文件加固方法、装置、设备及存储介质。本发明专利技术通过在接收到文件加固请求时,获取文件加固请求中的待加固二进制文件;对待加固二进制文件进行扫描,以获得待加固二进制文件中的运行时符号信息及运行时类型信息;根据预设信息修改规则对运行时符号信息及运行时类型信息进行修改,以获得加固后的二进制文件。由于是先获取待加固二进制文件中被常用于进行文件逆向分析的运行时符号信息及运行时类型信息,再将运行时符号信息及运行时类型信息对应的数据根据预设信息修改规则进行修改,以达到数据混淆的目的,可以使得加固后的二进制文件被逆向分析的难度大幅提高,提高了安全性。性。性。

【技术实现步骤摘要】
Go语言二进制文件加固方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种Go语言二进制文件加固方法、装置、设备及存储介质。

技术介绍

[0002]Go语言是一种常用软件开发语言,Go语言二进制文件是通过静态链接的方式构建,内部包含了函数、数据类型定义、类型相关的方法绑定,目前对Go二进制文件构建时一般会通过strip处理以剔除函数符号和调试信息,以提高二进制文件的安全性。但是,目前已经出现了针对Go语言二进制方法的逆向分析方法,根据Go语言自身的二进制文件构建机制,可以轻松的对Go语言进行逆向分析,获得Go语言二进制文件对应的程序运行逻辑,从而对Go语言构建的项目进行恶意攻击等,因此,需要对Go语言二进制文件进行进一步的加固,防止Go语言二进制文件被逆向分析。
[0003]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0004]本专利技术的主要目的在于提供一种Go语言二进制文件加固方法、装置、设备及存储介质,旨在解决现有技术加固的Go语言二进制文件被轻松逆向分析的技术问题。
[0005]为实现上述目的,本专利技术提供了一种方法,所述方法包括以下步骤:
[0006]在接收到文件加固请求时,获取所述文件加固请求中的待加固二进制文件;
[0007]对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息;
[0008]根据预设信息修改规则对所述运行时符号信息及所述运行时类型信息进行修改,以获得加固后的二进制文件。
[0009]可选的,所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤,包括:
[0010]根据所述预设符号特征码对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息;
[0011]对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时类型信息。
[0012]可选的,所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤,包括:
[0013]对所述待加固二进制文件进行扫描,以获得节区信息;
[0014]根据所述节区信息确定所述待加固二进制文件中的运行时符号信息及运行时类型信息。
[0015]可选的,所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件
中的运行时符号信息及运行时类型信息的步骤,包括:
[0016]对所述待加固二进制文件进行扫描,以获得模块数据信息;
[0017]获取所述模块数据信息中的索引信息并根据所述索引信息确定所述待加固二进制文件中的运行时符号信息及运行时类型信息。
[0018]可选的,所述对所述待加固二进制文件进行扫描,以获得模块数据信息的步骤,包括:
[0019]获取预设模块特征码;
[0020]根据所述预设模块特征码对所述待加固二进制文件进行扫描,以获得模块数据信息。
[0021]可选的,所述对所述待加固二进制文件进行扫描,以获得模块数据信息的步骤,包括:
[0022]对所述待加固二进制文件进行扫描,以获得节区信息;
[0023]根据所述节区信息获取所述待加固二进制文件中的模块数据信息。
[0024]可选的,所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤之前,还包括:
[0025]根据所述文件加固请求获取当前用户的用户权限;
[0026]对所述用户权限进行权限校验;
[0027]在权限校验通过时,执行所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤。
[0028]可选的,所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤之前,还包括:
[0029]获取所述文件加固请求中的安全验证数据;
[0030]根据所述安全验证数据及所述待加固二进制文件进行安全性校验;
[0031]在安全性校验通过时,执行所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤。
[0032]可选的,所述根据所述安全验证数据及所述待加固二进制文件进行安全性校验的步骤,包括:
[0033]对所述待加固二进制文件进行MD5编码,以获得密文数据;
[0034]根据所述密文数据获取安全校验数据;
[0035]将所述安全校验数据与所述安全验证数据进行比较,并根据比较结果确定安全性校验结果。
[0036]可选的,所述根据所述密文数据获取安全校验数据的步骤,包括:
[0037]获取预设安全组合数据,并将所述预设安全组合数据与所述密文数据以预设组合方式进行组合,以获得组合密文数据;
[0038]对所述组合密文数据以预设加密方式进行加密,以获得安全校验数据。
[0039]可选的,所述将所述安全校验数据与所述安全验证数据进行比较,并根据比较结果确定安全性校验结果的步骤,包括:
[0040]将所述安全校验数据与所述安全验证数据进行比较;
[0041]在所述安全校验数据与所述安全验证数据相同时,判定安全性校验通过;
[0042]在所述安全校验数据与所述安全验证数据不同时,判定安全性校验不通过。
[0043]可选的,所述根据预设信息修改规则对所述运行时符号信息及所述运行时类型信息进行修改,以获得加固后的二进制文件的步骤,包括:
[0044]获取所述运行时符号信息及所述运行时类型信息中各个待修改数据的数据类型;
[0045]根据所述数据类型及预设信息修改规则对所述运行时符号信息及所述运行时类型信息进行修改,以获得加固后的二进制文件。
[0046]此外,为实现上述目的,本专利技术还提出一种Go语言二进制文件加固装置,所述Go语言二进制文件加固装置包括以下模块:
[0047]数据接收模块,用于在接收到文件加固请求时,获取所述文件加固请求中的待加固二进制文件;
[0048]信息提取模块,用于对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息;
[0049]数据修改模块,用于根据预设信息修改规则对所述运行时符号信息及所述运行时类型信息进行修改,以获得加固后的二进制文件。
[0050]可选的,所述信息提取模块,还用于根据预设符号特征码对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息;对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时类型信息。
[0051]可选的,所述信息提取模块,还用于对所述待加固二进制文件进行扫描,以获得节区信息;根据所述节区信息确定所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Go语言二进制文件加固方法,其特征在于,所述Go语言二进制文件加固方法包括以下步骤:在接收到文件加固请求时,获取所述文件加固请求中的待加固二进制文件;对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息;根据预设信息修改规则对所述运行时符号信息及所述运行时类型信息进行修改,以获得加固后的二进制文件。2.如权利要求1所述的Go语言二进制文件加固方法,其特征在于,所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤,包括:根据预设符号特征码对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息;对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时类型信息。3.如权利要求1所述的Go语言二进制文件加固方法,其特征在于,所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤,包括:对所述待加固二进制文件进行扫描,以获得节区信息;根据所述节区信息确定所述待加固二进制文件中的运行时符号信息及运行时类型信息。4.如权利要求1所述的Go语言二进制文件加固方法,其特征在于,所述对所述待加固二进制文件进行扫描,以获得所述待加固二进制文件中的运行时符号信息及运行时类型信息的步骤,包括:对所述待加固二进制文件进行扫描,以获得模块数据信息;获取所述模块数据信息中的索引信息并根据所述索引信息确定所述待加固二进制文件中的运行时符号信息及运行时类型信息。5.如权利要求4所述的Go语言二进制文件加固方法,其特征在于,所述对所述待加固二进制文件进行扫描,以获得模块数据信息的步骤,包括:获取预设模块特征码;根据所述预设模块特征码对所述待加固二进制文件进行扫描,以获得模块数据信息。6.如权利要求...

【专利技术属性】
技术研发人员:董永信
申请(专利权)人:苏州三六零智能安全科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1