Method for preventing Java program from being decompiled

A decompilation, java virtual machine technology, applied in the field of preventing Java programs from being decompiled, can solve the problems of not being able to fundamentally prevent Java bytecode files from being decompiled and the scope of application being limited, so as to maintain versatility and ensure security. sexual effect

Active Publication Date: 2011-05-04
AVIC NO 631 RES INST
View PDF4 Cites 41 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0007] In order to solve the technical problem that the method for preventing Java bytecode files from being decompiled in the existing technology is limited in scope of application

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 for preventing Java program from being decompiled
  • Method for preventing Java program from being decompiled
  • Method for preventing Java program from being decompiled

Examples

Experimental program
Comparison scheme
Effect test

Embodiment

[0038] The method can embed the decryption process into the class loading process of the Java virtual machine on the basis of keeping the Java cross-platform feature and not modifying the Java virtual machine.

[0039] (1) Create a dynamic link library project.

[0040] (2) Import the supporting header files related to the Java virtual machine tool interface and the Java local interface provided by the Java virtual machine into the project established in the first step.

[0041] (3) Create a function named Agent_OnLoad in the project established in the first step, and obtain the Java virtual machine tool interface environment through the GetEnv function in this function.

[0042] (4) Schedule the notification of the VMInit event to the Java virtual machine through the jvmti interface function, and set the callback function of the VMInit event.

[0043] (5) In the callback function created in step 4, use the jni interface to register the self-defined local proxy method to 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 relates to a method for preventing a Java program from being decompiled, which comprises the following steps: 1) encrypting a Java bytecode file to be issued; 2) using a Java virtual machine tool interface to monitor an initialization event of a Java virtual machine; 3) designating a Hook function for the initialization event of the Java virtual machine; 4) when the initialization of the Java virtual machine is finished, automatically calling the Hook function, and using a Java local interface in the Hook function to register a function called by the Java virtual machine for generating class objects as a self-defined agent function; 5) when the Java virtual machine generates a certain class object, calling the self-defined agent function, and decrypting the encrypted Java bytecode file in the self-defined agent function; and 6) generating a class object corresponding to the decrypted Java bytecode file, and returning to the Java virtual machine. The invention solves the technical problem of the limited application range of the method for preventing a Java bytecode file from being decompiled in the prior art, keeps the cross-platform characteristics of the Java program and maintains the universality of the Java virtual machine.

Description

technical field [0001] The present invention is used to prevent Java byte code files from being decompiled to obtain Java program source codes, that is, to protect Java programs. Background technique [0002] Java is a cross-platform, interpreted language. The Java compilation tool compiles the Java source code into a Java bytecode file, and the Java virtual machine is responsible for interpreting and executing the Java bytecode file. Different from the local object code, the method name and variable name are still reserved in the Java bytecode file, and variables and methods are accessed through these names. These symbols often carry a lot of semantic information. Therefore, it is easier to decompile Java bytecode files. There are many Java decompilation tools that can generate high-quality source code from Java bytecode files. In order to prevent decompilation of Java bytecode files, the following methods are mainly used at present: [0003] (1) Isolate the Java progra...

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/24G06F21/14
Inventor 张旻胡林平田丹贾璐
Owner AVIC NO 631 RES INST
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