Code Obfuscation via Homograph Identifier Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing code obfuscation methods using identifier conversion lack sufficient resistance against reverse engineering attacks, as attackers can easily recognize and analyze unique identifiers, compromising the security of application programs.

Innovation Solution

The method involves inserting obfuscation characters with identical visual representations but different Unicode values into class names, method names, and field names within bytecodes, making it difficult for attackers to distinguish between them and increasing the complexity of reverse engineering analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional identifier conversion is used for code obfuscation, then the source codes become harder to understand, but attackers can still easily recognize unique identifiers through reverse engineering

Engineering Contradiction:
Improvereverse engineering resistanceVSAvoididentifier complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of identifier representation by introducing homograph characters (characters that look identical but have different Unicode values). This transforms ordinary identifier conversion into a more sophisticated obfuscation where identifiers appear identical visually but differ in their underlying character encoding, making reverse engineering significantly harder while maintaining visual simplicity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies local quality by selectively inserting homograph characters at specific positions within identifiers (such as between certain characters or at specific offsets). This localized application of homograph substitution creates subtle differences that are invisible to casual inspection but fundamentally alter the identifier's unique characteristics, preventing attackers from recognizing patterns

Inventive Principle:
Principle #3Local quality

2Reliability

If obfuscation characters with different Unicode values but identical visual representation are inserted into bytecodes, then reverse engineering resistance increases, but the complexity of code analysis and processing increases

Engineering Contradiction:
Improvereverse engineering resistanceVSAvoidcode analysis difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent uses homograph characters as an intermediary layer between the original identifier and its obfuscated form. These intermediary characters visually match the original characters but have different Unicode values, creating a buffer that protects the original identifier information while maintaining visual readability. This intermediary approach makes code analysis difficult because standard text processing tools cannot easily distinguish between the original and obfuscated characters

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3133518B1Apparatus and method for code obfuscation using indistinguishable identifier conversion
Publication Date: 2019.08.28 FOUND OF SOONGSIL UNIV IND COOP
  • EP3133518B1 patent drawingFigure 1~2
  • EP3133518B1 patent drawingFigure 3
  • EP3133518B1 patent drawingFigure 4

AI summary

The present invention relates to an apparatus and a method for code obfuscation using identifier conversion. An apparatus for code obfuscation according to an exemplary embodiment of the present invention includes: an extractor that extracts a dalvik executable file by decompressing compression of an application program file; a code analyzer that analyzes a bytecode of the extracted dalvik executable file; a controller that selects a kind, the number, and an insertion position of obfuscation characters; and an identifier converter that converts an identifier of the bytecode by inserting the selected obfuscation characters into the bytecodes. According to the present invention, it is possible to increase the static the obfuscation characters which are not displayed on the screen or which are expressed by the same characters as other characters.