源码保护方法、装置、设备及存储介质制造方法及图纸

技术编号:37155682 阅读:15 留言:0更新日期:2023-04-06 22:16
本发明专利技术属于计算机技术领域,公开了一种源码保护方法、装置、设备及存储介质。本发明专利技术通过获取待加密源码对应的加密关键信息;根据加密关键信息对待加密源码进行加密打包,获得密文源码包;根据加密关键信息生成密文关键数据,并将密文关键数据添加至密文源码包。由于在对Electron应用的待加密源码进行打包时是通过待加密源码对应的加密关键信息进行加密打包,使得生成的密文源码包需要根据添加至密文源码包的密文关键数据进行解密获得的加密关键信息对密文源码包进行解密才可获得Electron应用源码,提高了源码破解难度,降低了Electron应用的安全风险。Electron应用的安全风险。Electron应用的安全风险。

【技术实现步骤摘要】
源码保护方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种源码保护方法、装置、设备及存储介质。

技术介绍

[0002]Web技术是现如今软件开发领域应用最广泛的技术之一,周边生态繁荣而且历史悠久。Electron是一个使用JavaScript,HTML和CSS等Web技术创建原生程序的框架。Electron通过将Chromium和Node.js合并到同一个运行时环境中,将其打包为Mac、Windows或Linux系统下的应用来实现软件跨平台运行。
[0003]采用Electron作为基础框架的应用软件,其源码通常以明文或者ASAR(一种非加密打包格式)方式打包到应用的安装包中,并且在应用的安装目录以明文方式存放。由于Electron应用对源码未进行保护,相对于传统的C++/C编译的二进制客户端程序,Electron应用软件面临较高的安全风险。
[0004]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0005]本专利技术的主要目的在于提供一种源码保护方法、装置、设备及存储介质,旨在解决现有技术Electron应用软件存在较高的安全风险的技术问题。
[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]可选的,所述根据所述下载路径下载所述目标软件的软件安装包,并对所述软件安装包进行安全性校验的步骤,包括:
[0034]根据所述下载路径下载所述目标软件的软件安装包,并提取所述软件安装包中的签名数据;
[0035]通过预设验签公钥对所述签名数据进行解密,获得标准校验数据;
[0036]根据预设摘要算法对所述软件安装包进行摘要计算,获得软件校验数据;
[0037]在所述标准校验数据与所述软件校验数据一致时,判定安全性校验通过。
[0038]可选的,所述基于所述安装路径运行所述目标软件的步骤之后,还包括:
[0039]在所述目标软件成功运行时,启动状态监控线程;
[0040]通过所述状态监控线程监测所述目标软件的进程运行状态;
[0041]在监测到所述目标软件的进程运行状态为被调试状态时,结束所述目标软件的软件进程。
[0042]可选的,所述基于所述安装路径运行所述目标软件的步骤之后,还包括:
[0043]在所述目标软件成功运行时,监控所述目标软件的源码调试接口;
[0044]在所述源码调试接口被调用时,获取所述目标软件对应的调试配置参数;
[0045]根据所述调试配置参数确定是否允许进行源码调试;
[0046]若不允许进行源码调试,则中断对所述源码调试接口的调用。
[0047]可选的,所述根据所述加密关键信息对所述待加密源码进行加密打包,获得密文源码包的步骤,包括:
[0048]对所述待加密源码进行打包,获得源码资源包;
[0049]根据所述加密关键信息确定源码加密算法及加密参数;
[0050]基于所述源码加密算法及所述加密参数对所述源码资源包进行加密,获得密文源
码包。
[0051]可选的,所述根据所述加密关键信息生成密文关键数据,并将所述密文关键数据添加至所述密文源码包的步骤,包括:
[0052]通过预设模块私钥对所述加密关键信息进行加密,获得密文关键数据;
[0053]将所述密文关键数据添加至所述密文源码包的文件头中。
[0054]可选的,所述获取待加密源码对应的加密关键信息的步骤,包括:
[0055]获取所述待加密源码对应的源码标识信息;
[0056]根据所述源码标识信息在预设源码加密配置表中查找对应的配置记录;
[0057]根据所述配置记录确定所述待加密源码对应的加密关键信息。
[0058]此外,为实现上述目的,本专利技术还提出一种源码保护装置,所述源码保护装置包括以下模块:
[0059]信息获取模块,用于获取待加密源码对应的加密关键信息;
[0060]源码处理模块,用于根据所述加密关键信息对所述待加密源码进行加密打包,获得密文源码包;
[0061]密文添加模块,用于根据所述加密关键信息生成密文关键数据,并将所述密文关键数据添加至所述密文源码包。
[0062]可选的,所述信息获取模块,还用于在接收到用户发送的源码操作指令时,获取所述源码操作指令的指令类型;若所述指令类型为源码打包类本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种源码保护方法,其特征在于,所述源码保护方法包括以下步骤:获取待加密源码对应的加密关键信息;根据所述加密关键信息对所述待加密源码进行加密打包,获得密文源码包;根据所述加密关键信息生成密文关键数据,并将所述密文关键数据添加至所述密文源码包。2.如权利要求1所述的源码保护方法,其特征在于,所述获取待加密源码对应的加密关键信息的步骤之前,还包括:在接收到用户发送的源码操作指令时,获取所述源码操作指令的指令类型;若所述指令类型为源码打包类型,则根据所述源码操作指令确定源码访问路径;根据所述源码访问路径读取待加密源码。3.如权利要求2所述的源码保护方法,其特征在于,所述在接收到用户发送的操作指令时,获取所述操作指令的指令类型的步骤之后,还包括:在所述指令类型为源码加载指令时,根据所述源码操作指令查找待加载数据包;提取所述待加载数据包中的密文关键数据;通过预设模块公钥对所述密文关键数据进行解密,获得加密关键信息;根据所述解密关键信息对所述待加载数据包进行解密,获得应用源码,并加载所述应用源码。4.如权利要求2所述的源码保护方法,其特征在于,所述在接收到用户发送的操作指令时,获取所述操作指令的指令类型的步骤之前,还包括:在接收到软件启动指令时,根据所述软件启动指令确定目标软件;运行所述目标软件,并监控所述目标软件的源码操作接口;在检测到所述源码操作接口被调用时,将调用所述源码操作接口的指令作为源码操作指令。5.如权利要求4所述的源码保护方法,其特征在于,所述运行所述目标软件,并监控所述目标软件的源码操作接口的步骤,包括:获取所述目标软件的安装路径;基于所述安装路径运行所述目标软件;在所述目标软件成功运行时,监控所述目标软件的源码操作接口。6.如权利要求5所述的源码保...

【专利技术属性】
技术研发人员:田新超黄亚洲郭建强后江振
申请(专利权)人:三六零数字安全科技集团有限公司
类型:发明
国别省市:

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

1