Selective Code Obfuscation via Sensitivity Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing obfuscation methods often require obfuscating all code in mobile apps, which is complex and inefficient, especially when only sensitive or proprietary code components need to be protected.
Innovation Solution
An obfuscation system that selectively obfuscates only sensitive or proprietary code components while maintaining the necessary functionality and interfaces intact, using techniques such as renaming code elements and obfuscating paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all code in mobile apps is obfuscated, then security and protection against reverse-engineering is improved, but complexity and processing time increase significantly
Solution Approach 1:
The patent divides the codebase into distinct segments: sensitive/proprietary code components that require obfuscation and non-sensitive code that remains readable. The system identifies and separates these segments using syntax tree analysis and code sensitivity detection, applying obfuscation only to the necessary portions rather than the entire codebase.
Solution Approach 2:
The patent applies different levels of obfuscation to different parts of the code based on their sensitivity. Sensitive code components receive full obfuscation treatment including renaming and path obfuscation, while non-sensitive code maintains its original readability. This localized approach optimizes the balance between protection and complexity.
2Device complexity
If selective obfuscation of only sensitive code components is implemented, then obfuscation complexity is reduced, but protection coverage may be insufficient if sensitivity detection fails
Solution Approach 1:
The patent performs preliminary analysis of the codebase before obfuscation to identify sensitive components. Using syntax tree parsing and code sensitivity detection algorithms, the system pre-identifies which code segments require protection, allowing for targeted obfuscation while ensuring comprehensive coverage of all sensitive elements.
Solution Approach 2:
The system incorporates feedback mechanisms that analyze code sensitivity and adjust obfuscation scope accordingly. The syntax tree analysis provides feedback about code structure and sensitivity, enabling the system to dynamically determine which components need obfuscation and apply appropriate protection levels.
3Difficulty of detecting and measuring
If code elements are renamed and paths are obfuscated, then reverse-engineering difficulty increases, but code maintainability and debugging become more challenging
Solution Approach 1:
The patent segments the codebase so that only sensitive portions undergo renaming and path obfuscation. Non-sensitive code, including public interfaces and documentation-heavy sections, remains readable and maintainable. This selective approach preserves ease of operation for the parts of code that need it while protecting sensitive sections.
Solution Approach 2:
Different obfuscation intensities are applied to different code regions based on their sensitivity and maintainability requirements. Critical sensitive components receive full obfuscation with renaming and path obfuscation, while less sensitive areas maintain better readability for easier maintenance and debugging.
Data Source
AI summary
Embodiments herein describe a code obfuscation system. The code obfuscation system accesses computer code and identifies a subset of the code to obfuscate. The code obfuscation system analyzes the identified subset of code, the analysis comprising identifying code elements and identifying one or more files and directories. The code obfuscation system generates first obfuscation data for the identified code elements and generates second obfuscation data for the one or more files and directories. The code obfuscation system generates obfuscated computer code by applying the first obfuscation data and the second obfuscation data to the originally accessed computer code.


