IP Library Granted Patent US 10,078,498
Granted Patent B2
US 10,078,498 · App. 15/434,202 · Granted Sep 18, 2018

Method, apparatus, system, and non-transitory computer readable medium for extending at least one function of a package file

Inventors: Sang Min Chung (Seongnam-si, KR); SangHun Jeon (Seongnam-si, KR); Tae Woo Kim (Seongnam-si, KR); Joo Hyeon Ryu (Seongnam-si, KR); Dongpil Seo (Seongnam-si, KR); Sungbeom Ahn (Seongnam-si, KR); Wang Jin Oh (Seongnam-si, KR); Seong Yeol Lim (Seongnam-si, KR); Myungju Chung (Seongnam-si, KR); Kwang-Hee Han (Seongnam-si, KR)
Assignee: Line Corporation
G06F8/315G06F8/70G06F8/71
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 10,078,498
App. No.
15/434,202
Granted
Sep 18, 2018
Kind
B2
Abstract

Provided is a method, apparatus, system, and non-transitory computer readable medium for extending at least one function of a package file. A function addition method executed at a computer may include storing a package file for an application; extracting, from the package file, a file in which information about a class most initially called in response to execution of the application is set as configuration information of the application; and setting a class name of a new class to an item to which information about the most initially called class is set in the extracted file.

Claims (47)

1. A function addition method for a software package file, the function addition method comprising:

loading, using at least one processor, program code stored in at least one file of a program for a function to be added to a memory;

storing, using the at least one processor, a package file for a software application in the memory;

extracting, using the at least one processor, in response to execution of the software application, a configuration file in which information about an initialization class is set as configuration information of the software application from the package file for the software application;

setting, using the at least one processor, a class name of a new class as an item of the configuration file to which the information about the initialization class is set in the extracted configuration file; and

recreating, using the at least one processor, the package file for the software application based on the extracted configuration file to which the class name of the new class is set as the item of the configuration file,

wherein a new code included in the new class is executed prior to an original code of the package file for the software application using the class name of the new class set to the item of the configuration file in response to execution of the software application installed on an electronic device using the recreated package file for the software application.

2. The function addition method of claim 1 , wherein the extracted configuration file includes the configuration information of the software application and setting information of the software application, and wherein the extracted configuration file is an extensible markup language (XML) file.

3. The function addition method of claim 1 , wherein:

the package file for the software application is an Android application package (APK) file for an Android operating system (OS);

the extracted configuration file is an Android manifest file; and

the item of the configuration file is at least one of a software application item, an activity item, a service item, a receiver item, and a provider item, included in the Android manifest file.

4. The function addition method of claim 1 , wherein the setting of the class name of the new class comprises:

replacing a class name of an existing class with the class name of the new class in response to the existing class being set to the item of the configuration file to which the information about the initialization class is set as the item of the configuration file.

5. A function addition method for a software package file, the function addition method comprising:

loading, using at least one processor, program code stored in at least one file of a program for a function to be added to a memory;

storing, using the at least one processor, a package file for a software application in the memory;

creating, using the at least one processor, a configuration file that includes information about an existing class of the package file for the software application, wherein the information about the existing class of the package file is extracted from the package file for the software application by disassembling the package file for the software application;

verifying, using the at least one processor, the existing class of the package file for the software application having an inheritance relationship with a class that constitutes an item for setting a super class within the created configuration file through the item;

adding, using the at least one processor, new code to a bytecode of the verified existing class of the package file for the software application; and

recreating, using the at least one processor, the package file for the software application based on the bytecode of the verified existing class of the package file for the software application to which the new code is added,

wherein the new code included in the bytecode of the verified existing class of the package file for the software application is executed prior to execution of original code of the package file for the software application in response to execution of the existing class of the package file for the software application in response to execution of the software application.

6. The function addition method of claim 5 , wherein the adding of the new code comprises adding the new code to a creator method or a static scope of the bytecode of the verified existing class of the package file for the software application.

7. The function addition method of claim 5 , wherein the adding of the new code comprises:

adding a class that includes the new code to the bytecode of the verified existing class of the package file for the software application as a member;

adding the new code to an initialization method in the bytecode of the verified existing class of the package file for the software application; or

adding a new method that includes the new code to the bytecode of the verified existing class of the package file for the software application so that the new method is the initialization method based on a system lifecycle of the software application.

8. The function addition method of claim 5 , wherein:

the package file for the software application is an Android application package (APK) file for an Android operating system (OS); and

the created configuration file includes smali code in which Dalvik bytecode corresponding to the APK file is disassembled.

9. A function addition method for a software package file, the function addition method comprising:

loading, using at least one processor, program code stored in at least one file of a program for a function to be added to a memory;

storing, using the at least one processor, a package file for a software application in the memory;

reading, using the at least one processor, a definition file in which a new class is defined from the memory;

creating, using the at least one processor, an object associated with the definition file by:

calling a method for creating pathElements or dexElements, and

replacing the called method with the definition file as a factor;

adding, using the at least one processor, the created object to a dexElements array for referring to a class path of the package file for the software application; and

executing, using the at least one processor, the new class using the created object included in the dexElements array without loading and calling the new class in response to execution of the software application.

10. The function addition method of claim 9 , wherein:

the package file for the software application is an Android application package (APK) file for an Android operating system (OS); and

the creating of the object comprises creating the object by replacing a desired method, wherein the desired method is a makeDexElements method or a makePathElements method, and wherein the created object is configured as a pathList member object within a class loader that is called from a context of the Android OS with the definition file as a factor.

11. The function addition method of claim 9 , wherein:

the package file for the software application is an APK file for an Android OS; and

the creating of the object comprises creating the object by replacing a desired method, wherein the desired method is a makeDexElements method or a makePathElements method, and wherein the created object is configured as a pathList class that is provided by the Android OS with the definition file as a factor.

12. The function addition method of claim 9 , wherein:

the adding comprises creating a new array that includes an original value included in the dexElements array and a result value of calling a desired method, and replacing the dexElements array with the new array.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2024
From: Z INTERMEDIATE GLOBAL CORPORATION
To: LY CORPORATION
Reel/Frame 067096/0431 →
CHANGE OF NAME Recorded Apr 10, 2024
From: LINE CORPORATION
To: Z INTERMEDIATE GLOBAL CORPORATION
Reel/Frame 067069/0467 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE CITY SHOULD BE SPELLED AS TOKYO PREVIOUSLY RECORDED AT REEL: 058597 FRAME: 0141. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 17, 2023
From: LINE CORPORATION
To: A HOLDINGS CORPORATION
Reel/Frame 062401/0328 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE ASSIGNEES CITY IN THE ADDRESS SHOULD BE TOKYO, JAPAN PREVIOUSLY RECORDED AT REEL: 058597 FRAME: 0303. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 17, 2023
From: A HOLDINGS CORPORATION
To: LINE CORPORATION
Reel/Frame 062401/0490 →
CHANGE OF ADDRESS Recorded Dec 28, 2021
From: LINE CORPORATION
To: LINE CORPORATION
Reel/Frame 059511/0374 →
CHANGE OF NAME Recorded Dec 28, 2021
From: LINE CORPORATION
To: A HOLDINGS CORPORATION
Reel/Frame 058597/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: A HOLDINGS CORPORATION
To: LINE CORPORATION
Reel/Frame 058597/0303 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2017
From: CHUNG, SANG MIN; JEON, SANGHUN; KIM, TAE WOO; RYU, JOO HYEON; SEO, DONGPIL; AHN, SUNGBEOM; OH, WANG JIN; LIM, SEONG YEOL; CHUNG, MYUNGJU; HAN, KWANG-HEE
To: LINE CORPORATION
Reel/Frame 041378/0468 →
Priority Claims (1)
KR 10-2016-0019005 · Feb 18, 2016 · national
Continuity (1)
Related Publication 20170242664A1 · Aug 24, 2017