Method and device for protecting JAVA executable program through virtual machine

A technology for executing programs and virtual machines, which is applied in the field of software protection and can solve problems such as attacks, name and symbol confusion, and unsatisfactory automatic algorithm effects, so as to protect logic and processes, increase the difficulty of analysis and cracking, and improve security. Effect

Active Publication Date: 2013-11-27
BEIJING SENSESHIELD TECH
View PDF4 Cites 21 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

The former is processed at the level of JVM instructions, which is limited by the JVM specification, and the effect of the automation algorithm is not ideal (common automation algorithms include name and symbol confusion, but it is not easy to automatically realize complex processes and class r

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
  • Method and device for protecting JAVA executable program through virtual machine
  • Method and device for protecting JAVA executable program through virtual machine
  • Method and device for protecting JAVA executable program through virtual machine

Examples

Experimental program
Comparison scheme
Effect test

specific example

[0053] According to an embodiment of the present invention, see figure 1 , figure 1 Including the code snippets of each part in this embodiment. The specific example is as follows: A software written in JAVA has a class MyClass in the source code, which defines three fields a, b, c and an instance method Mul. The logic of this method is to multiply the value of field b and c, The result is assigned to field a.

[0054] When the Java source code is compiled, a .class file will be generated for each class. The structure of the .class file is defined in the JVM document and is a collection of a series of attributes and values. By parsing the class name-related attributes in the .class file, you can know which class it comes from in the source code; and then parsing the method table attributes, you can get a list of all methods in the class; parsing the Code attribute of each method, you can get The JVM bytecode of the method.

[0055] E.g figure 1 The source code shown in is...

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 a method and device for protecting a JAVA executable program through a virtual machine. The method comprises the step of creating a local dynamic link library file, the step of enumerating a .class file in protected JAVA software, the step of analyzing a JVM code in the .class file, the step of drawing a code snippet at random, the step of replacing a home position with the calling to a native method, the step of generating a derived function in the local dynamic link library file, and the step of achieving the function of drawing the code snippet by using the user-defined virtual machine. By means of the method, codes and logic of the JAVA software can be effectively prevented from being reversed and decoded, and the safety intensity of the software is improved.

Description

technical field [0001] The invention relates to the field of software protection, in particular to a method and equipment for protecting JAVA executable programs. Background technique [0002] JAVA software generally consists of some resource files and JAVA executable files (separate .class files or .class files packaged in .jar or .war packages). A JAVA executable file is a binary file that can be executed by a JAVA virtual machine. Its code is platform-independent, and its format follows the JAVA virtual machine specification. It is easy to be restored to the JAVA source code by some decompilation analysis tools, resulting in software logic and flow. leaked and stolen. [0003] In the Java language, there are two types of method functions of class objects: ordinary methods and local methods. Ordinary methods are written in JAVA language and compiled into JAVA instruction codes, which are executed by JAVA virtual machine (JAVA Virtual Machine, JVM) at runtime; another typ...

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
Inventor 不公告发明人
Owner BEIJING SENSESHIELD TECH
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