AI-Optimized Software Code Modification Against Decompiler Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Decompilers can generate an approximate version of source code from binary code, potentially allowing malicious actors to extract proprietary information, 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 software code before compilation, increasing the size of the output code to generate 'garbage' code that obscures the original code, thereby protecting copyright and preventing malicious manipulation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If decompiler is used to process binary code, then source code approximation is generated, but copyright protection and security are compromised
Solution Approach 1:
The patent applies preliminary action by modifying the source code before compilation to embed obfuscation mechanisms in advance. The code modification system alters the source code structure, adds dummy operations, and transforms control flow before the binary is created, so that even when decompiled, the code remains obfuscated and difficult to reverse-engineer.
Solution Approach 2:
The patent converts the harmful effect of code decompilation into a benefit by using the decompilation process itself to generate obfuscated code. The system allows decompilation to occur but ensures the output is intentionally degraded and obfuscated, turning the potential security vulnerability into a protective mechanism that maintains copyright protection even when code is extracted.
2Reliability
If modification codes are added to protect copyright, then code size increases, but functionality is preserved
Solution Approach 1:
The patent applies parameter changes by systematically modifying code parameters such as variable names, control flow structures, and operation sequences. The obfuscation system transforms the code by changing these parameters while maintaining functional equivalence, thereby protecting copyright without significantly increasing code size.
Solution Approach 2:
The patent uses copying by creating redundant or duplicate code structures that serve obfuscation purposes. Dummy operations, placeholder code, and replicated control flow patterns are introduced to confuse reverse-engineering efforts while adding minimal overhead to the actual functionality.
3Object-affected harmful factors
If code is obfuscated to prevent reverse engineering, then decompiled code becomes garbage, but extraction of useful code becomes difficult
Solution Approach 1:
The patent applies segmentation by dividing the code into distinct functional segments and obfuscating each segment independently. Control flow is fragmented, variables are segmented with different naming conventions, and operations are divided into separate blocks that are difficult to reassemble into meaningful source code during decompilation.
Solution Approach 2:
The patent uses asymmetry by introducing asymmetric obfuscation patterns where the code structure deliberately lacks symmetry in variable naming, control flow patterns, and operation sequencing. This asymmetric design makes it difficult for decompilers to recognize and reconstruct the original symmetric source code structure.
Data Source
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.


