Code Obfuscation via Homograph Identifier Conversion
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
Data Source
Figure 1~2
Figure 3
Figure 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.