Software Code Obfuscation Through Algorithmic Garbage-Code Insertion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Decompilers can generate an approximate version of the source code from binary code, potentially revealing proprietary information and enabling malicious actors to copy or manipulate software, compromising copyright protection and security.
Innovation Solution
A computer-implemented algorithm using artificial intelligence techniques optimizes the addition of modification codes to the software code before compilation, generating a larger output code that includes 'garbage' codes to obscure the original code, making it difficult for decompilers to extract useful information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If modification codes are added to the software code, then copyright protection and security are improved, but the size of the output code increases
Solution Approach 1:
The patent applies parameter changes by optimizing the size of modification codes through algorithmic control. The system adjusts parameters such as the number, length, and placement of modification codes to achieve effective copyright protection while minimizing the increase in output code size. This optimization ensures that the protection mechanism is as lightweight as possible.
Solution Approach 2:
The patent implements partial action by adding only the necessary modification codes required for protection rather than uniformly increasing code size throughout. The algorithm selectively places modification codes at critical positions in the source code, providing effective protection with minimal additional code quantity, avoiding excessive modification where not needed.
2Difficulty of detecting and measuring
If modification codes are added to obscure the original code, then difficulty of detecting and measuring is improved, but device complexity increases
Solution Approach 1:
The patent implements self-service through the automated algorithm that independently determines the optimal placement and characteristics of modification codes. The system uses an optimization algorithm that automatically analyzes the source code structure and generates appropriate modification codes without requiring manual intervention or complex user-configured processes, thereby reducing operational complexity while maintaining high obfuscation effectiveness.
Solution Approach 2:
The patent applies feedback mechanisms through the optimization algorithm that iteratively adjusts modification codes based on their effectiveness in obscuring the original code. The system evaluates the decompiled output and uses this feedback to refine subsequent modification code generation, progressively improving the difficulty of information extraction while managing process complexity through automated iterative optimization.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, methods, and software can be used to modify a software code. In some aspects, a method includes: obtaining a software code; and processing the software code to generate an output code, wherein the output code includes the software code and one or more modification codes, wherein the one or more modification codes are determined by an algorithm that is optimized according to a function of a size of the one or more modification codes and a size of the output code, wherein the size of the output code is larger than a size of the software code.