Obfuscating method and device for virtual machine command, and virtual machine protection system

A virtual machine and instruction technology, applied in the direction of program/content distribution protection, etc., can solve problems such as easy to be decompiled, O-llvm code confusion, etc., to achieve the effect of solving the problem of being easy to be decompiled and increasing the difficulty

Inactive Publication Date: 2017-07-18
ALIBABA GRP HLDG LTD
View PDF3 Cites 12 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Therefore, the implementation of the above O-llvm code obfuscation provided in the related art still has the risk of being easily decompiled

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Obfuscating method and device for virtual machine command, and virtual machine protection system
  • Obfuscating method and device for virtual machine command, and virtual machine protection system
  • Obfuscating method and device for virtual machine command, and virtual machine protection system

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0034] According to the embodiment of the present application, an embodiment of a method for obfuscating virtual machine instructions is also provided. It should be noted that the steps shown in the flow chart of the accompanying drawings can be implemented in a virtual machine protection system such as a set of computer-executable instructions. and, although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in an order different from that shown or described herein.

[0035] Such as figure 1 Shown: The virtual machine protection system roughly divides into two processes when verifying instructions:

[0036] (1) Bytecode generation process, corresponding to the module VMP compiler (Compiler)

[0037] The protected code (that is, the program code of the program to be compiled) is provided in the form of C language source code, and the virtual machine bytecode is finally generated through AVMPCompiler. It should be noted tha...

Embodiment 2

[0082] The method shown in Embodiment 1 can be executed in a mobile terminal, a computer terminal or a similar computing device. Take running on a computer terminal as an example, Figure 6 It is a block diagram of the hardware structure of a computer terminal for realizing the obfuscation method of virtual machine instructions according to the embodiment of the present application. Such as Figure 6 As shown, the computer terminal 60 may include one or more (only one is shown in the figure) processors 602 (the processors 602 may include but not limited to processing devices such as microprocessor MCU or programmable logic device FPGA, etc.), for A memory 604 for storing data, and a transmission device 606 for communication functions. Those of ordinary skill in the art can understand that, Figure 6 The shown structure is only for illustration, and it does not limit the structure of the above-mentioned electronic device. For example, computer terminal 60 may also include ...

Embodiment 3

[0093] The embodiment of the present application also provides a device for obfuscating virtual machine instructions. Figure 7 is a structural block diagram of an optional obfuscation device for virtual machine instructions according to an embodiment of the present application, such as Figure 7 As shown, the device includes:

[0094] The obfuscation module 70 is used to perform code obfuscation processing on the target output instruction corresponding to the program to be compiled to obtain the target instruction, wherein the above-mentioned target output instruction is an instruction corresponding to the above-mentioned program to be compiled outputted by the compiler backend;

[0095] The output module 72 is connected to the obfuscation module 70, and is configured to use the target instruction as a final output instruction of the compiler and output the final output instruction.

[0096] Optionally, the obfuscation module 70 is also used to convert the source code of the...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

The invention discloses an obfuscating method and an obfuscating device for a virtual machine command, and a virtual machine protection system. The method comprises the steps of performing code obfuscation on a target output command corresponding to a program to be compiled to acquire a target command, wherein the target output command is the command corresponding to the program to be compiled and output by the rear end of a compiler; and using the target command as a final output command of the compiler, and outputting the final output command.

Description

technical field [0001] The invention relates to the field of software security, in particular to a virtual machine command obfuscation method and device, and a virtual machine protection system. Background technique [0002] With the rapid development of software industry, the security of software is becoming more and more important, how to ensure the integrity of software has become an important issue. As an important software protection method, code obfuscation is used in more and more occasions. The implementation methods of O-llvm code obfuscation mainly include the following: (1) False branch insertion, by inserting a false branch that will never be executed in the program flow to achieve the purpose of interfering with the cracker's analysis; (2) Process Complicated, the difficulty of analysis is increased by converting the original simple control flow of the program into a complex control flow; (3) Instruction replacement at the IR level, the original instruction is ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
IPC IPC(8): G06F21/14
CPCG06F21/14
Inventor 马建坤
Owner ALIBABA GRP HLDG LTD
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products