IP Library Granted Patent US 10,685,117
Granted Patent B2
US 10,685,117 · App. 16/381,857 · Granted Jun 16, 2020

Method and apparatus for anti-repackaging

Inventors: Yaoguang Chen (Zhejiang, CN); Jiashui Wang (Zhejiang, CN)
Assignee: Alibaba Group Holding Limited
G06F21/566G06F8/61G06F21/14G06F21/16G06F21/51G06F21/563G06F2221/033G06F2221/0733
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,685,117
App. No.
16/381,857
Granted
Jun 16, 2020
Kind
B2
Abstract

A target file is run in an installation package. A secure dynamic library is loaded in the installation package. Based on a code in the target file, digital watermark information embedded in the target file and verification information stored in the secure dynamic library is retrieved. Based on the digital watermark information and the verification information, a determination is made whether the installation package is a repackaged installation package.

Claims (104)

1. A computer-implemented method for anti-repackaging, comprising:

running a target file in an installation package;

loading a secure dynamic library in the installation package;

retrieving, based on a code in the target file, digital watermark information embedded in the target file and verification information stored in the secure dynamic library; and

determining, based on the digital watermark information and the verification information, whether the installation package is a repackaged installation package, comprising:

when the digital watermark information is an instruction:

performing an operation based on the instruction to obtain an operation result;

determining whether the operation result is consistent with an operation result in the verification information; and

determining whether the instruction is consistent with an instruction in the verification information.

2. The computer-implemented method of claim 1 , wherein:

the target file is a target file obtained after predetermined code is compiled; and

the digital watermark information is embedded at an end of the target file.

3. The computer-implemented method of claim 2 , wherein retrieving the digital watermark information comprises:

determining a start address of the digital watermark information in the target file based on an original length of the target file, wherein the original length is a length of the target file before the digital watermark information is embedded; and

retrieving the digital watermark information from the target file based on the start address.

4. The computer-implemented method of claim 1 , wherein determining, based on the digital watermark information and the verification information, whether the installation package is the repackaged installation package further comprises, or:

determining whether the digital watermark information is consistent with the verification information;

in response to determining that the digital watermark information is consistent with the verification information:

determining that the installation package is an original installation package; and

in response to determining that the digital watermark information is inconsistent with the verification information:

determining that the installation package is a repackaged installation package.

5. The computer-implemented method of claim 1 , wherein determining, based on the digital watermark information and the verification information, whether the installation package is the repackaged installation package further comprises:

or, when the digital watermark information is an instruction:

performing an operation based on the instruction to obtain an operation result;

determining whether the operation result is consistent with the verification information;

in response to determining that the operation result is consistent with the verification information:

determining that the installation package is an original installation package; and

in response to determining that the operation result is inconsistent with the verification information:

determining that the installation package is a repackaged installation package.

6. The computer-implemented method of claim 1 , further comprising:

in response to determining that the operation result is consistent with the operation result in the verification information and the instruction is consistent with the instruction in the verification information:

determining that the installation package is an original installation package; and

in response to determining that the operation result is inconsistent with the verification information:

determining that the installation package is the repackaged installation package.

7. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations for anti-repackaging, comprising:

running a target file in an installation package;

loading a secure dynamic library in the installation package;

retrieving, based on a code in the target file, digital watermark information embedded in the target file and verification information stored in the secure dynamic library; and

determining, based on the digital watermark information and the verification information, whether the installation package is a repackaged installation package, comprising:

when the digital watermark information is an instruction:

performing an operation based on the instruction to obtain an operation result;

determining whether the operation result is consistent with an operation result in the verification information; and

determining whether the instruction is consistent with an instruction in the verification information.

8. The non-transitory, computer-readable medium of claim 7 , wherein:

the target file is a target file obtained after predetermined code is compiled; and

the digital watermark information is embedded at an end of the target file.

9. The non-transitory, computer-readable medium of claim 8 , wherein retrieving the digital watermark information comprises:

determining a start address of the digital watermark information in the target file based on an original length of the target file, wherein the original length is a length of the target file before the digital watermark information is embedded; and

retrieving the digital watermark information from the target file based on the start address.

10. The non-transitory, computer-readable medium of claim 7 , wherein determining, based on the digital watermark information and the verification information, whether the installation package is the repackaged installation package further comprises, or:

determining whether the digital watermark information is consistent with the verification information;

in response to determining that the digital watermark information is consistent with the verification information:

determining that the installation package is an original installation package; and

in response to determining that the digital watermark information is inconsistent with the verification information:

determining that the installation package is a repackaged installation package.

11. The non-transitory, computer-readable medium of claim 7 , wherein determining, based on the digital watermark information and the verification information, whether the installation package is the repackaged installation package further comprises:

or, when the digital watermark information is an instruction:

performing an operation based on the instruction to obtain an operation result;

determining whether the operation result is consistent with the verification information;

in response to determining that the operation result is consistent with the verification information:

determining that the installation package is an original installation package; and

in response to determining that the operation result is inconsistent with the verification information:

determining that the installation package is a repackaged installation package.

12. The non-transitory, computer-readable medium of claim 7 , further comprising:

in response to determining that the operation result is consistent with the operation result in the verification information and the instruction is consistent with the instruction in the verification information:

determining that the installation package is an original installation package; and

in response to determining that the operation result is inconsistent with the verification information:

determining that the installation package is the repackaged installation package.

13. A computer-implemented system for anti-repackaging, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

running a target file in an installation package;

loading a secure dynamic library in the installation package;

retrieving, based on a code in the target file, digital watermark information embedded in the target file and verification information stored in the secure dynamic library; and

determining, based on the digital watermark information and the verification information, whether the installation package is a repackaged installation package, comprising:

when the digital watermark information is an instruction:

performing an operation based on the instruction to obtain an operation result;

determining whether the operation result is consistent with an operation result in the verification information; and

determining whether the instruction is consistent with an instruction in the verification information.

14. The computer-implemented system of claim 13 , wherein:

the target file is a target file obtained after predetermined code is compiled; and

the digital watermark information is embedded at an end of the target file.

15. The computer-implemented system of claim 14 , wherein retrieving the digital watermark information comprises:

determining a start address of the digital watermark information in the target file based on an original length of the target file, wherein the original length is a length of the target file before the digital watermark information is embedded; and

retrieving the digital watermark information from the target file based on the start address.

16. The computer-implemented system of claim 13 , wherein determining, based on the digital watermark information and the verification information, whether the installation package is the repackaged installation package further comprises, or:

determining whether the digital watermark information is consistent with the verification information;

in response to determining that the digital watermark information is consistent with the verification information:

determining that the installation package is an original installation package; and

in response to determining that the digital watermark information is inconsistent with the verification information:

determining that the installation package is a repackaged installation package.

17. The computer-implemented system of claim 13 , wherein determining, based on the digital watermark information and the verification information, whether the installation package is the repackaged installation package comprises:

when the digital watermark information is an instruction:

performing an operation based on the instruction to obtain an operation result;

determining whether the operation result is consistent with the verification information;

in response to determining that the operation result is consistent with the verification information:

determining that the installation package is an original installation package; and

in response to determining that the operation result is inconsistent with the verification information:

determining that the installation package is a repackaged installation package.

18. The computer-implemented system of claim 13 , further comprising:

in response to determining that the operation result is consistent with the operation result in the verification information and the instruction is consistent with the instruction in the verification information:

determining that the installation package is an original installation package; and

in response to determining that the operation result is inconsistent with the verification information:

determining that the installation package is the repackaged installation package.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2019
From: CHEN, YAOGUANG; WANG, JIASHUI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 050557/0858 →