Supercharge Your Innovation With Domain-Expert AI Agents!

Method and device for code obfuscation

A technology of code and equipment, applied in the field of confusing software, can solve problems such as difficulties

Inactive Publication Date: 2011-07-20
THOMSON LICENSING SA
View PDF3 Cites 14 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Unlike Linn and Debray, Jakubowski and Jacob's approach uses functions that take dynamic typing, which makes disassembling the code statically difficult, if not impossible

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 and device for code obfuscation
  • Method and device for code obfuscation
  • Method and device for code obfuscation

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0024] Figure 1 illustrates the prior art process of compiling software. Some basic knowledge of this routine will help in understanding the description that follows. Compilation translates source code 110 into machine code 150 via a number of intermediate steps during which syntax tree 120 , control flow graph 130 and assembly code 140 are generated.

[0025] The main idea of ​​the present invention is to use safer branch function calls than those used by Linn and Debray. As already discussed, their branching functions can be simulated fairly easily. Although Jakubowski and Jacob made the branching function safe by making the branching function dynamic, the branching function can still be computed. This solution makes branch functions safe in different ways, as will be described in detail below.

[0026] In order to easily appreciate the solution of the invention, the prior art obfuscation solution is first illustrated in FIG. 2 . Following a control flow diagram, program...

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

Compiled computer code (300) comprising computer code instructions organized in a plurality of basic blocks (310-370) is obfuscated by replacing (410) a jump instruction in a first basic block (360; 370) with a function call with at least one parameter, wherein the function call when executed determines the address of the next function to execute in dependence on the parameter; and an instruction that allocates a value to the parameter is inserted (440) into the compiled computer code (300), wherein the value enables that the address determined by the function call corresponds to the address of the replace jump instruction. The allocation function is inserted into the computer code in a second basic block (320-350), different from the first basic block (360; 370), preferably using information from a control flow graph (CFG). This can ensure that the obfuscated code cannot be disassembled without information from the CFG, while the CFG cannot be generated from the obfuscated code. Also provided is a device for code obfuscation.

Description

technical field [0001] The present invention relates generally to software, and in particular to obfuscated software. Background technique [0002] This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the invention that are described and / or claimed below. It is believed that this discussion helps to provide the reader with background information to facilitate a better understanding of various aspects of the invention. Accordingly, it should be understood that these descriptions are to be read in light of the above, and not as admissions of prior art. [0003] In "Obfuscation of Executable Code to Improve Resistance to Static Disassembly", 10th ACM Conference of Computer and Communications Security (CCS), pp. 290-299, October 2003, Linn and Debray suggest two main techniques for disrupting ( confuse) disassembler. The first technique is to insert garbage code bytes inserted in places that are not reachable d...

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/22G06F21/00G06F21/14
CPCG06F21/14
Inventor 安托万.蒙西夫罗特费边.拉霍德雷
Owner THOMSON LICENSING SA
Features
  • R&D
  • Intellectual Property
  • Life Sciences
  • Materials
  • Tech Scout
Why Patsnap Eureka
  • Unparalleled Data Quality
  • Higher Quality Content
  • 60% Fewer Hallucinations
Social media
Patsnap Eureka Blog
Learn More