Selective Code Obfuscation via Sensitivity Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecode protectionVSAvoidobfuscation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveobfuscation complexityVSAvoidprotection coverage
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvereverse-engineering difficultyVSAvoidcode maintainability
Core Design Contradiction:
Difficulty of detecting and measuringVSEase of operation

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12210644B2Obfuscation
Publication Date: 2025.01.28 CONTENT SQUARE SAS
  • US12210644B2 patent drawing
  • US12210644B2 patent drawing
  • US12210644B2 patent drawing

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.