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

Program protection method and device

A program protection and program technology, applied in the field of program protection methods and devices, can solve problems such as low security of software products, achieve the effect of improving security and increasing the difficulty of reverse engineering

Inactive Publication Date: 2018-11-06
BEIJING QIHOO TECH CO LTD
View PDF4 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0004] The embodiment of the present invention provides a program protection method and device, which solves the technical problem of low security of software products

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
  • Program protection method and device
  • Program protection method and device
  • Program protection method and device

Examples

Experimental program
Comparison scheme
Effect test

Embodiment approach 1

[0087] Determine whether the size of each basic block in the basic block sequence is larger than the preset code size, determine each basic block in the basic block sequence whose size is larger than the preset code size; set the size in the basic block sequence to be larger than the preset code Each basic block of the size is determined as the target basic block.

[0088] Specifically, the size of the basic block is specifically: the number of assembly instruction lines contained in the basic block on the premise that all instructions in the basic block are converted into assembly instructions. Correspondingly, the preset code size can be set to 20 lines of assembly instructions. It is judged whether the number of assembly instruction lines of each basic block in the basic block sequence is greater than 20 lines, and each element whose assembly instruction lines in the basic block sequence is greater than 20 lines is determined. Basic block; Next, each basic block with more than...

Embodiment approach 2

[0090] The second embodiment: each basic block in the basic block sequence is determined as the target basic block. Of course, in the specific implementation process, the second embodiment is only applied to situations where the amount of code of the source program is small.

Embodiment approach 3

[0091] The third embodiment: randomly select more than one basic block from the basic block sequence and determine them as the target basic block respectively. For example, three basic blocks are randomly selected from the basic block sequence and determined as three target basic blocks.

[0092] Through the above three implementation manners, more than one target basic block can be determined from the basic block sequence.

[0093] Specifically, creating an unreachable branch in each target basic block can be implemented in multiple ways. An implementation manner may be: the jump instruction (for example, jump jump instruction) that jumps to the next basic block from the target basic block is transformed into a conditional jump instruction including reachable branches and unreachable branches, and The jump instruction (jump jump instruction) for the target basic block to jump to the next basic block is written in the reachable branch of the conditional jump instruction.

[0094] S...

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 program protection method and device, which is applied to the technical field of software development. The method comprises the steps of segmenting a source program edited bya user into a basic block sequence, wherein the basic block sequence comprises a plurality of basic blocks; determining more than one target basic block from the basic block sequence, and creating anunreachable branch in each target basic block; adding jump from the target basic block to other basic blocks in the unreachable branch of each target basic block, obtaining a new program, wherein other basic blocks and the target basic block belong to the same function; and generating an executable program file corresponding to the new program. Through the program protection method and device, the difficulty of reversing a software product by a reversal engineer is increased, so that the technical problem of low security of the software product is solved.

Description

Technical field [0001] The present invention relates to the technical field of software development, in particular to a program protection method and device. Background technique [0002] A source program written in a high-level language is compiled into an executable program file for machine execution, and decompilation is the reverse process. The executable program file can be decompiled to obtain a readable source program. Computer software reverse engineering (Reversepengineering), also known as computer software restoration engineering, refers to the work of "reverse analysis and research" on the target program (executable program file) of other people's software to derive the use of other people's software products Design elements such as ideas, principles, structures, algorithms, processing procedures, operating methods, etc., can be used as references when developing software or directly used in their own software products. [0003] Therefore, software products developed i...

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 BEIJING QIHOO 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