Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Encoding and decoding method and device for virtual machine command, and virtual machine protection system

A technology of instruction encoding and virtual machine, which is applied in the field of software security, can solve the problems of ineffective instruction protection, etc., and achieve the effects of increasing the difficulty of decompilation, improving security, and improving protection accuracy

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

AI Technical Summary

Problems solved by technology

However, the above scheme has the following disadvantages: in scheme (1), different file instruction encoding formats are different. Although the instruction encoding problem across files can be solved, it has no effect at all on the instruction protection of the current virtual machine bytecode file.

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
  • Encoding and decoding method and device for virtual machine command, and virtual machine protection system
  • Encoding and decoding method and device for virtual machine command, and virtual machine protection system
  • Encoding and decoding method and device for virtual machine command, and virtual machine protection system

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0040] According to the embodiment of the present application, an embodiment of a method for encoding virtual machine instructions is also provided. It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer 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.

[0041] The method embodiment provided in Embodiment 1 of the present application may be executed in a mobile terminal, a computer terminal, or a similar computing device. Take running on a computer terminal as an example, figure 1 It is a hardware structural block diagram of a computer terminal according to a method for encoding virtual machine instructions in an embodiment of the present application. Such as figure 1 As shown, the computer terminal 10 may include one or more (onl...

Embodiment 2

[0060] According to the embodiment of the present application, there is also provided a device for implementing the encoding method of the above-mentioned virtual machine instruction, which can run on the computer terminal described in Embodiment 1. Optionally, in this embodiment, the above-mentioned The computer terminal can also be replaced by terminal equipment such as a mobile terminal. Figure 5 It is a structural block diagram of an optional virtual machine instruction encoding device according to an embodiment of the present application. Such as Figure 5 As shown, the device includes: a modification module 50 and an instruction generation module 52, wherein:

[0061] The modification module 50 is used to randomly modify the instruction encoding format of the above-mentioned virtual machine instructions for the virtual machine instructions of the above-mentioned program to be compiled when the program to be compiled is compiled; optionally, the modification module 50 r...

Embodiment 3

[0066] According to the embodiment of the present application, a decoding method of a virtual machine instruction is also provided, the decoding method corresponds to the encoding schemes in Embodiments 1 and 2, and it can also be applied to the computer terminal described in Embodiment 1. Optionally, in this embodiment, the aforementioned computer terminal may also be replaced with a terminal device such as a mobile terminal. Such as Figure 7 As shown, the method includes:

[0067] Step S702, when loading the virtual machine instruction of the program to be compiled, obtain the instruction information of the above virtual machine instruction, wherein the above instruction information is used to instruct random modification of the instruction encoding format of the above virtual machine instruction; optionally, the randomly modified above The instruction encoding format of the virtual machine instruction refers to: the value of the opcode in the above virtual machine instruc...

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 encoding method, a decoding method, an encoding device and a decoding device for a virtual machine command, and a virtual machine protection system.The encoding method comprises the steps of when compiling a program to be compiled, randomly modifying a command encoding format of the virtual machine command of the program to be compiled; and generating a rear end output command of a compiler according to the randomly modified command encoding format.

Description

technical field [0001] The present invention relates to the field of software security, in particular to a method and device for encoding and decoding virtual machine instructions, and a virtual machine protection system. Background technique [0002] At present, most virtual machine systems have fixed instruction encoding format, which brings obvious security problems. First, the fixed instruction encoding brings great convenience to the reverse restoration of the virtual machine instruction set. Secondly, once the reverse engineering Restoring the instruction set in a virtual machine bytecode file can be applied to all virtual machine bytecode files. [0003] In response to the above problems, the current virtual machine instruction coding enhancement schemes generally include: [0004] (1) Different bytecode files have different instruction encoding formats. In this method, the instruction encoding format is determined each time an instruction is generated. In the same b...

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/14G06F21/53
CPCG06F21/14G06F21/53
Inventor 马建坤
Owner ALIBABA GRP HLDG LTD
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products