Code Obfuscation via Arithmetic and Boolean Operation Replacement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for protecting digital content, such as cryptography, are not always feasible or desirable, and code obfuscation alone does not provide sufficient security against unauthorized access, as it only makes reverse engineering time-consuming but not impossible.
Innovation Solution
A system and method that extract basic arithmetic and Boolean operations from program code, select equivalent computations, and replace them with alternate formulas, which can be randomly or deterministically chosen, to obfuscate the code, making it more difficult to reverse engineer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If code obfuscation is used to protect digital content, then reverse engineering becomes time-consuming, but it does not provide sufficient security as unauthorized access remains possible
Solution Approach 1:
The patent transforms basic arithmetic and Boolean operations into equivalent but more complex forms. For example, addition operations are replaced with sequences involving multiplication and subtraction, and Boolean AND operations are replaced with equivalent logical expressions. This parameter transformation maintains functional equivalence while increasing code complexity to deter reverse engineering.
Solution Approach 2:
The patent segments simple operations into multiple smaller steps. A single addition operation is divided into several intermediate calculations, and a Boolean operation is broken down into multiple logical steps. This segmentation increases the time and effort required for reverse engineering while preserving the original functionality.
2Difficulty of detecting and measuring
If basic operations are replaced with equivalent formulas, then code becomes more difficult to reverse engineer, but code size and execution complexity increase
Solution Approach 1:
The patent introduces dynamic selection of equivalent formulas for replacing basic operations. Instead of using a fixed replacement strategy, the system dynamically chooses from multiple equivalent forms based on various criteria, making the obfuscation more adaptive and difficult to analyze while managing code complexity through intelligent selection.
Solution Approach 2:
The patent combines multiple equivalent formulas and replacement strategies into a composite obfuscation approach. By integrating different types of transformations (arithmetic replacements, Boolean replacements, conditional expansions) into a unified system, the patent achieves higher reverse engineering difficulty while managing overall code complexity through coordinated application of multiple techniques.
Data Source
AI summary
Disclosed herein are systems, methods, computer readable media and special purpose processors for obfuscating code. The method includes extracting an operation within program code, selecting a formula to perform the equivalent computation as the extracted operation, and replacing the extracted operation with the selected formula. The formula can be selected randomly or deterministically. The extracted operation can be an arithmetic operation or a Boolean operation.


