Method and equipment for protecting JAVA executable program

A technology for executing programs and devices, applied in the field of software protection, which 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.

Active Publication Date: 2013-11-27
BEIJING SENSESHIELD TECH
View PDF4 Cites 24 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 relationships); while the latter is in After the JVM loads the .class file, there is the original .class code in memory, which is vulnerable to memory DUMP (that is, taking a "snapshot" of the contents of the JVM runtime process memory and saving it to a file) attack

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 equipment for protecting JAVA executable program
  • Method and equipment for protecting JAVA executable program
  • Method and equipment for protecting JAVA executable program

Examples

Experimental program
Comparison scheme
Effect test

specific example

[0050] According to an embodiment of the present invention, such as figure 1 as shown, figure 1 Including the code snippets of each part in this embodiment. The specific example is as follows: A certain software written by 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 compare the value of field b with c Multiply, and assign the result to field a.

[0051] 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.

[0052] E.g figure 1...

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 equipment for protecting a JAVA executable program. The method comprises the steps of creating a local dynamic chained library file, enumerating .class files in protected JAVA software, analyzing JVM codes in the .class files, drawing fragments of the codes at random, replacing the original position of the drawn fragments of the codes with call of a native method, and generating a derivative function in the local dynamic chained library file to achieve the function of drawing the fragments of the codes. By means of the method, the codes and logic of the JAVA software are effectively prevented from being reversed and broken, and the safety strength 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
Patent Type & Authority Applications(China)
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