IP Library › Granted Patent US 8,984,299
Granted Patent B1
US 8,984,299 · App. 14/360,306 · Granted Mar 17, 2015

Apparatus for code obfuscation and method thereof

Inventors: Jeong Hyun Yi (Gyeonggi-do, KR); Jin Hyuk Jung (Seoul, KR)
Assignee: Soongsil University Research Consortium Techno-Park
G06F21/14G06F2221/0748
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,984,299
App. No.
14/360,306
Granted
Mar 17, 2015
Kind
B1
Abstract

Disclosed is an apparatus for code obfuscation includes: an input unit that receives execution codes for android applications; a code analyzer that separates the input execution codes into sensitive codes that needs to be protected from application forgery attack and general codes except for the sensitive codes by analyzing the input execution codes; a dalvik to C code converter that creates native codes by converting the sensitive codes into a C code; an obfuscator that obfuscates the native codes and the general codes; a self code protector that encrypts the obfuscated native codes by adding a tamper-detection code to the obfuscated native codes and then creates self-modified native codes by adding a loading routine; and a code combiner that combines the self-modified native codes with the obfuscated general codes.

Claims (22)

1. An apparatus for code obfuscation, comprising:

an input unit that receives execution codes for android applications;

a code analyzer that separates the input execution codes into sensitive codes that needs to be protected from application forgery attack and general codes except for the sensitive codes by analyzing the input execution codes;

a dalvik to C code converter that creates native codes by converting the sensitive codes into a C code;

an obfuscator that obfuscates the native codes and the general codes;

a self code protector that encrypts the obfuscated native codes by adding a tamper-detection code to the obfuscated native codes and then creates self-modified native codes by adding a loading routine; and

a code combiner that combines the self-modified native codes with the obfuscated general codes.

2. The apparatus of claim 1 , further comprising a transmitter that transmits the self-modified native codes and the obfuscated general codes, which are combined by the code combiner, to a client.

3. The apparatus of claim 2 , wherein the self-modified native codes operate in a CPU environment and the obfuscated general codes are executed in a dalvik virtual machine.

4. The apparatus of claim 3 , wherein the code analyzer determines the codes matched with the inputted execution codes as the sensitive codes, using stored important code models.

5. The apparatus of claim 4 , wherein the loading routine decodes the encrypted section of the native code when the encrypted native code is executed.

6. A method of code obfuscation, using an apparatus for code obfuscation, the method comprising:

receiving execution codes for android applications;

separating the inputted execution codes into sensitive codes that needs to be protected from application forgery attack and general codes except for the sensitive codes by analyzing the input execution codes;

creating native codes by converting the sensitive codes into a C code;

obfuscating the native codes and the general codes;

encrypting the obfuscated native codes by adding a tamper-detection code to the obfuscated native codes and then creates self-modified native codes by adding a loading routine; and

combining the self-modified native codes with the obfuscated general codes.

7. The method of claim 6 , further comprising transmitting the self-modified native codes and the obfuscated general codes, which are combined by the code combiner, to a client.

8. The method of claim 7 , wherein the self-modified native codes operate in a CPU environment and the obfuscated general codes are executed in a dalvik virtual machine.

9. The method of claim 8 , wherein the separating of the execution codes by analyzing the execution codes determines the codes matched with the inputted execution codes as the sensitive codes, using stored sensitive code models.

10. The method of claim 9 , wherein the loading routine decodes the encrypted section of the native code when the encrypted native code is executed.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2021
From: FOUNDATION OF SOONGSIL UNIVERSITY-INDUSTRY COOPERATION
To: CROWDSTRIKE, INC.
Reel/Frame 057824/0340 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2014
From: YI, JEONG HYUN; JUNG, JIN HYUK
To: SOONGSIL UNIVERSITY RESEARCH CONSORTIUM TECHNO-PARK
Reel/Frame 033005/0025 →
Priority Claims (1)
KR 10-2013-0096514 · Aug 14, 2013 · national