Unlock instant, AI-driven research and patent intelligence for your innovation.

Control flow flattening obfuscation method for position-independent codes

A control flow, flattening technology, applied in the direction of code compilation, version control, program code conversion, etc., can solve the problem of location-independent code protection vacancies, increased analysis costs, etc., to prevent memory detection, ensure confidentiality, and ensure isolation. Effect

Pending Publication Date: 2021-11-02
成都无糖信息技术有限公司
View PDF1 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0007] In order to overcome the above-mentioned deficiencies, the inventor of the present invention through long-term exploration attempts and multiple experiments and efforts, continuous reform and innovation, proposed a control flow flattening and obfuscation method for position-independent code, which solved the problem of position-independent code protection. For the problem of vacancy, compared with the simple protection method, the confusion intensity is greater and the methods are more diverse, which greatly increases the analysis cost

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
  • Control flow flattening obfuscation method for position-independent codes
  • Control flow flattening obfuscation method for position-independent codes
  • Control flow flattening obfuscation method for position-independent codes

Examples

Experimental program
Comparison scheme
Effect test

Embodiment

[0035] Such as figure 1 As shown, this embodiment provides a position-independent code control flow flattening and obfuscation method, which includes the following steps:

[0036] S1. Disassemble the input object code position-independent code to construct the entire instruction sequence;

[0037] Specifically, the file path of the position-independent code is passed to the obfuscator, and after the file data is read, the disassembly operation is performed by the disassembly engine to obtain the instruction sequence, and the execution entry point is found.

[0038] S2. Divide the instruction sequence into units of functions, and then divide each function into a control flow graph in units of basic blocks;

[0039] Specifically, the basic instruction call instruction that parses the instruction sequence uses the instruction operand that belongs to the internal call of the module as the starting address of the function to divide the function unit. For example, the call 401000h ...

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 control flow flattening obfuscation method for position-independent codes, which comprises the following steps: S1, disassembling the input position-independent codes to construct a whole instruction sequence; s2, dividing the instruction sequence by taking functions as units, and dividing each function into a control flow diagram by taking a basic block as a unit; s3, constructing a finite state automaton for each function, outputting basic block data, determining an execution sequence of basic blocks according to a state generation algorithm, and cleaning contents of the basic blocks; and S4, recompiling the obfuscation code based on the finite state automaton and an actuator to complete the obfuscation process. According to the invention, the instruction sequence is subjected to basic block division, each basic block is executed in an independent context environment, and confusion can be effectively realized without adding any code segment to the PE file.

Description

technical field [0001] The invention belongs to the field of computer applications, and in particular relates to a control flow flattening and obfuscation method for position-independent codes. Background technique [0002] Computer software plays an increasingly important role in all walks of life in society. However, software piracy is rampant due to the characteristics of software itself with no marginal cost, low cost of piracy and high returns. [0003] Position-independent code is a technology that integrates data and instructions into a series of machine sequences. As long as this series of machine sequences is loaded into memory, the CPU can run directly without any requirements on the process context. The most well-known application of position-independent code technology is the implementation of dynamic link libraries, the purpose of which is to allow all processes to share this code and not depend on any specific process context. Naturally, some functions of ordi...

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): G06F8/71G06F8/41G06F8/53
CPCG06F8/71G06F8/53G06F8/434
Inventor 甘志峰张瑞冬朱鹏童永鳌
Owner 成都无糖信息技术有限公司