CN113268736A - 一种信息处理方法、装置及电子设备 - Google Patents
一种信息处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113268736A CN113268736A CN202110707237.3A CN202110707237A CN113268736A CN 113268736 A CN113268736 A CN 113268736A CN 202110707237 A CN202110707237 A CN 202110707237A CN 113268736 A CN113268736 A CN 113268736A
- Authority
- CN
- China
- Prior art keywords
- source code
- decryption key
- compression
- standard
- project file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开一种信息处理方法、装置及电子设备,包括:确定项目文件包括的标准功能源代码;使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;建立所述第一源代码与所述第一解密密钥之间的第一对应关系;使用所述第一源代码替换所述项目文件包括的所述标准功能源代码,以及将所述第一解密密钥和所述第一对应关系添加至所述目标文件,得到交付项目文件。本发明实施例,可以自动对项目文件中的标准功能的源代码进行处理,可以提高处理效率。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种信息处理方法、装置及电子设备。
背景技术
目前,在面向企业(to business,ToB)软件项目交付过程中,客户方一般会要求开发方提供与项目相关的源代码并保证交付物可以正常运行。然而,源代码包括标准功能源代码和客制化功能源代码。标准功能源代码属于开发方的源代码,开发方并不希望标准功能源代码被客户方看到。因此,为了保护标准功能源代码的安全,需要开发人员区分出标准功能源代码,并对标准功能源代码进行处理,以致处理效率较低。
发明内容
本发明实施例公开了一种信息处理方法、装置及电子设备,用于提高处理效率。
第一方面公开一种信息处理方法,包括:
确定项目文件包括的标准功能源代码;
使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
建立所述第一源代码与所述第一解密密钥之间的第一对应关系;
使用所述第一源代码替换所述项目文件包括的所述标准功能源代码,以及将所述第一解密密钥和所述第一对应关系添加至所述目标文件,得到交付项目文件。
本发明实施例中,可以自动对项目文件包括的标准功能源代码进行压缩混淆,可以建立解密密钥与压缩混淆后的标准功能源代码之间的对应关系,可以使用压缩混淆后的标准功能源代码替换项目文件包括的标准功能源代码,以及将解密密钥和对应关系添加至目标文件。可见,由于可以自动对项目文件中的标准功能源代码进行压缩混淆,因此,可以提高处理效率。此外,由于使用压缩混淆后的标准功能源代码替换了项目文件包括的标准功能源代码,因此,客户方无法看到原始的标准功能源代码,可以保护标准功能源代码的安全性。进一步地,由于可以对不同项目文件包括的标准功能源代码进行压缩混淆,而不是只能针对某个项目文件包括的标准功能源代码进行压缩混淆,因此,可以提高普适应。进一步地,由于将解密密钥和解密密钥与压缩混淆后的标准功能源代码之间的对应关系添加至项目文件,以便在交付项目文件运行的时候,可以根据解密密钥和对应关系对压缩混淆后的标准功能源代码进行解压缩混淆,从而可以保证压缩混淆后的标准功能源代码的正常运行,可以进一步提高普适性。
作为一种可能的实施方式,所述使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥包括:
调用第一压缩加密工具对所述标准功能源代码进行压缩加密,得到第一源代码和第一解密密钥。
本发明实施例中,可以调用现有的压缩加密工具对标准功能源代码进行压缩加密,可以保证客户方无法确定出原始的标准功能源代码,从而可以保证标准功能源代码的安全性。此外,由于可以使用调用现有的压缩加密工具,因此,可以提高普适性和兼容性。
作为一种可能的实施方式,所述项目文件包括的标准功能源代码包括第一格式的标准功能源代码和第二格式的标准功能源代码,所述第一格式与所述第二格式不同,所述使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码包括:
使用第一压缩混淆规则对所述第一格式的标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
所述方法还包括:
调用第二压缩加密工具对所述第二格式的标准功能源代码进行压缩加密,得到第二源代码和第二解密密钥;
建立所述第二源代码和所述第二解密密钥之间的第二对应关系;
所述使用所第一源代码替换所述项目文件包括的所述标准功能源代码,以及将所述第一解密密钥和所述第一对应关系添加至所述目标文件,得到交付项目文件包括:
使用所述第一源代码替换所述第一格式的标准功能源代码,使用所述第二源代码替换所述第二格式的标准功能源代码,将所述第一解密密钥、所述第一对应关系、所述第二解密密钥和所述第二对应关系添加至所述目标文件,得到交付项目文件。
本发明实施例中,当项目文件包括的标准功能源代码包括多种格式的标准功能源代码时,如果已经有对某些格式的标准功能源代码的压缩加密工具,可以直接调用;如果没有对某些格式的标准功能源代码的压缩加密工具(或压缩混淆工具),可以专门对标准功能源代码进行压缩混淆。可见,可以简化处理过程,从而可以进一步提高处理效率、普适性和兼容性。
作为一种可能的实施方式,所述第一压缩混淆规则为:使用第一字符替换第一关键字,所述第一字符为第一字符集中的一个或多个字符,所述第一字符集包括多个无意义的字符,所述第一关键字包括函数、关键字符串、变量名和关键数值中的一种或多种,所述第一字符包括的字符数量小于或等于所述第一关键字包括的字符数量。
本发明实施例中,由于可以将有意义的关键词替换为没意义的字符或字符串,因此,即使客户方看到了压缩混淆后的标准功能源代码,也无法根据压缩混淆后的标准功能源代码恢复出原始的标准功能源代码,从而可以保证标准功能源代码的安全性。
作为一种可能的实施方式,所述方法还包括:
使用第二压缩混淆规则对所述第一解密密钥进行压缩混淆,得到第三解密密钥和第四解密密钥,所述第三解密密钥为所述第一解密密钥被压缩混淆后的密钥,所述第四解密密钥为用于解压缩混淆所述第三解密密钥的密钥;
建立所述第三解密密钥与所述第四解密密钥之间的第三对应关系;
所述建立所述第一源代码与所述第一解密密钥之间的第一对应关系包括:
建立所述第一源代码与所述第三解密密钥、所述第四解密密钥和所述第三对应关系中的一个或多个之间的第一对应关系;
所述将所述第一解密密钥和所述第一对应关系添加至所述目标文件包括:
将所述第一对应关系、所述第三解密密钥、所述第四解密密钥和所述第三对应关系添加至所述目标文件。
本发明实施例中,可以对标准功能源代码对应的解密密钥进行压缩混淆,以便客户方即使得到标准功能源代码对应的解密密钥,也无法根据标准功能源代码对应的解密密钥,恢复出标准功能源代码,从而可以进一步保证标准功能源代码的安全性。
作为一种可能的实施方式,所述第二压缩混淆规则包括:删除空白字符,和/或使用第二字符替换第二关键字,所述第二字符为第二字符集中的一个或多个字符,所述第二字符集包括多个无意义的字符,所述第二关键字为函数、关键字符串、变量名和关键数值中的一个或多个,所述第二字符包括的字符数量小于或等于所述第二关键字包括的字符数量;
本发明实施例中,由于可以将有意义的关键词替换为没意义的字符或字符串,因此,即使客户方看到了压缩混淆后的解密密钥,也无法根据压缩混淆后的解密密钥恢复出原始的解密密钥,从而可以保证标准功能源代码的安全性。
作为一种可能的实施方式,所述使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥包括:
使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码;
根据所述第一压缩混淆规则生成第一解密密钥。
本发明实施例中,解密密钥是根据压缩混淆规则生成的,压缩混淆规则不同,对应的解密密钥可以不同。
第二方面公开一种信息处理装置,包括:
确定单元,用于确定项目文件包括的标准功能源代码;
压缩混淆单元,用于使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
建立单元,用于建立所述第一源代码与所述第一解密密钥之间的第一对应关系;
处理单元,用于使用所述第一源代码替换所述项目文件包括的所述标准功能源代码,以及将所述第一解密密钥和所述第一对应关系添加至所述目标文件,得到交付项目文件。
作为一种可能的实施方式,所述压缩混淆单元,具体用于调用第一压缩加密工具对所述标准功能源代码进行压缩加密,得到第一源代码和第一解密密钥。
作为一种可能的实施方式,所述项目文件包括的标准功能源代码包括第一格式的标准功能源代码和第二格式的标准功能源代码,所述第一格式与所述第二格式不同,所述压缩混淆单元,具体用于使用第一压缩混淆规则对所述第一格式的标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
所述压缩混淆单元,还用于调用第二压缩加密工具对所述第二格式的标准功能源代码进行压缩加密,得到第二源代码和第二解密密钥;
所述建立单元,还用于建立所述第二源代码和所述第二解密密钥之间的第二对应关系;
所述处理单元,具体用于使用所述第一源代码替换所述第一格式的标准功能源代码,使用所述第二源代码替换所述第二格式的标准功能源代码,将所述第一解密密钥、所述第一对应关系、所述第二解密密钥和所述第二对应关系添加至所述目标文件,得到交付项目文件。
作为一种可能的实施方式,所述第一压缩混淆规则为:使用第一字符替换第一关键字,所述第一字符为第一字符集中的一个或多个字符,所述第一字符集包括多个无意义的字符,所述第一关键字包括函数、关键字符串、变量名和关键数值中的一种或多种,所述第一字符包括的字符数量小于或等于所述第一关键字包括的字符数量。
作为一种可能的实施方式,所述压缩混淆单元,还用于使用第二压缩混淆规则对所述第一解密密钥进行压缩混淆,得到第三解密密钥和第四解密密钥,所述第三解密密钥为所述第一解密密钥被压缩混淆后的密钥,所述第四解密密钥为用于解压缩混淆所述第三解密密钥的密钥;
所述建立单元,还用于建立所述第三解密密钥与所述第四解密密钥之间的第三对应关系;
所述建立单元建立所述第一源代码与所述第一解密密钥之间的第一对应关系包括:
建立所述第一源代码与所述第三解密密钥、所述第四解密密钥和所述第三对应关系中的一个或多个之间的第一对应关系;
所述处理单元将所述第一解密密钥和所述第一对应关系添加至所述目标文件包括:
将所述第一对应关系、所述第三解密密钥、所述第四解密密钥和所述第三对应关系添加至所述目标文件。
作为一种可能的实施方式,所述第二压缩混淆规则包括:删除空白字符,和/或使用第二字符替换第二关键字,所述第二字符为第二字符集中的一个或多个字符,所述第二字符集包括多个无意义的字符,所述第二关键字为函数、关键字符串、变量名和关键数值中的一个或多个,所述第二字符包括的字符数量小于或等于所述第二关键字包括的字符数量;
作为一种可能的实施方式,压缩混淆单元使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥包括:
使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码;
根据所述第一压缩混淆规则生成第一解密密钥。
第三方面公开一种电子设备,所述电子设备可以包括处理器和存储器,所述存储器用于存储计算机程序,当所述处理器执行所述存储器存储的计算机程序时,使得所述处理器执行第一方面或第一方面的任一实施方式公开的信息处理方法。
第四方面公开一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序或计算机指令,当该计算机程序或计算机指令运行时,实现如上述各方面公开的信息处理方法。
第五方面公开一种芯片,包括处理器,用于执行存储器中存储的程序,当程序被执行时,使得芯片执行上面的方法。
作为一种可能的实施方式,存储器位于芯片之外。
第六方面公开一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码被运行时,使得上述信息处理方法被执行。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种网络架构示意图;
图2是本申请实施例公开的另一种网络架构示意图;
图3是本发明实施例公开的一种信息处理方法的流程示意图;
图4是本发明实施例公开的一种信息处理装置的结构示意图;
图5是本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施方式”意味着,结合实施方式描述的特定特征、结果或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,本文所描述的实施方式可以与其它实施方式相结合。
本发明实施例公开了一种信息处理方法、装置及电子设备,用于提高处理效率。以下分别进行详细说明。
为了更好地理解本发明实施例公开的一种信息处理方法、装置及电子设备,下面先对本发明实施例使用的网络架构进行描述。请参阅图1,图1是本申请实施例公开的一种网络架构示意图。如图1所示,该网络架构可以包括客户端101和电子设备102。客户端101可以安装在电子设备102上,可以在电子设备102上进行运行。项目文件可以存储在电子设备102上。客户端101可以获取存储在电子设备上的项目文件,之后可以对该项目文件中的标准功能源代码进行压缩混淆。
请参阅图2,图2是本申请实施例公开的另一种网络架构示意图。如图2所示,该网络架构可以包括客户端201、电子设备202和服务器203。客户端201可以安装在电子设备202上,可以在电子设备202上进行运行。项目文件可以存储在服务器203中。客户端201可以通过电子设备202从服务器203获取存储的项目文件,之后可以对该项目文件中的标准功能源代码进行压缩混淆。
电子设备可以为台式电脑、笔记本电脑等可以安装并运行客户端的设备。此外,电子设备还可以具有通信功能。
应理解,上述网络架构只是对本发明实施例中的网络架构的示例性说明,并不对本发明实施例的网络架构构成限定。例如,项目文件可以存储在数据库中。
基于上述网络架构,请参阅图3,图3是本发明实施例公开的一种信息处理方法的流程示意图。其中,该信息处理方法可以从上述客户端的角度来描述,也可以从上述电子设备的角度来描述。如图3所示,该信息处理方法可以包括以下步骤。
301、确定项目文件包括的标准功能源代码。
当需要对项目文件包括的标准功能源代码进行处理时,可以先确定项目文件包括的标准功能源代码。项目文件可以包括标准功能源代码和客制化功能源代码。标准功能源代码,可以理解为标准功能的源代码,是开发人员从标准功能库调用的源代码。客制化源代码,可以理解为客制化的源代码,是开发人员为满足客户要求专门开发的源代码。
一种情况下,可以提前由项目开发人员从项目文件中识别出标准功能源代码,也可以由专门的识别工具从项目文件中识别出标准功能源代码。识别出标准功能源代码之后,可以在项目文件中标记标准功能源代码,也可以记录标准功能源代码在项目文件中的位置。项目文件可以存储在电子设备中,也可以存储在服务器中,还可以存储在数据库中,还可以存储在其它存储装置中。当需要对项目文件中的标准功能源代码进行处理时,可以根据项目文件的存储地址,直接从电子设备、服务器、数据库等中获取项目文件。可以是先向电子设备、服务器、数据库等发送携带项目文件的存储地址的信息获取请求。电子设备、服务器、数据库等接收到信息获取请求之后,可以根据项目文件的存储地址获取存储的项目文件,之后可以发送项目文件。之后可以接收来自电子设备、服务器、数据库等的项目文件。当项目文件中标记出标准功能源代码时,可以根据标记从项目文件中提取标准功能源代码。当记录有标准功能源代码在项目文件中的位置时,还需要获取记录的标准功能源代码在项目文件中的位置,可以根据标准功能源代码在项目文件中的位置从项目文件中提取标准功能源代码。
在另一种情况下,不需要对项目文件中的标准功能源代码提前进行处理。当需要对项目文件中的标准功能源代码进行处理时,可以根据项目文件的存储地址,从电子设备、服务器、数据库等中获取项目文件,之后可以从项目文件中获取标准功能源代码。可以先识别项目文件中的标准功能源代码,之后可以从项目文件中提取识别出的标准功能源代码。可以将项目文件包括的源代码与标准功能库中的源代码进行比较,当与标准功能库中的源代码存在匹配的源代码时,可以将源代码归类为标准功能源代码。
302、使用第一压缩混淆规则对标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥。
确定出项目文件包括的标准功能源代码之后,可以使用第一压缩混淆规则对标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥。
在一种情况下,项目文件包括的所有标准功能源代码可以均采用相同的压缩混淆规则。第一压缩混淆规则可以为使用第一字符替换第一关键字,第一字符可以为第一字符集中的一个或多个字符。第一字符集可以包括多个无意义的字符,即第一字符集包括的字符均没有特定含义。第一关键字可以包括函数、关键字符串、变量名、关键数值和其它具有特定含义的字符或字符串中的一个或多个。可见,使用第一压缩混淆规则对项目文件包括的标准功能源代码进行压缩混淆之后,会将有特定含义的字符或字符串替换为没有特定含义的字符或字符串,从而可以保证客户方拿到第一源代码后,无法根据第一源代码还原出项目文件包括的标准功能源代码,从而可以保护项目文件包括的标准功能源代码的安全性。此外,第一字符包括的字符数量可以小于或等于第一关键字包括的字符数量,可以保证第一源代码的数据量不会大于项目文件包括的标准功能源代码的数据量,进而可以保证交付项目文件的数据量不会大于项目文件的数据量。由于交付项目文件的数据量越大,所需存储资源越大,因此,可以保证交付项目文件的数据量不会由于项目文件包括的标准功能源代码的压缩混淆而增加,从而在保证项目文件包括的标准功能源代码的安全性的情况下可以节约存储资源。第一压缩混淆规则可以为默认的压缩混淆规则,也可以为用户根据需要选择的压缩混淆规则。此处的第一压缩混淆规则为客户端自身的压缩规则。
在另一种情况下,项目文件包括的所有标准功能源代码可以均调用相同的压缩加密工具(或者压缩混淆工具)进行压缩加密(或者压缩混淆)。可以调用第一压缩加密工具(或者第一压缩混淆工具)对项目文件包括的标准功能源代码进行压缩加密(或者压缩混淆),得到第一源代码和第一解密密钥。对项目文件包括的标准功能源代码进行压缩加密(或者压缩混淆)之后,可以保证客户方拿到第一源代码后,无法根据第一源代码还原出项目文件包括的标准功能源代码,从而可以保证项目文件包括的标准功能源代码的安全性。
在又一种情况下,项目文件包括的标准功能源代码可以包括多种格式的标准功能源代码。这多种格式的标准功能源代码中每种格式的标准功能源代码采用的压缩混淆规则可以均不同,也可以部分相同部分不同,还可以均相同。下面以项目文件包括的标准功能源代码包括两种格式的标准功能源代码为例进行说明。假设,项目文件包括的标准功能源代码包括第一格式的标准功能源代码和第二格式的标准功能源代码。可以使用第一压缩混淆规则对第一格式的标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥,详细描述可以参考上述一种情况。此外,还可以调用第二压缩加密工具(或第二压缩混淆工具)对第二格式的标准功能源代码进行压缩加密(或压缩混淆),得到第二源代码和第二解密密钥,详细描述可以参考上述另一种情况。第一压缩加密工具(或第一压缩混淆工具)和第二压缩加密工具(或第二压缩混淆工具)可以为同一压缩加密工具(或压缩混淆工具),也可以为不同的压缩加密工具(或压缩混淆工具)。可见,使用第一压缩混淆规则对第一格式的标准功能源代码进行压缩混淆之后,会将有特定含义的字符或字符串替换为没有特定含义的字符或字符串,从而可以保证客户方拿到第一源代码后,也无法根据第一源代码还原出第一格式的标准功能源代码,从而可以保证第一格式的标准功能源代码的安全性。此外,对第二格式的标准功能源代码进行压缩加密(或压缩混淆工具),可以保证客户方拿到第二源代码后,也无法根据第二源代码还原出第二格式的标准功能源代码,从而可以保证第二格式的标准功能源代码的安全性。其中,第一格式与第二格式不同,即第一格式与第二格式为不同的格式。第一解密密钥与第二解密密钥为不同的解密密钥。
上述三种情况得到第一解密密钥之后,可以使用第二压缩混淆规则对第一解密密钥进行压缩混淆,得到第三解密密钥和第四解密密钥。第三解密密钥可以为第一解密密钥被压缩混淆后的密钥,第四解密密钥可以为用于解压缩混淆第三解密密钥的密钥。可见,即使客户拿到第一解密密钥,也无法根据第一解密密钥和第一源代码还原出标准功能源代码(或第一格式的标准功能源代码),从而可以进一步保证标准功能源代码(或第一格式的标准功能源代码)的安全性。第二压缩混淆规则可以包括:删除空白字符,和/或使用第二字符替换第二关键字。第二字符可以为第二字符集中的一个或多个字符,第二字符集可以包括多个无意义的字符,第二关键字可以为函数、关键字符串、变量名和关键数值中的一个或多个,第二字符包括的字符数量可以小于或等于第二关键字包括的字符数量。第一字符集与第二字符集可以相同,也可以不同。
调用第二压缩加密工具(或第二压缩混淆工具)对第二格式的标准功能源代码进行压缩加密(或压缩混淆),得到第二源代码和第二解密密钥之后,可以使用第三压缩混淆规则对第二解密密钥进行压缩混淆,得到第五解密密钥和第六解密密钥。第五解密密钥可以为第二解密密钥被压缩混淆后的密钥,第六解密密钥可以为用于解压缩混淆第五解密密钥的密钥。可见,即使客户拿到第二解密密钥,也无法根据第二解密密钥和第二源代码还原出第二格式的标准功能源代码,从而可以进一步保证第二格式的标准功能源代码的安全性。第三压缩混淆规则与第二压缩混淆规则可以相同,也可以不同。第三压缩混淆规则与第二压缩混淆规则类似,可以参考第二压缩混淆规则与第二压缩混淆规则。第三解密密钥与第五解密密钥为不同的解密密钥,第四解密密钥与第六解密密钥为不同的解密密钥。
针对上述一种情况和又一种情况,可以先使用第一压缩混淆规则对标准功能源代码(或第一格式的标准功能源代码)进行压缩混淆得到第一源代码,之后可以根据第一压缩混淆规则生成第一解密密钥。在标准功能源代码(或第一格式的标准功能源代码)中可能本身就存在第一字符,因此,根据第一压缩混淆规则生成第一解密密钥时,还可以考虑被替换掉的第一关键字在标准功能源代码(或第一格式的标准功能源代码)中的位置,即需要考虑被替换掉的第一关键字在项目文件中的位置。针对第一解密密钥和第二解密密钥的压缩混淆类似,这儿不再详细描述。
303、建立第一源代码与第一解密密钥之间的第一对应关系。
使用第一压缩混淆规则对标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥之后,可以建立第一源代码与第一解密密钥之间的第一对应关系,以便在运行交付项目文件时,可以根据第一对应关系确定第一解密密钥是用于解压缩混淆第一源代码的密钥,进而可以根据第一解密密钥对第一源代码解压缩混淆,得到标准功能源代码。
调用第二压缩加密工具对第二格式的标准功能源代码进行压缩加密,得到第二源代码和第二解密密钥之后,可以建立第二源代码和第二解密密钥之间的第二对应关系,以便在运行交付项目文件时,可以根据第二对应关系确定第二解密密钥是用于解压缩混淆第二源代码的密钥,进而可以根据第二解密密钥对第二源代码解压缩混淆,得到第二格式的标准功能源代码。
使用第二压缩混淆规则对第一解密密钥进行压缩混淆,得到第三解密密钥和第四解密密钥之后,可以建立第三解密密钥与第四解密密钥之间的第三对应关系,以便在运行交付项目文件时,可以根据第三对应关系确定第四解密密钥是用于解压缩混淆第三解密密钥的密钥,进而可以根据第四解密密钥对第三解密密钥解压缩混淆,得到第一解密密钥。建立第一源代码与第一解密密钥之间的第一对应关系,可以为建立第一源代码与第三解密密钥、第四解密密钥和第三对应关系中的一个或多个之间的第一对应关系,可以表明第一解密密钥是用于对第一源代码进行解压缩混的。以便根据第四解密密钥对第三解密密钥解压缩混淆得到第一解密密钥之后,可以根据第一解密密钥和第一对应关系对第一源代码解压缩混淆,得到标准功能源代码(或第一格式的标准功能源代码)。
使用第三压缩混淆规则对第二解密密钥进行压缩混淆,得到第五解密密钥和第六解密密钥之后,可以建立第五解密密钥与第六解密密钥之间的第四对应关系,以便在运行交付项目文件时,可以根据第四对应关系确定第六解密密钥是用于解压缩混淆第五解密密钥的密钥,进而可以根据第六解密密钥对第五解密密钥解压缩混淆,得到第二解密密钥。建立第二源代码与第二解密密钥之间的第二对应关系,可以为建立第二源代码与第五解密密钥、第六解密密钥和第四对应关系中的一个或多个之间的第二对应关系。以便根据第六解密密钥对第五解密密钥解压缩混淆得到第二解密密钥之后,可以根据第二解密密钥和第二对应关系对第二格式的第一源代码进行解压缩混淆,得到第二格式的标准功能源代码。
304、使用第一源代码替换项目文件包括的标准功能源代码,以及将第一解密密钥和第一对应关系添加至目标文件,得到交付项目文件。
建立第一源代码与第一解密密钥之间的第一对应关系之后,可以使用第一源代码替换项目文件包括的标准功能源代码,以及可以将第一解密密钥和第一对应关系添加至目标文件,得到交付项目文件,以便交付项目文件中标准功能源代码对应位置为第一源代码,而不是项目文件包括的标准功能源代码,可以保证项目文件包括的标准功能源代码的安全性。可以将第一解密密钥和第一对应关系添加至目标文件中的加载器和/或解析器中,以便在交付项目文件运行时,可以先根据第一解密密钥和第一对应关系对交付项目文件中的第一源代码进行解压缩混淆,得到项目文件包括的标准功能源代码,之后可以根据标准功能源代码和客制化功能源代码进行运行。
在使用第二压缩混淆规则对第一解密密钥进行压缩混淆的情况下,可以将第一对应关系、第三解密密钥、第四解密密钥和第三对应关系添加至目标文件。以便在交付项目文件运行时,可以先根据第四解密密钥和第三对应关系对第三解密密钥进行解压缩混淆,得到第一解密密钥,之后可以根据第一解密密钥和第一对应关系对交付项目文件中的第一源代码进行解压缩混淆得到项目文件包括的标准功能源代码,之后可以根据项目文件包括的标准功能源代码和客制化功能源代码进行运行。为了确定第三解密密钥和第四解密密钥的角色或功能,还可以将第三解密密钥和第四解密密钥的功能或作用添加至目标文件。
当项目文件包括的标准功能源代码包括第一格式的标准功能源代码和第二格式的标准功能源代码时,可以使用第一源代码替换第一格式的标准功能源代码,可以使用第二源代码替换第二格式的标准功能源代码,可以将第一解密密钥、第一对应关系、第二解密密钥和第二对应关系添加至目标文件,得到交付项目文件,以便在交付项目文件运行时,可以先根据第一解密密钥和第一对应关系对交付项目文件中的第一源代码进行解压缩混淆,得到第一格式的标准功能源代码,以及可以根据第二解密密钥和第二对应关系对交付项目文件中的第二源代码进行解压缩混淆,得到第二格式的标准功能源代码,之后可以根据第一格式的标准功能源代码、第二格式的标准功能源代码和客制化功能源代码进行运行。
在使用第二压缩混淆规则对第一解密密钥进行压缩混淆,且使用第三压缩混淆规则对第二解密密钥进行压缩混淆的情况下,将第一解密密钥、第一对应关系、第二解密密钥和第二对应关系添加至目标文件,可以为将第三解密密钥、第四解密密钥、第五解密密钥、第六解密密钥、第一对应关系、第二对应关系、第三对应关系和第四对应关系添加至目标文件。以便在交付项目文件运行时,可以先根据第四解密密钥和第三对应关系对第三解密密钥进行解压缩混淆得到第一解密密钥,可以根据第六解密密钥和第四对应关系对第五解密密钥进行解压缩混淆得到第二解密密钥,之后可以根据第一解密密钥和第一对应关系对交付项目文件中的第一源代码进行解压缩混淆得到第一格式的标准功能源代码,可以根据第二解密密钥和第二对应关系对交付项目文件中的第二源代码进行解压缩混淆得到第二格式的标准功能源代码,之后可以根据第一格式的标准功能源代码、第二格式的标准功能源代码和客制化功能源代码进行运行。为了确定第三解密密钥、第四解密密钥、第五解密密钥和第六解密密钥的角色或功能,还可以将第三解密密钥、第四解密密钥、第五解密密钥和第六解密密钥的功能或作用添加至目标文件。此外,为了确定上述过程的执行顺序,还可以将处理逻辑添加至项目文件中。
当第一格式的标准功能源代码为vue格式的标准功能源代码时,第二格式的标准功能源代码可以为js格式的标准功能源代码。当第一格式的标准功能源代码为js格式的标准功能源代码时,第二格式的标准功能源代码可以为vue格式的标准功能源代码。
举例说明,假设第一格式的标准功能源代码为vue格式的标准功能源代码,第二格式的标准功能源代码为js格式的标准功能源代码。可以调用terser工具对js格式的标准功能源代码进行压缩加密得到第二源代码和第二解密密钥。针对vue格式的标准功能源代码,可以利用自带的的压缩混淆规则对vue格式的标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥。之后可以将第一解密密钥、第一对应关系、第二源代码和第二解密密钥放入项目文件启动的preloader中,在启动时可以根据第一解密密钥和第一对应关系解压缩混淆的第一源代码,从而能够恢复出vue格式的标准功能源代码,可以根据第二解密密钥和第二对应关系解压缩混淆的第二源代码,从而能够恢复出js格式的标准功能源代码,确保交付项目文件的正常运行。
应理解,上述出现的标准功能源代码,可以理解为项目文件包括的标准功能源代码。
应理解,上述不同步骤中相似的内容可以相互参考,并不局限于在撰写的位置。
基于上述网络架构,请参阅图4,图4是本发明实施例公开的一种信息处理装置的结构示意图。如图4所示,该信息处理装置可以包括:
确定单元401,用于确定项目文件包括的标准功能源代码;
压缩混淆单元402,用于使用第一压缩混淆规则对标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
建立单元403,用于建立第一源代码与第一解密密钥之间的第一对应关系;
处理单元404,用于使用第一源代码替换项目文件包括的标准功能源代码,以及将第一解密密钥和第一对应关系添加至目标文件,得到交付项目文件。
在一个实施例中,压缩混淆单元402,具体用于调用第一压缩加密工具对标准功能源代码进行压缩加密,得到第一源代码和第一解密密钥。
在一个实施例中,项目文件包括的标准功能源代码包括第一格式的标准功能源代码和第二格式的标准功能源代码,压缩混淆单元402,具体用于使用第一压缩混淆规则对第一格式的标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
压缩混淆单元402,还用于调用第二压缩加密工具对第二格式的标准功能源代码进行压缩加密,得到第二源代码和第二解密密钥;
建立单元403,还用于建立第二源代码和第二解密密钥之间的第二对应关系;
处理单元404,具体用于使用第一源代码替换第一格式的标准功能源代码,使用第二源代码替换第二格式的标准功能源代码,将第一解密密钥、第一对应关系、第二解密密钥和第二对应关系添加至目标文件,得到交付项目文件。
在一个实施例中,第一压缩混淆规则为:使用第一字符替换第一关键字,第一字符为第一字符集中的一个或多个字符,第一字符集包括多个无意义的字符,第一关键字包括函数、关键字符串、变量名和关键数值中的一种或多种,第一字符包括的字符数量小于或等于第一关键字包括的字符数量。
在一个实施例中,压缩混淆单元402,还用于使用第二压缩混淆规则对第一解密密钥进行压缩混淆,得到第三解密密钥和第四解密密钥,第三解密密钥为第一解密密钥被压缩混淆后的密钥,第四解密密钥为用于解压缩混淆第三解密密钥的密钥;
建立单元403,还用于建立第三解密密钥与第四解密密钥之间的第三对应关系;
建立单元403建立第一源代码与第一解密密钥之间的第一对应关系包括:
建立第一源代码与第三解密密钥、第四解密密钥和第三对应关系中的一个或多个之间的第一对应关系;
处理单元404将第一解密密钥和第一对应关系添加至目标文件包括:
将第一对应关系、第三解密密钥、第四解密密钥和第三对应关系添加至目标文件。
在一个实施例中,第二压缩混淆规则包括:删除空白字符,和/或使用第二字符替换第二关键字,第二字符为第二字符集中的一个或多个字符,第二字符集包括多个无意义的字符,第二关键字为函数、关键字符串、变量名和关键数值中的一个或多个,第二字符包括的字符数量小于或等于第二关键字包括的字符数量;
在一个实施例中,压缩混淆单元402使用第一压缩混淆规则对标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥包括:
使用第一压缩混淆规则对标准功能源代码进行压缩混淆,得到第一源代码;
根据第一压缩混淆规则生成第一解密密钥。
有关上述确定单元401、压缩混淆单元402、建立单元403和处理单元404更详细的描述可以直接参考上述图3所示的方法实施例中的相关描述直接得到,这里不加赘述。
基于上述网络架构,请参阅图5,图5是本发明实施例公开的一种电子设备的结构示意图。如图5所示,该电子设备可以包括处理器501、存储器502和总线503。存储器502可以是独立存在的,可以通过总线503与处理器501相连接。存储器502也可以和处理器501集成在一起。其中,总线503用于实现这些组件之间的连接。该电子设备还可以包括收发器504。
存储器502中存储的计算机程序指令被执行时,该处理器501用于执行上述实施例中确定单元401、压缩混淆单元402、建立单元403和处理单元404执行的操作,收发器504用于与其他电子设备进行通信。上述电子设备还可以用于执行上述图3方法实施例中执行的各种方法,不再赘述。
本发明实施例还公开一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被执行时执行上述方法实施例中的方法。
本发明实施例还公开一种包括计算机指令的计算机程序产品,该计算机指令被执行时执行上述方法实施例中的方法。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (10)
1.一种信息处理方法,其特征在于,包括:
确定项目文件包括的标准功能源代码;
使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
建立所述第一源代码与所述第一解密密钥之间的第一对应关系;
使用所述第一源代码替换所述项目文件包括的所述标准功能源代码,以及将所述第一解密密钥和所述第一对应关系添加至所述目标文件,得到交付项目文件。
2.根据权利要求1所述的方法,其特征在于,所述使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥包括:
调用第一压缩加密工具对所述标准功能源代码进行压缩加密,得到第一源代码和第一解密密钥。
3.根据权利要求1所述的方法,其特征在于,所述项目文件包括的标准功能源代码包括第一格式的标准功能源代码和第二格式的标准功能源代码,所述第一格式与所述第二格式不同,所述使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码包括:
使用第一压缩混淆规则对所述第一格式的标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
所述方法还包括:
调用第二压缩加密工具对所述第二格式的标准功能源代码进行压缩加密,得到第二源代码和第二解密密钥;
建立所述第二源代码和所述第二解密密钥之间的第二对应关系;
所述使用所第一源代码替换所述项目文件包括的所述标准功能源代码,以及将所述第一解密密钥和所述第一对应关系添加至所述目标文件,得到交付项目文件包括:
使用所述第一源代码替换所述第一格式的标准功能源代码,使用所述第二源代码替换所述第二格式的标准功能源代码,将所述第一解密密钥、所述第一对应关系、所述第二解密密钥和所述第二对应关系添加至所述目标文件,得到交付项目文件。
4.根据权利要求1或3所述的方法,其特征在于,所述第一压缩混淆规则为:使用第一字符替换第一关键字,所述第一字符为第一字符集中的一个或多个字符,所述第一字符集包括多个无意义的字符,所述第一关键字包括函数、关键字符串、变量名和关键数值中的一种或多种,所述第一字符包括的字符数量小于或等于所述第一关键字包括的字符数量。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
使用第二压缩混淆规则对所述第一解密密钥进行压缩混淆,得到第三解密密钥和第四解密密钥,所述第三解密密钥为所述第一解密密钥被压缩混淆后的密钥,所述第四解密密钥为用于解压缩混淆所述第三解密密钥的密钥;
建立所述第三解密密钥与所述第四解密密钥之间的第三对应关系;
所述建立所述第一源代码与所述第一解密密钥之间的第一对应关系包括:
建立所述第一源代码与所述第三解密密钥、所述第四解密密钥和所述第三对应关系中的一个或多个之间的第一对应关系;
所述将所述第一解密密钥和所述第一对应关系添加至所述目标文件包括:
将所述第一对应关系、所述第三解密密钥、所述第四解密密钥和所述第三对应关系添加至所述目标文件。
6.根据权利要求5所述的方法,其特征在于,所述第二压缩混淆规则包括:删除空白字符,和/或使用第二字符替换第二关键字,所述第二字符为第二字符集中的一个或多个字符,所述第二字符集包括多个无意义的字符,所述第二关键字为函数、关键字符串、变量名和关键数值中的一个或多个,所述第二字符包括的字符数量小于或等于所述第二关键字包括的字符数量。
7.根据权利要求1所述的方法,其特征在于,所述使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥包括:
使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码;
根据所述第一压缩混淆规则生成第一解密密钥。
8.一种信息处理装置,其特征在于,包括:
确定单元,用于确定项目文件包括的标准功能源代码;
压缩混淆单元,用于使用第一压缩混淆规则对所述标准功能源代码进行压缩混淆,得到第一源代码和第一解密密钥;
建立单元,用于建立所述第一源代码与所述第一解密密钥之间的第一对应关系;
处理单元,用于使用所述第一源代码替换所述项目文件包括的所述标准功能源代码,以及将所述第一解密密钥和所述第一对应关系添加至所述目标文件,得到交付项目文件。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器存储的所述计算机程序实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或计算机指令,当所述计算机程序或计算机指令被运行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110707237.3A CN113268736A (zh) | 2021-06-24 | 2021-06-24 | 一种信息处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110707237.3A CN113268736A (zh) | 2021-06-24 | 2021-06-24 | 一种信息处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268736A true CN113268736A (zh) | 2021-08-17 |
Family
ID=77236031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110707237.3A Pending CN113268736A (zh) | 2021-06-24 | 2021-06-24 | 一种信息处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268736A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136458A (zh) * | 2013-01-21 | 2013-06-05 | 中标软件有限公司 | 一种Linux操作系统的代码保护方法及其模块 |
CN104166822A (zh) * | 2013-05-20 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种数据保护的方法和装置 |
JP2019053146A (ja) * | 2017-09-14 | 2019-04-04 | 日本電気株式会社 | ソースプログラム保護システム及び方法 |
US20190158286A1 (en) * | 2016-06-29 | 2019-05-23 | Nagravision S.A. | On demand code decryption |
-
2021
- 2021-06-24 CN CN202110707237.3A patent/CN113268736A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136458A (zh) * | 2013-01-21 | 2013-06-05 | 中标软件有限公司 | 一种Linux操作系统的代码保护方法及其模块 |
CN104166822A (zh) * | 2013-05-20 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种数据保护的方法和装置 |
US20190158286A1 (en) * | 2016-06-29 | 2019-05-23 | Nagravision S.A. | On demand code decryption |
JP2019053146A (ja) * | 2017-09-14 | 2019-04-04 | 日本電気株式会社 | ソースプログラム保護システム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241484B (zh) | 一种基于加密技术的网页数据的发送方法及设备 | |
US10586026B2 (en) | Simple obfuscation of text data in binary files | |
CN109657488B (zh) | 一种资源文件加密处理方法、智能终端及存储介质 | |
CN108399319B (zh) | 源代码保护方法、应用服务器及计算机可读存储介质 | |
CN112052433B (zh) | 一种Jar文件的虚拟化保护方法、终端及存储介质 | |
EP1777651A1 (en) | Electronic data delivery method | |
CN112966227A (zh) | 代码加密解密方法和装置、存储介质 | |
CN113312577B (zh) | 网页资源处理方法、装置、电子设备和存储介质 | |
CN114462044B (zh) | 一种基于污点分析的uefi固件漏洞静态检测方法及装置 | |
CN112231702A (zh) | 应用保护方法、装置、设备及介质 | |
CN111737718A (zh) | 一种jar包的加解密方法、装置、终端设备和存储介质 | |
CN113642025A (zh) | 接口数据处理方法、装置、设备及存储介质 | |
CN116522368A (zh) | 一种物联网设备固件解密解析方法、电子设备、介质 | |
CN113434582B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN111881480A (zh) | 隐私数据加密方法、装置、计算机设备及存储介质 | |
CN111400736B (zh) | 应用程序加密的方法、装置、存储介质及电子设备 | |
CN110647753B (zh) | 内核文件的获取方法、装置、设备及存储介质 | |
CN113268736A (zh) | 一种信息处理方法、装置及电子设备 | |
CN116910712A (zh) | 代码保护方法、系统、电子设备及存储介质 | |
CN115098877A (zh) | 一种文件加解密的方法、装置、电子设备及介质 | |
CN116340989A (zh) | 一种数据脱敏方法、装置、电子设备及存储介质 | |
CN114860295A (zh) | 资源文件更新方法、装置、设备及可读存储介质 | |
CN115033870A (zh) | 一种基于大数据云部署的反恶意篡改代码方法和装置 | |
CN110298146B (zh) | 一种应用程序的处理、运行方法及装置 | |
CN114139117A (zh) | 应用程序加固方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |