Obfuscating Java Archive Design Patterns
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies fail to effectively obfuscate design patterns in software code, making it vulnerable to reverse engineering and misuse.
Innovation Solution
A design obfuscation system that generates obfuscated code from software code, avoiding identification of design patterns when decompiled, and integrates with a software compiler for compilation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If decompilers are used to reverse engineer source code, then code analysis becomes easy, but code security and protection are compromised
Solution Approach 1:
The patent applies preliminary anti-action by obfuscating design patterns in the source code before distribution. The system identifies design patterns in the original code and transforms them into obfuscated versions that maintain functionality but hide the original design intent. This preliminary obfuscation prevents reverse engineers from easily analyzing the code structure, thus countering the harmful effect of decompilers while maintaining code security.
2Ease of operation
If design patterns are preserved in code, then code maintainability and understanding are improved, but code vulnerability to reverse engineering increases
Solution Approach 1:
The patent applies segmentation by separating the design pattern identification and obfuscation processes. The system first identifies design patterns in the original code, then applies transformation rules to obfuscate specific pattern elements while preserving overall code structure. This segmentation allows the code to maintain functional integrity while hiding design patterns from reverse engineers, thus reducing vulnerability without completely sacrificing maintainability.
Solution Approach 2:
The patent applies parameter changes by transforming design pattern parameters and structures into obfuscated versions. The system modifies code parameters, variable names, and structural relationships in controlled ways that preserve functionality but alter the recognizable patterns. This allows the code to remain functional and maintainable while becoming resistant to design pattern detection during reverse engineering.
3Reliability
If code obfuscation is applied, then code security is enhanced, but code complexity and processing overhead increase
Solution Approach 1:
The patent applies partial action by selectively obfuscating only the design pattern elements in the code rather than obfuscating the entire codebase. The system identifies specific design patterns and applies transformation rules only to those elements, leaving the rest of the code structure relatively intact. This partial obfuscation approach enhances security by hiding critical design patterns while minimizing the increase in code complexity and processing overhead associated with comprehensive obfuscation.
Data Source
AI summary
Methods, system, and non-transitory processor-readable storage medium for a design obfuscation system are provided herein. An example method includes a design obfuscation system that receives software code to be compiled on a system running a software compiler. The design obfuscation system generates obfuscated code from at least a portion of the software code, where the obfuscated code, when decompiled, avoids identification of design patterns in the software code. The design obfuscation system provides the obfuscated code to the software compiler for compiling, and the software compiler compiles the obfuscated code.


