【技术实现步骤摘要】
代码保护方法、装置、保护设备及可读存储介质
本专利技术涉及计算机
,具体而言,涉及一种代码保护方法、装置、保护设备及可读存储介质。
技术介绍
随着计算机技术的不断发展,可以通过不同的代码实现不同的功能。相关技术中,终端可以将Java语言的代码进行编译,得到用于JVM(JavaVirtualMachine,Java虚拟机)运行的字节码,再通过终端运行JVM,从而可以通过JVM实现字节码对应的功能。但是,相关技术中,JVM的标准是公开的,则可以根据公开的标准对字节码进行反编译,从而得到Java语言的代码,造成代码泄露的问题。
技术实现思路
本专利技术的目的在于,针对上述现有技术中的不足,提供一种代码保护方法、装置、保护设备及可读存储介质,以解决代码容易泄露的问题。为实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种代码保护方法,所述方法包括:获取待保护字节码中的多个功能指令;将每个所述功能指令替换为间接调用指令, ...
【技术保护点】
1.一种代码保护方法,其特征在于,所述方法包括:/n获取待保护字节码中的多个功能指令;/n将每个所述功能指令替换为间接调用指令,所述间接调用指令的引导函数用于调用所述功能指令。/n
【技术特征摘要】
1.一种代码保护方法,其特征在于,所述方法包括:
获取待保护字节码中的多个功能指令;
将每个所述功能指令替换为间接调用指令,所述间接调用指令的引导函数用于调用所述功能指令。
2.如权利要求1所述的方法,其特征在于,所述将每个所述功能指令替换为间接调用指令,包括:
若所述功能指令为函数调用指令,将所述功能指令替换为第一间接调用指令,所述第一间接调用指令用于调用所述功能指令;
建立所述第一间接调用指令和所述功能指令之间的对应关系。
3.如权利要求1所述的方法,其特征在于,所述将每个所述功能指令替换为间接调用指令,包括:
若所述功能指令为非函数调用指令,生成与所述功能指令相对应的等价函数,所述等价函数的功能与所述功能指令的功能相同;
将所述功能指令替换为第二间接调用指令,所述第二间接调用指令用于调用所述等价函数。
4.如权利要求3所述的方法,其特征在于,所述将所述功能指令替换为第二间接调用指令,包括:
生成调用所述等价函数的等价调用指令;
将所述等价调用指令替换为所述第二间接调用指令;
建立所述第二间接调用指令和所述等价调用指令之间的对应关系。
5.如权利要求1至4任一所述的方法,其特征在于,在所述将每个所述功能指令替换为间接调用指令之前,所述方法还包括:
根据每个所述功能指令,生成与各个所述功能指令对应的所述间接调用指令;
生成所述间接调用指令的引导函数,所述引导函数用于查找所述功能指令的函数句柄,继而根据所述函数句柄调用所述功能指令。
6.一种代码保护装置,其特征在于,所述装置包括:
获取模块,用于获取待保护字节码中的多个功能指令;
替换模块,用于将每个所述功能指令替换为间接调用指令,所...
【专利技术属性】
技术研发人员:泮晓波,
申请(专利权)人:北京顶象技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。