CN114817869A - 程序处理装置、方法、计算机设备、存储介质及程序产品 - Google Patents

程序处理装置、方法、计算机设备、存储介质及程序产品 Download PDF

Info

Publication number
CN114817869A
CN114817869A CN202210389525.3A CN202210389525A CN114817869A CN 114817869 A CN114817869 A CN 114817869A CN 202210389525 A CN202210389525 A CN 202210389525A CN 114817869 A CN114817869 A CN 114817869A
Authority
CN
China
Prior art keywords
processor
scrambling code
random number
file
program
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
Application number
CN202210389525.3A
Other languages
English (en)
Inventor
邢忠卿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Eswin Computing Technology Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Eswin Computing Technology Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202210389525.3A priority Critical patent/CN114817869A/zh
Publication of CN114817869A publication Critical patent/CN114817869A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种程序处理装置、方法、计算机设备、存储介质及程序产品,涉及计算机安全技术领域。通过处理器基于身份特征数据和伪随机数,生成扰码;并基于该扰码和待执行的源程序代码的扰码文件,还原生成该源程序代码的可执行文件,以便基于可执行文件执行源程序代码对应的指令。由于该扰码文件是利用该扰码对源程序代码对应的二进制代码作某种数学运算得到的,扰码文件中编码不再和指令是固定对应关系,因此不易被反编译,为有效防止执行文件被反编译提供保证,提高了程序处理的安全性。

Description

程序处理装置、方法、计算机设备、存储介质及程序产品
技术领域
本申请涉及计算机安全技术领域,本申请涉及一种程序处理装置、方法、计算机设备、存储介质及程序产品。
背景技术
处理器在执行指令时,通常需经过对指令进行提取、解码、执行和写回等过程。其中,提取是从存储器中读取指令;解码是将指令解析为计算机执行单元可以执行的可执行文件;执行是将解码得到的可执行文件加载到执行逻辑中运行,以得到处理结果;写回是将处理结果放回到指令指定地址。
然而,解码单元能够解析的指令集编码方式通常是固定的,即同一个指令,只有一种编码与其对应。从而导致二进制文件中,所有的指令和编码的对应关系都是公开的,使得二进制文件很容易被反编译,即“逆向工程”。竞争对手或者黑客通过反编译很容易取得软件的内部逻辑,从而进行抄袭甚至黑客攻击,因此,目前急需一种有效防止反编译的程序处理方法。
发明内容
本申请提供了一种程序处理装置、方法、计算机设备、存储介质及程序产品,可以有效防止程序代码反编译的问题。所述技术方案如下:
一方面,提供了一种程序处理装置,所述装置包括用于程序处理的处理器,所述处理器在处理程序时,用于:
基于处理器的身份特征数据和伪随机数,生成扰码;
利用所述扰码对待执行的源程序代码的扰码文件进行处理,还原生成所述源程序代码的可执行文件,所述扰码文件是基于所述扰码对所述源程序代码进行编译得到的执行文件;
基于所述可执行文件,执行所述源程序代码对应的指令。
在一种可能实现方式中,所述装置还包括用于生成扰码文件的编译器,所述编译器用于:
基于编译器的指令集编码方式,对所述源程序代码进行编译,得到所述源程序代码的可执行文件;
对所述伪随机数和所述处理器的身份特征数据进行目标运算,得到所述扰码;
利用所述扰码对所述可执行文件进行处理,生成所述扰码文件。
在一种可能实现方式中,所述编译器还用于:
获取所述处理器的处理器类型;
当所述处理器类型属于预配置的目标类型时,对所述伪随机数和所述处理器的身份特征数据进行目标运算,得到所述扰码。
在一种可能实现方式中,所述处理器包括存储单元和解码单元,
所述储存单元,用于存储所述伪随机数,所述伪随机数经过目标加密密钥加密;
所述解码单元,用于根据所述处理器的解码单元和所述存储单元之间的加密协议,采用与所述目标加密密钥对应的目标解密密钥,从所述存储单元中获取所述伪随机数。
在一种可能实现方式中,
所述伪随机数按照目标周期被周期性更新;或者
所述伪随机数采用烧写的方式被写入所述存储单元。
另一方面,提供一种程序处理方法,所述方法包括:
基于处理器的身份特征数据和伪随机数,生成扰码;
利用所述扰码对待执行的源程序代码的扰码文件进行处理,还原生成所述源程序代码的可执行文件,所述扰码文件是基于所述扰码对所述源程序代码的可执行文件进行处理得到的执行文件;
基于所述可执行文件,执行所述源程序代码对应的指令。
在一种可能实现方式中,所述扰码文件的生成过程包括:
基于编译器的指令集编码方式,对所述源程序代码进行编译,得到所述源程序代码的可执行文件;
对所述伪随机数和所述处理器的身份特征数据进行目标运算,得到所述扰码;
利用所述扰码对所述可执行文件进行处理,生成所述扰码文件。
在一种可能实现方式中,所述方法还包括:
获取所述处理器的处理器类型;
当所述处理器类型属于预配置的目标类型时,对所述伪随机数和所述处理器的身份特征数据进行目标运算,得到所述扰码。
在一种可能实现方式中,所述方法还包括:
将所述伪随机数存储至所述处理器的存储单元,并采用目标加密密钥对所述伪随机数进行加密;
根据所述处理器的解码单元和所述存储单元之间的加密协议,采用与所述目标加密密钥对应的目标解密密钥,从所述存储单元中获取所述伪随机数。
在一种可能实现方式中,
所述伪随机数按照目标周期被周期性更新;或者
所述伪随机数采用烧写的方式被写入所述处理器的存储单元。
另一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现上述的程序处理方法。
另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的程序处理方法。
另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述的程序处理方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例提供的程序处理装置,通过处理器基于身份特征数据和伪随机数,生成扰码;并基于该扰码和待执行的源程序代码的扰码文件,还原生成该源程序代码的可执行文件,以便基于可执行文件执行源程序代码对应的指令。由于该扰码文件是利用该扰码对源程序代码对应的二进制代码作某种数学运算得到的,扰码文件中编码不再和指令是固定对应关系,因此,不易被反编译,为有效防止执行文件被反编译提供保证,提高了程序处理的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种程序处理装置的结构示意图;
图2为本申请实施例提供的一种程序处理方法的流程示意图;
图3为本申请实施例提供的一种程序处理装置的结构示意图;
图4为本申请实施例提供的一种程序处理方法的流程示意图;
图5为本申请实施例提供的一种程序处理装置的结构示意图;
图6为本申请实施例提供的一种程序处理方法的流程示意图;
图7为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作等。
图1为本申请实施例提供的一种程序处理装置的结构示意图。如图1所示,该程序处理装置包括用于程序处理的处理器11。
该处理器11在处理程序时,用于执行如图2所示的程序处理方法,如图2所示,该处理器11在处理程序时,具体用于执行以下步骤201至步骤203的程序处理流程:
步骤201、基于处理器11的身份特征数据和伪随机数,生成扰码。
该处理器11可以基于该处理器11的身份特征数据和该伪随机数进行目标运算,得到该扰码。例如,该目标运算可以包括但不限于加法运算、乘法运算、除法运算、异或运算等数学运算。
在一个可能示例中,该身份特征数据用于标识该处理器11的身份,该身份特征数据可以是描述该处理器11的专属特征的数据,一示例中,该身份特征数据可以是该处理器11的该指纹信息;指纹信息是处理器11的身份信息的唯一编号,如该处理器11可以为CPU(central processing unit,中央处理器),该指纹信息可以包括CPU的出厂信息。另一示例中,该身份特征数据也可以是基于该处理11的编号、指纹信息等专属特征数据生成的编码信息,例如,基于编号、指纹信息等生成的哈希编码值。
图3为本申请实施例提供的一种程序处理装置的详细结构示意图,如图3所示,该处理器11可以包括存储单元11a和解码单元11b。
在一种可能实现方式中,该存储单元11a用于存储该伪随机数,所述伪随机数经过目标加密密钥加密;该解码单元11b,还用于根据该处理器的解码单元11b和该存储单元11a之间的加密协议,采用与该目标加密密钥对应的目标解密密钥,从该存储单元11a中获取该伪随机数。
一示例中,该处理器11可通过存储单元11a和解码单元11b获取伪随机数。
其中,该存储单元11a和解码单元11b之间可以预先配置有加密协议,该存储单元11a配置有目标加密密钥,该解码单元11b可以配置有该目标加密密钥对应的目标解密密钥,该解码单元11b可以从该存储单元11a中获取该通过目标加密密钥加密后的伪随机数,并通过目标解密密钥对该加密后的伪随机数进行解密,从而还原出该伪随机数。其中,该加密协议可以为非对称加密、对称加密等加密类型对应的协议,本申请实施例对该加密协议不做具体限制。
需要说明的是,本申请中伪随机数存储单元11a可以为可一次性编程的存储单元,其与解码单元11b通过加密协议通信,使得可解码指令的解码单元11b能够唯一访问该存储单元11a以获取该伪随机数,也即是,该存储单元11a的伪随机数可输入至该解码单元11b,避免采用其他电路和方法来访问存储单元11a内部,保证了伪随机数的安全性。进一步,该解码单元11b利用该伪随机数和身份特征数据来生成扰码,从而后续利用扰码还原出扰码文件对应的可执行文件。
在一种可能实现方式中,伪随机数可以采用如下方式1或方式2来存储到该存储单元11a。
方式1、该伪随机数被存储到该存储单元11a之后,按照目标周期,周期性地被更新。该目标周期可以基于需要进行配置,本申请实施例对此不做限制,例如,该目标周期可以为一周、一个月、1小时、5分钟等。
方式2、该伪随机数可以采用烧写的方式被写入该处理器11的存储单元11a。
该存储单元11a可以是一个支持OTP(One Time Program,一次性编程)的存储单元11a,该处理器11可以将待存储的伪随机数在CPU的产品生成线上一次性烧写进该CPU的存储单元11a中,且该伪随机数在烧写完成后,除了指令的解码单元11b外,无法通过系统的任何其它方法访问。
步骤202、利用该扰码对待执行的源程序代码的扰码文件进行处理,还原生成该源程序代码的可执行文件。
扰码文件是编译器12基于该扰码对该源程序代码的可执行文件进行编译处理得到的执行文件。该编译器12在编译同一套源代码时,可根据CPU的不同,生成不同比特序列的二进制代码,从而打破指令和编码之间的一一对应关系,有效防止二进制文件被逆向工程。
一示例中,该处理器11可通过解码单元11b,基于扰码对可执行文件进行指定数学运算,得到该扰码文件。则步骤202中,为了生成正常的可执行的二进制代码,该解码单元11b基于该扰码对该扰码文件执行该指定数学运算的反向运算,从而还原出该可执行文件。例如,该指定数学运算为一次异或运算,相应的,该反向运算则可以为两次异或运算。
步骤203、基于该可执行文件,执行该源程序代码对应的指令。
该处理器11将该可执行文件加载到执行逻辑上运行,以实现对该源程序代码对应指令的执行过程,得到处理结果。
本申请实施例提供的程序处理装置,通过处理器11基于身份特征数据和伪随机数,生成扰码;并基于该扰码和待执行的源程序代码的扰码文件,还原生成该源程序代码的可执行文件,以便基于可执行文件执行源程序代码对应的指令。由于该扰码文件是利用该扰码对源程序代码对应的二进制代码作某种数学运算得到的,扰码文件中编码不再和指令是固定对应关系,因此,不易被反编译,为有效防止执行文件被反编译提供保证,提高了程序处理的安全性。
在一种可能实现方式中,如图1所示,该程序处理装置还包括用于生成扰码文件的编译器12。
该编译器12在生成扰码文件时,用于执行如图4所示的程序处理方法。一示例中,在处理器11利用该扰码对待运行的源程序代码的扰码文件进行处理,还原生成该源程序代码的可执行文件之前,可先由编译器12执行图4所示的程序处理流程以生成该源程序代码的扰码文件。
如图4所示,该编译器12在处理程序时,具体用于执行以下步骤401至步骤403的程序处理流程:
步骤401、基于编译器12的指令集编码方式,对该源程序代码进行编译,得到该源程序代码的可执行文件。
步骤402、对该伪随机数和该处理器的身份特征数据进行目标运算,得到该扰码。
例如,该目标运算可以包括但不限于加法运算、乘法运算、除法运算、异或运算等数学运算。
在一种可能实现方式中,如图5所示,该程序处理装置还可以包括伪随机数生成器13,该伪随机数生成器13用于向该编译器12提供伪随机数。例如,该编译器12可以向伪随机数生成器13发送用于触发生成伪随机数的目标触发信号。该伪随机数生成器13接收该目标触发信号,基于该目标触发信号的触发生成伪随机数,并向该编译器12发送该伪随机数该编译器12接收该伪随机数。
在一种可能实现方式中,本申请还可以设计有针对指定类型的处理器提供本申请的程序处理方法的方案。一示例中,编译器12在执行步骤402之前,该编译器12还可以执行以下步骤S1至步骤S2。
步骤S1、获取该处理器11的处理器类型。
其中,该目标类型可以基于需要进行配置,本申请实施例对此不限定。
步骤S2、当该处理器类型属于预配置的目标类型时,对该伪随机数和该处理器的身份特征数据进行目标运算,得到该扰码。也即是,当该处理器类型属于预配置的目标类型时,该编译器12才执行步骤402。
当该处理器类型不属于该目标类型时,该编译器12可不再执行步骤402和步骤403,例如,可直接将步骤401得到的可执行文件作为被处理器11执行的文件。
通过该编译器12获取处理器类型,以便有选择的针对所配置的指定类型处理器提供本申请的程序处理方法,例如,在复杂多样的处理器环境中针对易被反编译的指定处理器执行本申请的程序处理方法,或者针对执行重要程序的指定处理器采用本申请的程度处理方法等等,从而扩展了本申请的程序处理方法的适用范围,提高了本申请的程序处理方法的实用性。
步骤403、利用该扰码对该可执行文件进行处理,生成该扰码文件。
该编译器12可以基于扰码对可执行文件进行指定数学运算,得到该扰码文件。例如,该指定数学运算为一次异或运算。如此,该编译器12可以采用该扰码与该可执行文件中的二进制代码做指定数学运算(例如,按照字节作异或运算),从而改变所生成的扰码文件中所包括的二进制代码的比特序列。由于扰码与处理器是一一对应的关系,因此,即使是同一套源程序代码,即使采用相同的编译器12的同一套编译环境进行编译得到可执行文件,但是通过不同处理器的身份特征数据和伪随机数生成的不同扰码、来干扰编译器12生成的二进制编码序列,从而最终生成不同的扰码文件。同一套源程序代码的不同扰码文件中,二进制指令编码仍各不相同,从而避免二进制软件被反编译,进而保护计算机体系安全。
图6为本申请实施例提供的一种程序处理方法的流程示意图。如图6所示,该方法包括:
步骤601、基于处理器的身份特征数据和伪随机数,生成扰码;
步骤602、利用该扰码对待执行的源程序代码的扰码文件进行处理,还原生成该源程序代码的可执行文件,该扰码文件是基于该扰码对该源程序代码进行编译得到的执行文件;
步骤603、基于该可执行文件,执行该源程序代码对应的指令。
在一种可能实现方式中,该扰码文件的生成过程,包括:
基于编译器的指令集编码方式,对该源程序代码进行编译,得到该源程序代码的可执行文件;
对该伪随机数和该处理器的指纹信息进行目标运算,得到该扰码;
利用该扰码对该可执行文件进行处理,生成该扰码文件。
在一种可能实现方式中,该方法还包括:
获取该处理器的处理器类型;
当该处理器类型属于预配置的目标类型时,对基于该伪随机数和该处理器的指纹信息进行目标运算,得到该扰码。
在一种可能实现方式中,该方法还包括:
将该伪随机数存储至该处理器的存储单元,并采用目标加密密钥对该伪随机数进行加密;
根据该处理器的解码单元和该存储单元之间的加密协议,采用与该目标加密密钥对应的目标解密密钥,从该存储单元中获取该伪随机数。
在一种可能实现方式中,
该伪随机数按照目标周期被周期性更新;或者
该伪随机数采用烧写的方式被写入该处理器的存储单元。
本申请实施例提供的程序处理方法,通过基于身份特征数据和伪随机数,生成扰码;并基于该扰码和待执行的源程序代码的扰码文件,还原生成该源程序代码的可执行文件,以便基于可执行文件执行源程序代码对应的指令。由于该扰码文件是利用该扰码对源程序代码对应的二进制代码作某种数学运算得到的,扰码文件中编码不再和指令是固定对应关系,因此不易被反编译,为有效防止执行文件被反编译提供保证,提高了程序处理的安全性。
需要说明的是,上述实施例提供的程序处理装置在程序处理时,仅以上述各功能模块的划分进行举例说明;实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的程序处理装置与程序处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本申请实施例中提供了一种计算机设备的结构示意图。如图7所示,该计算机设备包括:存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现程序处理方法的步骤,与相关技术相比可实现一种程序处理方法,该方法包括:
基于处理器的身份特征数据和伪随机数,生成扰码;
利用该扰码对待执行的源程序代码的扰码文件进行处理,还原生成该源程序代码的可执行文件,该扰码文件是基于该扰码对该源程序代码进行编译得到的执行文件;
基于该可执行文件,执行该源程序代码对应的指令。
在一种可能实现方式中,该扰码文件的生成过程,包括:
基于编译器的指令集编码方式,对该源程序代码进行编译,得到该源程序代码的可执行文件;
对该伪随机数和该处理器的指纹信息进行目标运算,得到该扰码;
利用该扰码对该可执行文件进行处理,生成该扰码文件。
在一种可能实现方式中,该方法还包括:
获取该处理器的处理器类型;
当该处理器类型属于预配置的目标类型时,对基于该伪随机数和该处理器的指纹信息进行目标运算,得到该扰码。
在一种可能实现方式中,该方法还包括:
将该伪随机数存储至该处理器的存储单元,并采用目标加密密钥对该伪随机数进行加密;
根据该处理器的解码单元和该存储单元之间的加密协议,采用与该目标加密密钥对应的目标解密密钥,从该存储单元中获取该伪随机数。
在一种可能实现方式中,
该伪随机数按照目标周期被周期性更新;或者
该伪随机数采用烧写的方式被写入该处理器的存储单元。
本申请实施例提供的程序处理方法,通过基于身份特征数据和伪随机数,生成扰码;并基于该扰码和待执行的源程序代码的扰码文件,还原生成该源程序代码的可执行文件,以便基于可执行文件执行源程序代码对应的指令。由于该扰码文件是利用该扰码对源程序代码对应的二进制代码作某种数学运算得到的,扰码文件中编码不再和指令是固定对应关系,因此不易被反编译,为有效防止执行文件被反编译提供保证,提高了程序处理的安全性。
在一个可选实施例中提供了一种计算机设备,如图7所示,图7所示的计算机设备700包括:处理器701和存储器703。其中,处理器701和存储器703相连,如通过总线702相连。可选地,计算机设备700还可以包括收发器704,收发器704可以用于该计算机设备与其他计算机设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器704不限于一个,该计算机设备700的结构并不构成对本申请实施例的限定。
处理器701可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线702可包括一通路,在上述组件之间传送信息。总线702可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线702可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器703可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random AccessMemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read OnlyMemory,电可擦可编程只读存储器)、CD-ROM(Compact Disc ReadOnlyMemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质\其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器703用于存储执行本申请实施例的计算机程序,并由处理器701来控制执行。处理器701用于执行存储器703中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (13)

1.一种程序处理装置,其特征在于,所述装置包括用于程序处理的处理器,所述处理器在处理程序时,用于:
基于处理器的身份特征数据和伪随机数,生成扰码;
利用所述扰码对待执行的源程序代码的扰码文件进行处理,还原生成所述源程序代码的可执行文件,所述扰码文件是基于所述扰码对所述源程序代码进行编译得到的执行文件;
基于所述可执行文件,执行所述源程序代码对应的指令。
2.根据权利要求1所述的程序处理装置,其特征在于,所述装置还包括用于生成扰码文件的编译器,所述编译器用于:
基于编译器的指令集编码方式,对所述源程序代码进行编译,得到所述源程序代码的可执行文件;
对所述伪随机数和所述处理器的身份特征数据进行目标运算,得到所述扰码;
利用所述扰码对所述可执行文件进行处理,生成所述扰码文件。
3.根据权利要求2所述的程序处理装置,其特征在于,所述编译器还用于:
获取所述处理器的处理器类型;
当所述处理器类型属于预配置的目标类型时,对所述伪随机数和所述处理器的身份特征数据进行目标运算,得到所述扰码。
4.根据权利要求1所述的程序处理装置,其特征在于,所述处理器包括存储单元和解码单元,
所述储存单元,用于存储所述伪随机数,所述伪随机数经过目标加密密钥加密;
所述解码单元,用于根据所述处理器的解码单元和所述存储单元之间的加密协议,采用与所述目标加密密钥对应的目标解密密钥,从所述存储单元中获取所述伪随机数。
5.根据权利要求4所述的程序处理装置,其特征在于,
所述伪随机数按照目标周期被周期性更新;或者,
所述伪随机数采用烧写的方式被写入所述存储单元。
6.一种程序处理法,其特征在于,所述方法包括:
基于处理器的身份特征数据和伪随机数,生成扰码;
利用所述扰码对待执行的源程序代码的扰码文件进行处理,还原生成所述源程序代码的可执行文件,所述扰码文件是基于所述扰码对所述源程序代码的可执行文件进行处理得到的执行文件;
基于所述可执行文件,执行所述源程序代码对应的指令。
7.根据权利要求6所述的程序处理方法,其特征在于,所述扰码文件的生成过程包括:
基于编译器的指令集编码方式,对所述源程序代码进行编译,得到所述源程序代码的可执行文件;
对所述伪随机数和所述处理器的身份特征数据进行目标运算,得到所述扰码;
利用所述扰码对所述可执行文件进行处理,生成所述扰码文件。
8.根据权利要求7所述的程序处理方法,其特征在于,所述方法还包括:
获取所述处理器的处理器类型;
当所述处理器类型属于预配置的目标类型时,对所述伪随机数和所述处理器的身份特征数据进行目标运算,得到所述扰码。
9.根据权利要求6所述的程序处理方法,其特征在于,所述方法还包括:
将所述伪随机数存储至所述处理器的存储单元,并采用目标加密密钥对所述伪随机数进行加密;
根据所述处理器的解码单元和所述存储单元之间的加密协议,采用与所述目标加密密钥对应的目标解密密钥,从所述存储单元中获取所述伪随机数。
10.根据权利要求9所述的程序处理方法,其特征在于,
所述伪随机数按照目标周期被周期性更新;或者
所述伪随机数采用烧写的方式被写入所述处理器的存储单元。
11.一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求6至10中任一项所述的程序处理方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求6至10中任一项所述的程序处理方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求6至10中任一项所述的程序处理方法。
CN202210389525.3A 2022-04-13 2022-04-13 程序处理装置、方法、计算机设备、存储介质及程序产品 Pending CN114817869A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210389525.3A CN114817869A (zh) 2022-04-13 2022-04-13 程序处理装置、方法、计算机设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210389525.3A CN114817869A (zh) 2022-04-13 2022-04-13 程序处理装置、方法、计算机设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN114817869A true CN114817869A (zh) 2022-07-29

Family

ID=82536597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210389525.3A Pending CN114817869A (zh) 2022-04-13 2022-04-13 程序处理装置、方法、计算机设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN114817869A (zh)

Similar Documents

Publication Publication Date Title
US20160203087A1 (en) Method for providing security for common intermediate language-based program
CN109784007B (zh) 一种字节码加密的方法、字节码解密的方法及终端
CN105450620A (zh) 一种信息处理方法及装置
KR101687439B1 (ko) 소프트웨어 무결성을 보장하기위한 프로세서 실행 방법
CN109284585B (zh) 一种脚本加密方法、脚本解密运行方法和相关装置
CN106415491B (zh) 一种应用保护方法、服务器以及终端
CN104298932A (zh) 一种so文件的调用方法及装置
CN103946856A (zh) 加解密处理方法、装置和设备
CN101004719A (zh) 嵌入式系统和增加嵌入式系统安全性的方法
CN109446757B (zh) 一种用于通用mcu程序保护的方法
WO2020043893A1 (en) System and method for providing protected data storage in data memory
US11132438B2 (en) Virus immune computer system and method
CN109598105B (zh) 一种微控制器安全加载固件的方法、装置、计算机设备及存储介质
CN114398598A (zh) 一种库文件加密方法、解密方法以及加密装置
CN108182358B (zh) 文件保护方法、装置、计算设备及计算机存储介质
CN104657635A (zh) 一种应用处理方法、装置和服务器
CN110535642B (zh) 一种分散存储密钥的方法、智能终端及存储介质
CN108021790B (zh) 文件保护方法、装置、计算设备及计算机存储介质
CN114817869A (zh) 程序处理装置、方法、计算机设备、存储介质及程序产品
CN105426702A (zh) 基于安卓操作系统的应用程序加密解密方法和装置
CN111339523B (zh) 嵌入式设备的授权方法及装置
CN109902492B (zh) 集成电路外部存储器中写加密信息集合的方法和集成电路
US20210143978A1 (en) Method to secure a software code performing accesses to look-up tables
US11061996B2 (en) Intrinsic authentication of program code
CN111291333A (zh) 一种Java应用程序加密方法及装置

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100176 Room 101, 1f, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Beijing

Applicant after: Beijing yisiwei Computing Technology Co.,Ltd.

Address before: 100176 Room 101, 1f, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Beijing

Applicant before: Beijing yisiwei Computing Technology Co.,Ltd.