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

Program reinforcement method and device

A program and source program technology, applied in the field of program reinforcement methods and devices, can solve the problem of low security of software products

Active Publication Date: 2018-11-20
BEIJING QIHOO TECH CO LTD
View PDF7 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0004] The embodiment of the present invention provides a method and device for program reinforcement, 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 reinforcement method and device
  • Program reinforcement method and device
  • Program reinforcement method and device

Examples

Experimental program
Comparison scheme
Effect test

Embodiment approach 1

[0133] For each of the target functions, the following steps are respectively performed: in the unreachable branch of the conditional call statement of the target function, adding random calls of other functions by the target function.

[0134] Specifically, in the reachable branch of the conditional call statement of the target function, random calls of functions different from the functions called in the reachable branch by the target function are added.

[0135] For example, the source program file includes function 1, function 1 calls functions 2, 3, and 4, function 3 calls functions 2, 5, and function 4 calls functions 6, 7.

[0136] Create a conditional call statement 1 in the target function 1 (that is, in function 1). In the reachable branch of the conditional call statement 1, function 1 calls functions 2, 3, and 4. In the unreachable branch of the conditional call statement 1 Add random calls of function 1 to functions 1, 5, 6, and 7 in function 1, create conditional...

Embodiment approach 2

[0140] Perform the following steps for each of the target functions: scan the source program file to determine the number of functions in the source program file; judge whether the number of functions in the source program file is greater than a preset value; In the unreachable branch of the conditional call statement of the target function, add the random call of the target function to other functions; otherwise, in the unreachable branch of the conditional call statement of the target function, add the random call of the target function to other functions A one-to-one call.

[0141] Through the second embodiment, it is possible to balance the code size and reverse difficulty of the final generated executable program file.

[0142] In the first and second embodiments above, the random call of the objective function to other functions can be implemented as follows:

[0143] Determine one or more candidate called functions from all the functions in the source program file; in ...

Embodiment approach 3

[0166] Embodiment 3: Randomly select more than one basic block from the basic block sequence as the target basic block.

[0167] Through the above three implementation manners, more than one target basic block can be selected from the basic block sequence, and then through step 2, unreachable branches can be respectively created in each target basic block selected from the basic block sequence.

[0168] Specifically, an unreachable branch is created in the target basic block of the basic block sequence, and the implementation may include the following steps 1a-1c:

[0169] Step 1a, dividing the target basic block into M sub-code blocks, where M is an integer greater than 1.

[0170] In the specific implementation process, according to the number of assembly instruction lines of the target basic block, the instructions of the target basic block are equally divided to obtain M sub-code blocks. Specifically, if the basic blocks in the basic block sequence whose size is larger th...

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 reinforcement method and device which are applied to the technical field of software development. The method comprises a step of determining N objective functions from a source program file edited by a user, wherein the source program file is formed by at least N functions, and N is an integer larger than 1, a step of creating an unreachable branch within each oneof the N objective functions, and a step of adding a call to the other functions by the target function in the unreachable branch of each objective function to obtain a new program, wherein the otherfunctions belong to the source program file, a step of generating an executable file corresponding to the new program. According to the method and the device, the difficulty of reversing a software product by a reverse engineer is raised, and thus the technical problem that the security of the software product is not high is solved.

Description

technical field [0001] The invention relates to the technical field of software development, in particular to a program strengthening method and device. Background technique [0002] A source program file 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 file. 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 deduce the information used by other people's software products. Design elements such as ideas, principles, structures, algorithms, processing procedures, and operating methods can be used as a reference when developing software, or directly used in your own software products. [0003] Therefore, softw...

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/14G06F8/53
CPCG06F8/53G06F21/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