The invention discloses a method and a device for reinforcing an executable file. The method comprises the following steps: N will be a function of the executable file to be encrypted in order to storage, wherein N is a natural number larger than one; for each function to be encrypted encryption method corresponding to N; in order to be encrypted by encryption function, which, to be the first to encrypt the encryption function. The method to encrypt the encryption function corresponding to the M; to be encrypted with the encryption function, the encryption method to the corresponding encryption function, all encryption methods to the M 1 functions used in the article, according to the M 1 function using encryption method to encrypt the order among them,; M is a natural number larger than one. The technical scheme can not only select fewer encryption methods, but also complicate the encryption method so as to greatly reduce the possibility of cracking, and the efficiency of the executable file is high and the effect is good.
【技术实现步骤摘要】
一种对可执行文件进行加固的方法和装置
本专利技术涉及计算机安全领域,具体涉及一种对可执行文件进行加固的方法和装置。
技术介绍
一般地,为了能够保护可执行文件中的代码不被攻击者逆向破解,通过为可执行文件加壳可以实现防止攻击者逆向我们代码逻辑的目的,加壳的手段一般是给可执行文件的部分或者全部进行加密。但是目前而言,加密方法往往是单层次的,这样很容易被破解者找到应对手段,不能满足需求。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的对可执行文件进行加固的方法和装置。依据本专利技术的一个方面,提供了一种对可执行文件进行加固的方法,包括:将可执行文件中的N个待加密的函数按次序存储,其中,N为大于一的自然数;为每个待加密的函数选择对应的加密方法;依次对N个待加密的函数进行加密,其中,对第一个待加密函数,以该待加密函数对应的加密方法进行加密;对第M个待加密函数,以该待加密函数对应的加密方法进行加密后,再以第M-1个函数所使用的所有加密方法,按所述第M-1个函数所使用加密方法的次序进行加密;其中,M为大于一的自然数。可选地,所述将可执行文件中的N个待加密的函数按次序存储包括:将该N个待加密的函数按次序存储至可执行文件中的同一代码区段。可选地,该方法还包括:获取该N个待加密的函数在所述可执行文件执行时被调用的先后顺序,使该N个待加密的函数的存储次序与该N个待加密的函数在所述可执行文件执行时被调用的先后顺序一致。可选地,该方法在所有步骤之前还包括:将所述可执行文件转换为二进制形式。可选地,该方法还包括:向加固后的可执行文件添加解密 ...
【技术保护点】
一种对可执行文件进行加固的方法,其中,该方法包括:将可执行文件中的N个待加密的函数按次序存储,其中,N为大于一的自然数;为每个待加密的函数选择对应的加密方法;依次对N个待加密的函数进行加密,其中,对第一个待加密函数,以该待加密函数对应的加密方法进行加密;对第M个待加密函数,以该待加密函数对应的加密方法进行加密后,再以第M‑1个函数所使用的所有加密方法,按所述第M‑1个函数所使用加密方法的次序进行加密;其中,M为大于一的自然数。
【技术特征摘要】
1.一种对可执行文件进行加固的方法,其中,该方法包括:将可执行文件中的N个待加密的函数按次序存储,其中,N为大于一的自然数;为每个待加密的函数选择对应的加密方法;依次对N个待加密的函数进行加密,其中,对第一个待加密函数,以该待加密函数对应的加密方法进行加密;对第M个待加密函数,以该待加密函数对应的加密方法进行加密后,再以第M-1个函数所使用的所有加密方法,按所述第M-1个函数所使用加密方法的次序进行加密;其中,M为大于一的自然数。2.如权利要求1所述的方法,其中,所述将可执行文件中的N个待加密的函数按次序存储包括:将该N个待加密的函数按次序存储至可执行文件中的同一代码区段。3.如权利要求1所述的方法,其中,该方法还包括:获取该N个待加密的函数在所述可执行文件执行时被调用的先后顺序,使该N个待加密的函数的存储次序与该N个待加密的函数在所述可执行文件执行时被调用的先后顺序一致。4.如权利要求1所述的方法,其中,该方法在所有步骤之前还包括:将所述可执行文件转换为二进制形式。5.如权利要求1所述的方法,其中,该方法还包括:向加固后的可执行文件添加解密逻辑。6...
【专利技术属性】
技术研发人员:吴乐,
申请(专利权)人:北京奇虎科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。