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

System for preventing java program from being decompiled

A java bytecode and decompilation technology, applied in the computer field, to improve security, widely use value, and prevent decompilation

Active Publication Date: 2021-07-09
ZHEJIANG MEIRI HUDONG NETWORK TECH CO LTD
View PDF4 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Therefore, it is easy to decompile the application program written based on java, and get the java source code

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
  • System for preventing java program from being decompiled
  • System for preventing java program from being decompiled
  • System for preventing java program from being decompiled

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0021] This embodiment provides a system for preventing java programs from being decompiled, including a preset DAlvik instruction set corresponding to each type of DAlvik instruction, a processor and a memory storing a computer program, and each of the preset DAlvik instruction sets includes multiple A DAlvik instruction and the instruction id corresponding to each DAlvik instruction, the instruction id of each DAlvik instruction in the preset instruction set is obtained by scrambling the DAlvik instruction id in the original DAlvik instruction set corresponding to the DAlvik instruction category, each preset The DAlvik instruction id in the DAlvik instruction set is different from the corresponding DAlvik instruction id in the original DAlvik instruction set. It should be noted that DAlvik is the name of a virtual machine for the Android platform, and the original DAlvik instruction set refers to the original DAlvik instruction set in the DAlvik virtual machine. When the com...

Embodiment 2

[0047] This embodiment provides a system for preventing java programs from being decompiled, including a preset ELF header information list, a terminal model list, a processor and a memory storing a computer program, and the ELF header information list stores multiple ELF header information to be erased, the terminal model list stores a plurality of preset terminal model information, when the computer program is executed by the processor, as figure 2 As shown, the following steps are implemented:

[0048] Step B1, analyzing the ELF file to be processed to obtain the file header information of the ELF file to be processed;

[0049] Step B2, erasing one or more ELF header information to be erased in the file header information of the ELF file to be processed, to obtain the ELF file to be executed;

[0050] Wherein, when there are multiple ELF header information to be erased currently selected, it is a combination of the selected multiple ELF header information to be erased.

...

Embodiment 3

[0059] This embodiment provides a system for preventing a java program from being decompiled, including a preset encryption function, an encryption key, a decryption key and a decryption function, a processor and a memory storing a computer program, when the computer program is processed When the device is executed, such as image 3 As shown, the following steps are implemented:

[0060] Step C1, monitor whether the compiler compiles all the java source codes to be processed into corresponding first java bytecodes, if the compilation is completed, then execute step C2;

[0061] Step C2, scanning the first java bytecode, if a constant character string is scanned, then calling the encryption function and encryption key to encrypt the scanned constant character string to obtain a corresponding encrypted character string;

[0062] Step C3: Replace the scanned constant character string with the call of the decryption function, and set the call parameter corresponding to the decryp...

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 system for preventing a java program from being decompiled, which comprises a preset DAlvik instruction set, a processor and a memory in which a computer program is stored; when the computer program is executed by the processor, the method includes: A1: acquiring all target code segments from java byte codes to be processed; A2, converting each target code segment into a corresponding target dex byte code; A3, converting each target dex byte code into a target instruction set and data corresponding to each target instruction based on a preset DAlvik instruction set, and generating a first executable file; A4, dynamically generating a target interpreter in the SO file based on a conversion relationship between all the target dex byte codes and data corresponding to each target instruction in the target instruction set; A5, emptying all target code segments in the to-be-processed java byte codes, adding corresponding association marks to obtain pre-processed java byte codes, and converting the pre-processed java byte codes into a reinforced dex file. According to the method and the device, the java program can be prevented from being decompiled, and the security of the java program is improved.

Description

technical field [0001] The invention relates to the technical field of computers, in particular to a system for preventing java programs from being decompiled. Background technique [0002] With the rapid development of the Android technology, a large number of Android application programs have been developed, and the Android application programs are usually written based on the Java language. 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. Method names and variable names are reserved in Java bytecode files, and variables and methods are accessed through these names. These symbols often carry a lot of semantic information. Therefore, it is easy to decompile an application program based on java to obtain java source code. Therefore, in order to improve the security of the java program and avoid ...

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
CPCG06F21/14
Inventor 徐啟东周程李柳音方毅叶新江董霖
Owner ZHEJIANG MEIRI HUDONG NETWORK TECH CO 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