CN111625278A - 一种源代码文件的生成方法及相关设备 - Google Patents
一种源代码文件的生成方法及相关设备 Download PDFInfo
- Publication number
- CN111625278A CN111625278A CN202010453409.4A CN202010453409A CN111625278A CN 111625278 A CN111625278 A CN 111625278A CN 202010453409 A CN202010453409 A CN 202010453409A CN 111625278 A CN111625278 A CN 111625278A
- Authority
- CN
- China
- Prior art keywords
- source code
- file
- code file
- target
- target encrypted
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种源代码文件的生成方法及相关设备,提高源代码文件的加密程度,保护源代码文件不被解密。该方法包括:获取第一源代码文件;对所述第一源代码文件进行加密,得到目标加密文件;将所述目标加密文件进行存储,以获取所述目标加密文件对应的存储路径;根据所述存储路径以及所述目标加密文件的文件名称生成第二源代码文件。
Description
技术领域
本申请涉及通信领域,尤其涉及一种源代码文件的生成方法及相关设备。
背景技术
Node.js是一个基于Chrome V8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O的模型。Node是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与超文本预处理器(Personal Home Page,PHP)、Python(是一种跨平台的计算机程序设计语言)、实用报表提取语言(Practical Extraction and ReportLanguage,Perl)、Ruby(Ruby为一种简单快捷的面向对象(面向对象程序设计)脚本语言)等服务端语言平起平坐的脚本语言。
在基于Node.js的运行环境中JavaScript常用的代码加密方案将JavaScript源代码压缩或混淆,或者,将JavaScript源代码加密存入其他文件,通过JavaScript代码去解密运行。
但是对于源代码压缩或混淆来说,虽然增加了还原源码的难度,但是还是能轻易还原,同样对于将JavaScript源代码加密存入其他文件,通过JavaScript代码去加解密运行来说,同样可以进行解密,总体来说,目前JavaScript常用的代码加密的方式,加密程度不高,容易造成源代码泄露。
发明内容
本申请提供了一种源代码文件的生成方法及相关设备,可以提高源代码文件的加密程度,保护源代码文件不被破解。
本申请第一方面提供了一种源代码文件的生成方法,包括:
获取第一源代码文件;
对所述第一源代码文件进行加密,得到目标加密文件;
将所述目标加密文件进行存储,以获取所述目标加密文件对应的存储路径;
根据所述存储路径以及所述目标加密文件的文件名称生成第二源代码文件。
可选地,所述根据所述存储路径以及所述目标加密文件的文件名称生成第二源代码文件包括:
调用目标插件,所述目标插件中包括所述目标加密文件的文件名称,且所述目标插件的参数为所述存储路径;
执行所述目标插件,得到所述第二源代码文件。
可选地,所述方法还包括:
根据所述第二源代码文件读取所述目标加密文件;
对所述目标加密文件进行解密,得到所述第一源代码文件;
执行所述第一源代码文件。
可选地,所述根据所述第二源代码文件读取所述目标加密文件包括:
基于所述第二源代码文件获取所述存储路径;
判断所述存储路径下是否存在所述目标加密文件;
若是,则读取所述目标加密文件。
可选地,所述执行所述第一源代码文件包括:
将所述第一源代码文件转换成V8对象;
调用V8引擎执行所述V8对象,得到所述第一源代码文件对应的展示效果。
本申请第二方面提供了一种源代码文件的生成装置,包括:
获取单元,用于获取第一源代码文件;
加密单元,用于对所述第一源代码文件进行加密,得到目标加密文件;
存储单元,用于将所述目标加密文件进行存储,以获取所述目标加密文件对应的存储路径;
生成单元,用于根据所述存储路径以及所述目标加密文件的文件名称生成第二源代码文件。
可选地,所述生成单元具体用于:
调用目标插件,所述目标插件中包括所述目标加密文件的文件名称,且所述目标插件的参数为所述存储路径;
执行所述目标插件,得到所述第二源代码文件。
可选地,所述装置还包括:
处理单元,所述处理单元用于:
根据所述第二源代码文件读取所述目标加密文件;
对所述目标加密文件进行解密,得到所述第一源代码文件;
执行所述第一源代码文件。
可选地,所述处理单元根据所述第二源代码文件读取所述目标加密文件包括:
基于所述第二源代码文件获取所述存储路径;
判断所述存储路径下是否存在所述目标加密文件;
若是,则读取所述目标加密文件。
可选地,所述处理单元执行所述第一源代码文件包括:
将所述第一源代码文件转换成V8对象;
调用V8引擎执行所述V8对象,得到所述第一源代码文件对应的展示效果。
本申请第三方面提供了一种计算机装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述所述的源代码文件的生成方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述所述的源代码文件的生成方法的步骤。
综上所述,可以看出,本申请提供的实施例中,通过对第一源代码文件进行加密,并存储,之后根据存储路径以及加密后的文件名称生成新的源代码文件,由最初的一份初始源代码文件变成了一份新的源代码文件和一份初始源代码文件加密之后的加密源代码文件,总共两个文件,后续node在进行加载时,加载的还是初始源代码文件,不会对运行效果造成影响,且由于给其他用户看到的源代码文件是新生成的源代码文件,而新生成的源代码文件的文件内容已经变成了没有参考价值的代码,即使获取到该新的源代码文件也无法还原初始的代码文件,加密程度提高,保护源代码文件不被破解。
附图说明
图1为本申请实施例提供的源代码文件的生成方法的流程示意图;
图2为本申请实施例提供的源代码文件的生成装置的虚拟结构示意图;
图3为本申请实施例提供的终端设备的硬件结构示意图;
图4为本申请实施例提供的服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征向量可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
下面对本申请涉及到的一些名词进行解释说明:
JavaScript:是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
Node.js C++插件:是用C++编写的动态链接共享对象,可以使用require()函数加载到Node.js中,且像普通的Node.js模块一样被使用,主要用于为运行在Node.js中的JavaScript与C/C++库之间提供接口。
代码:使用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。
下面从源代码文件的生成装置的角度对本申请的方法源代码文件的生成方法进行说明,该源代码文件的生成装置可以是服务器,也可以是服务器中的服务单元,具体不做限定。
请参阅图1,图1为本申请实施例提供的源代码文件的生成方法的流程示意图,包括:
101、获取第一源代码文件。
本实施例中,源代码文件的生成装置可以获取第一源代码文件,此处具体不限定获取第一源代码文件的方式,例如可以接收用户的操作指令,并根据用户的操作指令生成第一源代码文件,当然也还可以通过其他的方式获取,具体不做限定。
102、对第一源代码文件进行加密,得到目标加密文件。
本实施例中,源代码文件的生成装置可以通过对称加密算法或者其他的加密算法对第一源代码文件进行加密,得到目标加密文件。此处以对称加密算法为例进行说明,对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法,有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。通过使用对称加密算法,源代码文件的加密解密速度快效率高,因为源码加密解密需要保证运行效率不能过差,不然影响程序的运行速度与效率。
需要说明的是,该对称加密算法包括但不限于数据加密标准(Data EncryptionStandard,DES)、DESede(三重DES)、高级加密标准(Advanced EncryptionStandard,AES)、国际数据加密算法(International Data Encryption Algorithm,IDEA)以及基于口令加密(Password Based Encryption,PEB)中的一个或多个加密算法,当然也还可以采用其他的加密算法具体不限定。下面以AES加密算法为例进行说明:
AES加密算法是美国联邦政府采用的一种区块加密标准。AES具有可变的分组长度和密钥长度,而且分组长度和密钥长度是不相关的。分组长度有三种情况:128位、192位和256位。AES加密过程包含4个步骤:(1)轮密匙加变换(2)字节替换(3)行移位(4)列混合。
103、将目标加密文件存储,以获取目标加密文件对应的存储路径。
本实施例中,源代码文件的生成装置在得到目标加密文件之后,将目标加密文件进行存储,以获取目标加密文件对应的存储路径,例如可以将目标加密文件保存至与第一源代码文件同级别的目录中,当然也还可以保存至其他的目录,具体不做限定,只要在保存之后获取到加密文件的保存路径即可。
104、根据存储路径以及目标加密文件的文件名称生成第二源代码文件。
本实施例中,源代码文件的生成装置在获取到目标加密文件对应的存储路径之后,可以根据目标加密文件对应的存储路径以及目标加密文件的文件名称生成第二源代码文件。具体的,可以通过调用目标插件,并执行该目标插件的方式得到第二源代码文件,该目标插件中包括目标加密文件的文件名称,且目标插件的参数为存储路径。以目标插件为C++插件为例进行说明,在生成第二源代码文件时,可以首先获取C++插件,之后将目标加密文件的文件名称传递至C++插件中,以目标加密文件的文件地址路径作为C++插件的参数,并执行C++插件,得到目标源代码文件。当然也还可以是其他的插件,具体不做限定,只要能根据存储路径以及目标加密文件的文件名称生成第二源代码文件即可。
在一个实施例中,源代码文件的生成装置在根据存储路径以及目标加密文件的文件名称生成第二源代码文件之后,还执行如下操作:
根据第二源代码文件读取目标加密文件;
对目标加密文件进行解密,得到第一源代码文件;
执行第一源代码文件。
本实施例中,由于该第二源代码文件中包含有该第一源代码文件的存储路径,因此可以根据该第二源代码文件读取目标加密文件的文件内容,之后按照加密的流程对其进行解密,得到第一源代码文件,并执行该第一源代码文件。
需要说明的是,根据所述第二源代码文件读取目标加密文件时,可以基于第二源代码文件获取所述存储路径,之后判断存储路径下是否存在所述目标加密文件(在第二源代码文件存储的目录之下可能会有很多其他的文件,也有可能在该存储路径为错误的存储路径,因此需要执行一个判断,判断该存储路径下是否存在该目标加密文件)若是,则读取目标加密文件,若否,则报错,并发出提示信息。
还需要说明的是,在执行第一源代码文件时,可以将第一源代码文件转换成V8对象,之后调用V8引擎执行V8对象,得到第一源代码文件对应的展示效果。由此可以完成从源代码的加密,解密到执行并展示效果的流程。可以理解的是,此处调用V8引擎执行V8对象,当然也还可以采用其他的引擎来执行第一源代码文件,只要将第一源代码文件转换为其他引擎对应的对象接口,具体不做限定。可以理解的是,V8是谷歌开源的一个基于C++语言开发的JavaScript引擎,可以实现ECMA-262中规定的ECMAScript,其被用于谷歌浏览器chrome、安卓浏览器以及Node.js等大型项目当中,V8引擎可以独立运行不依赖于其他环境,也可以嵌入任何的C++应用当中使用。
综上所述,可以看出,本申请提供的实施例中,通过对第一源代码文件进行加密,并存储,之后根据存储路径以及加密后的文件名称生成新的源代码文件,由最初的一份初始源代码文件变成了一份新的源代码文件和一份初始源代码文件加密之后的加密源代码文件,总共两个文件,后续node在进行加载时,加载的还是初始源代码文件,不会对运行效果造成影响,且由于给其他用户看到的源代码文件是新生成的源代码文件,而新生成的源代码文件的文件内容已经变成了没有参考价值的代码,即使获取到该新的源代码文件也无法还原初始的代码文件,加密程度提高,保护源代码文件不被破解。
上面从的源代码文件的生成方法的角度对本申请进行说明,下面从源代码文件的生成装置的角度对本申请进行说明。
请参阅图2,图2为本申请实施例提供的一种源代码文件的生成装置的虚拟结构示意图,包括:
获取单元201,用于获取第一源代码文件;
加密单元202,用于对所述第一源代码文件进行加密,得到目标加密文件;
存储单元203,用于将所述目标加密文件进行存储,以获取所述目标加密文件对应的存储路径;
生成单元204,用于根据所述存储路径以及所述目标加密文件的文件名称生成第二源代码文件。
可选地,所述生成单元204具体用于:
调用目标插件,所述目标插件中包括所述目标加密文件的文件名称,且所述目标插件的参数为所述存储路径;
执行所述目标插件,得到所述第二源代码文件。
可选地,所述装置还包括:
处理单元205,所述处理单元205用于:
根据所述第二源代码文件读取所述目标加密文件;
对所述目标加密文件进行解密,得到所述第一源代码文件;
执行所述第一源代码文件。
可选地,所述处理单元205根据所述第二源代码文件读取所述目标加密文件包括:
基于所述第二源代码文件获取所述存储路径;
判断所述存储路径下是否存在所述目标加密文件;
若是,则读取所述目标加密文件。
可选地,所述处理单元205执行所述第一源代码文件包括:
将所述第一源代码文件转换成V8对象;
调用V8引擎执行所述V8对象,得到所述第一源代码文件对应的展示效果。
综上所述,可以看出,本申请提供的实施例中,通过对第一源代码文件进行加密,并存储,之后根据存储路径以及加密后的文件名称生成新的源代码文件,由最初的一份初始源代码文件变成了一份新的源代码文件和一份初始源代码文件加密之后的加密源代码文件,总共两个文件,后续node在进行加载时,加载的还是初始源代码文件,不会对运行效果造成影响,且由于给其他用户看到的源代码文件是新生成的源代码文件,而新生成的源代码文件的文件内容已经变成了没有参考价值的代码,即使获取到该新的源代码文件也无法还原初始的代码文件,加密程度提高,保护源代码文件不被破解。
本申请实施例还提供了另一种源代码文件的生成装置,如图3所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该源代码文件的生成装置可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端设备为手机为例:
图3示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图3,手机包括:射频(Radio Frequency,RF)电路310、存储器320、输入单元330、显示单元340、传感器350、音频电路360、无线保真(wireless fidelity,WiFi)模块370、处理器380、以及电源390等部件。本领域技术人员可以理解,图3中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对手机的各个构成部件进行具体的介绍:
RF电路310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器380处理;另外,将设计上行的数据发送给基站。通常,RF电路310包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路310还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器320可用于存储软件程序以及模块,处理器380通过运行存储在存储器320的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元330可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元330可包括触控面板331以及其他输入设备332。触控面板331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板331上或在触控面板331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器380,并能接收处理器380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板331。除了触控面板331,输入单元330还可以包括其他输入设备332。具体地,其他输入设备332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元340可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元340可包括显示面板341,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板341。进一步的,触控面板331可覆盖显示面板341,当触控面板331检测到在其上或附近的触摸操作后,传送给处理器380以确定触摸事件的类型,随后处理器380根据触摸事件的类型在显示面板341上提供相应的视觉输出。虽然在图3中,触控面板331与显示面板341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板331与显示面板341集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路360、扬声器361,传声器362可提供用户与手机之间的音频接口。音频电路360可将接收到的音频数据转换后的电信号,传输到扬声器361,由扬声器361转换为声音信号输出;另一方面,传声器362将收集的声音信号转换为电信号,由音频电路360接收后转换为音频数据,再将音频数据输出处理器380处理后,经RF电路310以发送给比如另一手机,或者将音频数据输出至存储器320以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了WiFi模块370,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器380是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器380可包括一个或多个处理单元;优选的,处理器380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器380中。
手机还包括给各个部件供电的电源390(比如电池),优选的,电源可以通过电源管理系统与处理器380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器380还可执行上述由源代码文件的生成装置所执行的操作。
图4是本申请实施例提供的一种服务器结构示意图,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
服务器400还可以包括一个或一个以上电源427,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由源代码文件的生成装置所执行的步骤可以基于该图4所示的服务器结构。
本申请实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述所述源代码文件的生成方法的步骤。
本申请实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述源代码文件的生成方法的步骤。
本申请实施例还提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述所述源代码文件的生成方法的步骤。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述所述源代码文件的生成方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种源代码文件的生成方法,其特征在于,包括:
获取第一源代码文件;
对所述第一源代码文件进行加密,得到目标加密文件;
将所述目标加密文件进行存储,以获取所述目标加密文件对应的存储路径;
根据所述存储路径以及所述目标加密文件的文件名称生成第二源代码文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述存储路径以及所述目标加密文件的文件名称生成第二源代码文件包括:
调用目标插件,所述目标插件中包括所述目标加密文件的文件名称,且所述目标插件的参数为所述存储路径;
执行所述目标插件,得到所述第二源代码文件。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述第二源代码文件读取所述目标加密文件;
对所述目标加密文件进行解密,得到所述第一源代码文件;
执行所述第一源代码文件。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第二源代码文件读取所述目标加密文件包括:
基于所述第二源代码文件获取所述存储路径;
判断所述存储路径下是否存在所述目标加密文件;
若是,则读取所述目标加密文件。
5.根据权利要求3所述的方法,其特征在于,所述执行所述第一源代码文件包括:
将所述第一源代码文件转换成V8对象;
调用V8引擎执行所述V8对象,得到所述第一源代码文件对应的展示效果。
6.一种源代码文件的生成装置,其特征在于,包括:
获取单元,用于获取第一源代码文件;
加密单元,用于对所述第一源代码文件进行加密,得到目标加密文件;
存储单元,用于将所述目标加密文件进行存储,以获取所述目标加密文件对应的存储路径;
生成单元,用于根据所述存储路径以及所述目标加密文件的文件名称生成第二源代码文件。
7.根据权利要求6所述的装置,其特征在于,所述生成单元具体用于:
调用目标插件,所述目标插件中包括所述目标加密文件的文件名称,且所述目标插件的参数为所述存储路径;
执行所述目标插件,得到所述第二源代码文件。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
处理单元,所述处理单元用于:
根据所述第二源代码文件读取所述目标加密文件;
对所述目标加密文件进行解密,得到所述第一源代码文件;
执行所述第一源代码文件。
9.一种计算机装置,其特征在于,包括:
至少一个连接的处理器、存储器和收发器;
所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述权利要求1至5中任一项所述的源代码文件的生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行上述权利要求1至5中任一项所述的源代码文件的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010453409.4A CN111625278B (zh) | 2020-05-26 | 2020-05-26 | 一种源代码文件的生成方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010453409.4A CN111625278B (zh) | 2020-05-26 | 2020-05-26 | 一种源代码文件的生成方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625278A true CN111625278A (zh) | 2020-09-04 |
CN111625278B CN111625278B (zh) | 2023-12-19 |
Family
ID=72258169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010453409.4A Active CN111625278B (zh) | 2020-05-26 | 2020-05-26 | 一种源代码文件的生成方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625278B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116896444A (zh) * | 2023-09-11 | 2023-10-17 | 武汉吧哒科技股份有限公司 | 文件包管理方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516208A (zh) * | 2016-01-28 | 2016-04-20 | 邱铭钗 | 一种有效防止网络攻击的web网站链接动态隐藏方法及装置 |
KR20160117183A (ko) * | 2015-03-30 | 2016-10-10 | 홍동철 | Dll 파일 암호화 방법, 이를 수행하는 dll 파일 암호화 시스템, 및 이를 저장하는 기록매체 |
US20170103192A1 (en) * | 2015-10-12 | 2017-04-13 | Renesas Electronics America Inc. | Secure code delivery |
CN109614771A (zh) * | 2018-10-31 | 2019-04-12 | 同盾控股有限公司 | 一种基于Java代码的混淆方法和装置 |
CN109784007A (zh) * | 2018-12-04 | 2019-05-21 | 厦门中控智慧信息技术有限公司 | 一种字节码加密的方法、字节码解密的方法及终端 |
CN110472425A (zh) * | 2019-07-18 | 2019-11-19 | 福建天晴在线互动科技有限公司 | 基于Mono的Unity插件加密方法、存储介质 |
-
2020
- 2020-05-26 CN CN202010453409.4A patent/CN111625278B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160117183A (ko) * | 2015-03-30 | 2016-10-10 | 홍동철 | Dll 파일 암호화 방법, 이를 수행하는 dll 파일 암호화 시스템, 및 이를 저장하는 기록매체 |
US20170103192A1 (en) * | 2015-10-12 | 2017-04-13 | Renesas Electronics America Inc. | Secure code delivery |
CN105516208A (zh) * | 2016-01-28 | 2016-04-20 | 邱铭钗 | 一种有效防止网络攻击的web网站链接动态隐藏方法及装置 |
CN109614771A (zh) * | 2018-10-31 | 2019-04-12 | 同盾控股有限公司 | 一种基于Java代码的混淆方法和装置 |
CN109784007A (zh) * | 2018-12-04 | 2019-05-21 | 厦门中控智慧信息技术有限公司 | 一种字节码加密的方法、字节码解密的方法及终端 |
CN110472425A (zh) * | 2019-07-18 | 2019-11-19 | 福建天晴在线互动科技有限公司 | 基于Mono的Unity插件加密方法、存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116896444A (zh) * | 2023-09-11 | 2023-10-17 | 武汉吧哒科技股份有限公司 | 文件包管理方法和装置 |
CN116896444B (zh) * | 2023-09-11 | 2023-12-15 | 武汉吧哒科技股份有限公司 | 文件包管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111625278B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598584B (zh) | 一种处理资源文件的方法、装置和系统 | |
US11057216B2 (en) | Protection method and protection system of system partition key data and terminal | |
CN110417543B (zh) | 一种数据加密方法、装置和存储介质 | |
WO2017198161A1 (zh) | 网络连接方法、装置、存储介质及终端 | |
KR102224553B1 (ko) | 키 저장 방법, 키 관리 방법 및 디바이스 | |
CN111142930B (zh) | 安装包文件打包方法、装置、终端设备及存储介质 | |
CN111355707B (zh) | 一种数据处理方法及相关设备 | |
CN108809906B (zh) | 数据处理方法、系统及装置 | |
CN107103211B (zh) | Sdk发送、应用发布、应用运行方法及装置 | |
CN106709282B (zh) | 资源文件解密方法及装置 | |
CN106599698B (zh) | 一种加密图片、解密图片的方法和装置 | |
CN104965722A (zh) | 一种显示信息的方法及装置 | |
CN115270163B (zh) | 数据处理方法、相关装置及存储介质 | |
CN114553612B (zh) | 数据加密、解密方法、装置、存储介质及电子设备 | |
CN110462620A (zh) | 分解敏感数据存储在不同应用环境中 | |
CN116541865A (zh) | 基于数据安全的密码输入方法、装置、设备及存储介质 | |
CN114629649B (zh) | 基于云计算的数据处理方法、装置及存储介质 | |
US11516654B2 (en) | Method for automatically encrypting short message, storage device and mobile terminal | |
CN111625278B (zh) | 一种源代码文件的生成方法及相关设备 | |
CN108664389B (zh) | 一种测试方法、装置及终端 | |
WO2014198118A1 (en) | Method and device for protecting privacy information with browser | |
CN111562910A (zh) | 一种封装方法及相关设备 | |
CN113923005B (zh) | 一种写入数据的方法及系统 | |
CN111090894B (zh) | 一种锁卡数据重建的方法和装置 | |
WO2019127468A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |