The invention discloses a code protection virtual machine KVM system implementation method, device, computer equipment and storage medium, including the following steps: step 1, generating pseudocode byte stream; step 2, generating virtual machine instructions for core code; step 3, generating virtual machine operating environment and virtual machine interpretation engine; step 4, application packaging; step 5, taking steps in virtual machine. The core code is read and dispatched; the code protection method of the virtual machine KVM system provided by the present invention encoding function-level code into free instruction set format after full virtualization; once virtualized, the code will never be decrypted, and the security intensity is high; The KVM system virtualizes the code before the platform-dependent code is generated in the compiler, and does not depend on the specific system ring. Environments, good compatibility.
【技术实现步骤摘要】
一种代码保护虚拟机KVM系统实现方法、装置、计算机设备及存储介质
本专利技术涉及计算机代码保护领域,具体涉及代码保护虚拟机KVM系统实现方法。
技术介绍
随着移动互联网的飞速发展,其广泛的应用充斥着人们的生活,移动应用市场急剧膨胀扩张。但是在应用安全性方面的缺失,直接导致企业应用被逆向破解,业务执行逻辑被阻断,病毒植入、仿冒侵权、信息截取等黑客攻击,严重影响了企业收益与用户体验。攻击者的攻击手法主要有针对端和链路的攻击。由于移动应用运行在用户终端之上,攻击者只需要逆向破解端应用,就可以非法利用程序漏洞分析程序的脆弱性。基于此,端和链路的防护技术也是层出不穷,从加壳、代码混淆到Java2C,基于代码加密强度和兼容性,代码虚拟化技术被提出。通过代码虚拟化技术,对代码进行转换加密,使得攻击者无法得知具体的转换指令,进而达到保护代码信息的目的。其不可逆的特性防止攻击者逆向分析客户端代码,从而保证客户端代码安全。传统代码虚拟化技术必须通过Java虚拟机提供的JNI接口与java虚拟机进行交互,攻击者可以直接将代码虚拟化方案当作黑盒,通过自定义的JNI接口对象,对黑盒内部进行探测、记录和分析,进而得到完整DEX程序。因此,为解决现有技术中存在的不足,设计一种加固强度更高、可移植性更好、兼容性更好的代码保护虚拟机KVM系统是亟待解决的技术问题。
技术实现思路
本专利技术的目的在于针对现有技术的缺陷和不足,提供一种代码保护虚拟机KVM系统方法、装置、计算机设备及存储介质。一种代码保护虚拟机KVM系统实现方法,包括以下步骤:步骤1,生成伪代码字节流:把用户待保护的核心代码通过编 ...
【技术保护点】
1.一种代码保护虚拟机KVM系统实现方法,其特征在于:包括以下步骤:步骤1,生成伪代码字节流:把用户待保护的核心代码通过编译器翻译为伪代码字节流;步骤2,生成虚拟机指令:将伪代码字节流转译为核心代码的虚拟机指令;步骤3,生成虚拟机:源包中插入软件开发工具包生成虚拟机运行环境和虚拟机解释引擎;步骤4,应用打包:待步骤2和步骤3完成之后,在代码研发平台进行应用打包,生成目标代码;步骤5,在虚拟机中执行核心代码:运行目标代码时,核心代码的虚拟机指令由内嵌入虚拟机运行环境中的虚拟机解释引擎,采取读取‑分派的方式执行。
【技术特征摘要】
1.一种代码保护虚拟机KVM系统实现方法,其特征在于:包括以下步骤:步骤1,生成伪代码字节流:把用户待保护的核心代码通过编译器翻译为伪代码字节流;步骤2,生成虚拟机指令:将伪代码字节流转译为核心代码的虚拟机指令;步骤3,生成虚拟机:源包中插入软件开发工具包生成虚拟机运行环境和虚拟机解释引擎;步骤4,应用打包:待步骤2和步骤3完成之后,在代码研发平台进行应用打包,生成目标代码;步骤5,在虚拟机中执行核心代码:运行目标代码时,核心代码的虚拟机指令由内嵌入虚拟机运行环境中的虚拟机解释引擎,采取读取-分派的方式执行。2.根据权利要求1所述的一种代码保护虚拟机KVM系统实现方法,其特征在于:所述步骤2中的所述虚拟机指令的生成,是通过虚拟机工具链将伪代码字节流直译为自定义构造的虚拟机指令。3.根据权利要求1所述的一种代码保护虚拟机KVM系统实现方法,其特征在于:所述步骤1的编译器为LLVM编译器,所述LLVM编译器是模块化、可复用的编译器工具链集合,同时所述LLVM编译器参与步骤2的虚拟机指令,步骤3的虚拟机的生成。4.根据权利要求1所述的一种代码保护虚拟机KVM系统实现方法,其特征在于:所述步骤3中的虚拟机运行环境包括感知环境变化的探针,所述探针可以实时探测虚拟机环境的非正常流程变化。5.一种...
【专利技术属性】
技术研发人员:刘柏江,范俊伟,
申请(专利权)人:成都盈海益讯科技有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。