WO2015078295A1 - Method and apparatus for protecting data of application installation packages - Google Patents

Method and apparatus for protecting data of application installation packages Download PDF

Info

Publication number
WO2015078295A1
WO2015078295A1 PCT/CN2014/090843 CN2014090843W WO2015078295A1 WO 2015078295 A1 WO2015078295 A1 WO 2015078295A1 CN 2014090843 W CN2014090843 W CN 2014090843W WO 2015078295 A1 WO2015078295 A1 WO 2015078295A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
dynamic link
link library
installation package
executable file
Prior art date
Application number
PCT/CN2014/090843
Other languages
French (fr)
Inventor
Lichun Zhang
Original Assignee
Tencent Technology (Shenzhen) Company Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology (Shenzhen) Company Limited filed Critical Tencent Technology (Shenzhen) Company Limited
Publication of WO2015078295A1 publication Critical patent/WO2015078295A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

A data protection method for an application installation package includes at a computer having one or more processors and memory storing programs executed by the one or more processors, extracting an application installation package into an installation folder; adding a dynamic link library into the installation folder; encrypting an executable file in the installation folder according to an encryption algorithm; adding a procedure of invoking the dynamic link library into the encrypted executable file; and modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed, wherein the dynamic link library is configured to decrypt the encrypted executable file during installation.

Description

METHOD AND APPARATUS FOR PROTECTING DATA OF APPLICATION INSTALLATION PACKAGES
RELATED APPLICATION
This application claims priority to Chinese Patent Application No. 201310627721.0, entitled “METHOD AND APPARATUS FOR PROTECTING DATA OF APPLICATION INSTALLATION PACKAGES” filed on November 28, 2013, which is incorporated by reference in its entirety.
TECHNICAL FIELD
The present application relates to the field of software technology, and in particular, relates to a method and an apparatus of data protection for application installation packages.
BACKGROUND
In the field of mobile terminal device, hardware technology as well as mobile application development are currently advancing rapidly. Each day, a large number of mobile applications are released for user downloading and installation.
Application installation packages are available for purchase, downloading, sharing, and via other various channels. An installation package includes all the files that are required to install an application to a terminal device. The files that are required to install an application may be in compressed formats. When the installation package is downloaded or copied to the terminal device, and an installation process is launched, the files are decompressed and saved in the hard drive or the memory of the terminal device. A complete installation process may comprise modifying the registration form, modifying the system configuration, creating a shortcut for the application, etc.
According to the current technology, once the installation process is launched and the files are decompressed for installation, data included in those files is modified from its original contents, and can therefore protect the technical details from being stolen by competitors. However, competitors of the application development team may steal the key implementation details by extracting data directly from the installation package before launching the installation process. Further, internet hackers may retrieve important information from the installation package such as an IP address of a server, to launch network  attacks. Both of the above cause damage to the interests of an application development team. Accordingly, there is a need to protect the data of the application installation package from being stolen or misused before the installation process is launched.
SUMMARY
In accordance with some implementations of the present application, a data protection method for an application installation package comprises at a computer having one or more processors and memory storing programs executed by the one or more processors, extracting an application installation package into an installation folder; adding a dynamic link library into the installation folder; encrypting an executable file in the installation folder according to an encryption algorithm; adding a procedure of invoking the dynamic link library into the encrypted executable file; and modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed, wherein the dynamic link library is configured to decrypt the encrypted executable file during installation.
In accordance with some embodiments, encrypting an executable file in the installation folder according to an encryption algorithm further comprises extracting at least one character string from the executable file; encrypting the extracted character string according to the encryption algorithm; and adding a preset identifier to the encrypted character string, wherein the dynamic link library is configured to decrypt the encrypted character string having the preset identifier.
In accordance with some embodiments, modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed further comprises determining whether an application node of the configuration file includes a name attribute; if the application node of the configuration file includes a name attribute, declaring a Java class in the name attribute; and if the application node of the configuration file does not include a name attribute, creating a name attribute in the application node of the configuration file, and declaring a Java class in the created name attribute, wherein the Java class is configured to invoke the dynamic link library first when the encrypted executable file is executed.
In accordance with some embodiments, the data protection method for an application installation package further comprises encrypting at least one character string of the modified configuration file according to the encryption algorithm.
In accordance with some embodiments, the data protection method for an application installation package further comprises determining whether the application installation package is in a compressed format; and if the application installation package is in a compressed format, decompressing the application installation package.
In accordance with some implementations of the present application, a data protection system for an application installation package comprises one or more processors; memory; and one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs including instructions for: extracting an application installation package into an installation folder; adding a dynamic link library into the installation folder; encrypting an executable file in the installation folder according to an encryption algorithm; adding a procedure of invoking the dynamic link library into the encrypted executable file; and modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed, wherein the dynamic link library is configured to decrypt the encrypted executable file during installation.
In accordance with some implementations of the present application, a non-transitory computer readable storage medium, storing one or more programs for execution by one or more processors of a data protection system for an application installation package including instructions for: extracting an application installation package into an installation folder; adding a dynamic link library into the installation folder; encrypting an executable file in the installation folder according to an encryption algorithm; adding a procedure of invoking the dynamic link library into the encrypted executable file; and modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed, wherein the dynamic link library is configured to decrypt the encrypted executable file during installation.
BRIEF DESCRIPTION OF DRAWINGS
The aforementioned implementation of the present application as well as additional implementations will be more clearly understood as a result of the following detailed  description of the various aspects of the present application when taken in conjunction with the drawings. Like reference numerals refer to corresponding parts throughout the several views of the drawings.
Figure 1 is an implementation flow chart of a data protection method for an application installation package according to an embodiment of the present application;
Figure 2 is an implementation flow chart of a data protection method for an application installation package according to another embodiment of the present application;
Figure 3 is an implementation flow chart of a data protection method for an application installation package according to step S102 of Figure 1;
Figure 4 is an implementation flow chart of a data protection method for an application installation package according to another embodiment of the present application.
Figure 5 is an implementation flow chart of installing the protected application package according to another embodiment of the present application; and
Figure 6 is a block diagram of a data protection system for an application installation package according to some embodiments of the present application.
DETAILED DESCRIPTION
In order to make the objects, technical schemes and advantages of the present application more clear and apparent, the present application will now be described in further detail with reference to accompanying drawings and embodiments. It should be understood that the embodiments described here are only illustrative and are not intended to limit the application.
For illustration purpose, the Android operation system is used in the following embodiments. However, other operation systems such as Windows, Linux, etc. can also be used in the data protection method for an application installation package according to the present application.
Figure 1 is an implementation flow chart of a data protection method for an application installation package according to an embodiment of the present application.
At step S101, an application installation package is extracted into an installation folder. For Android operation systems, the application installation package is normally  named as application package file, i.e., APK installation package. All files needed for installing the application may be extracted and saved in the hard drive or in the memory.
At step S102, a dynamic link library is added into the installation folder. In some embodiments, dynamic link library may be pre-coded to include an encryption algorithm and the corresponding decryption algorithm. The dynamic link library itself may not be an executable file rather a coded database that can be invoked by multiple processes. Thus, the dynamic link library may provide a method for multiple processes to call and execute functions that are not coded in the processes.
At step S103, an executable file in the installation folder is encrypted according to an encryption algorithm. The decryption algorithm included in the dynamic link library may be programmed in Java or C++, for example. The encryption algorithm may be any algorithm that corresponds to the decryption algorithm, and is not restricted by the present application.
According to an Android operation system, the executable file in the installation package may be named as classes. dex. Using tools like Baksmali, ApkTook etc., coding language in classes. dex may be transformed into text that complies with the grammar of Smali. For example, hard-coded character strings in Smali are displayed as:
const-string v0, "QQPIM. ProductVersion"
const-string v0, "http: //login. qq. com/do"
"QQPIM. ProductVersion" and "http: //login. qq. com/do" herein are two hard-coded character strings that include information such as the version of the application, type of the application, and server IP address etc., and need to be encrypted for security purpose.
At step S104, a procedure of invoking the dynamic link library is added into the encrypted executable file. In some embodiments, when the executable file is performed, the dynamic link library is loaded at the first step such that subsequent processes can invoke the functions in the dynamic link library if needed.
At step S105, a configuration file in the installation folder is modified such that the dynamic link library is invoked first when the encrypted executable file is executed.
According to Android operation systems as an example, the configuration file in the installation folder may be named as AndroidManifest. xml, and may include the name of the  application, version of the application, interface components, authorization information, start information, etc.
Figure 2 is an implementation flow chart of a data protection method for an application installation package according to another embodiment of the present application.
At step 201, a determination is made as to whether the application installation package is in a compressed format.
At step 202, if the application is in a compressed format, the application installation package is decompressed.
According to Android operation systems as an example, the decompressed installation package APK may include an executable file (. dex file) , a resource file (resources) , a certificate file (certificates) , a configuration file (manifest file) , etc.
Figure 3 is an implementation flow chart of a data protection method for an application installation package according to step S102 of Figure 1.
At step 301, at least one character string is extracted from the executable file. According to the present application, it is not necessary to encrypt the entire character strings in the executable file. Character strings containing important information, such as the hard-coded string illustrated above, may be encrypted for security purpose.
At step 302, the extracted character string is encrypted according to the encryption algorithm.
At step 303, a preset identifier is added for the encrypted character string. According to the present application, the preset identifier may indicate that the corresponding character string is encrypted. When the executable file is performed, only the character strings with identifiers are selected for decryption by calling the decryption algorithm in the dynamic link library. Therefore, decryption efficiency is improved.
Figure 4 is an implementation flow chart of a data protection method for an application installation package according to another embodiment of the present application. In some embodiments, when the decryption algorithm in the dynamic link library is programmed in C++, a process to invoke the dynamic link library may have to be programmed in Java. Steps to modify the configuration file in an Android operation system are discussed below.
At step S401, an application node is located in the configuration file. 
At step S402, a determination is made as to whether the application node includes a name attribute.
At step S403, if the application node includes a name attribute, a Java class is declared in the name attribute.
At step S404, if the application node does not include a name attribute, a name attribute is created, and a Java class is declared in the name attribute.
In some embodiments, the Java class in the name attribute may provide an entrance for the dynamic link library to be loaded at the first step during the installation. For example, Java codes shown below need to be added into the name attribute of an application node (e.g., com. example. MyApplication) to invoke a dynamic link library named libxxx. so:
Static {
System. LoadLibrary ( "xxx" ) ;
}
In some embodiments, to further protect the data of the installation package, at least one character string of the modified configuration file may be encrypted according to the same encryption algorithm that used to encrypt the executable file.
Figure 5 is an implementation flow chart of installing the protected application package according to another embodiment of the present application.
At step 501, the application installation package is executed.
At step 502, codes in the application node of the configuration file are executed and the dynamic link library is loaded.
At step 503, the executable file to install the application is executed.
At step 504, a determination is made as to whether the character string in the executable file is encrypted.
At step 505, if the character string in the executable file is encrypted (505-yes) , the encrypted character string is decrypted (506) according to a decryption algorithm defined in the dynamic link library. Otherwise (505-no) , the executable file to install the application is executed again.
According to the present application, data in the application installation package may be encrypted before launching the installation package, and is only decrypted during the  installation process, thus effectively protecting the technical data from being stolen or misused by competitors or hackers.
Figure 6 is a block diagram of a data protection system for an application installation package according to some embodiments of the present application. The data protection system for an application installation package may include an adding unit 61 configured to add the dynamic link library into the installation folder, a first modification unit 62 configured to encrypt the executable file in the installation folder, and a second modification unit 63 configured to encrypt the configuration file in the installation folder.
In some embodiments, the data protection system for an application installation package may further include a determination unit for determining whether the application installation package is in a compressed format; and a decompression unit for decompressing the application installation package if the application is in a compressed format.
In some embodiments, the first modification unit 62 may further comprise an extracting subunit for extracting at least one character string in the executable file; an encryption sub-unit for encrypting the extracted character string according to an encryption algorithm defined in the dynamic link library; and an adding sub-unit for adding a preset identifier for the encrypted character string.
In some embodiments, the dynamic link library is configured to decrypt the encrypted character strings with preset identifiers.
In some embodiments, the second modification unit 63 may further comprise a locating sub-unit for locating an application node in the configuration file; a determination sub-unit for determining whether the application node includes a name attribute; a first declaring unit for declaring a Java class in the name attribute if the application node includes a name attribute; and a second declaring unit for creating a name attribute and declaring a Java class in the name attribute if the application node does not include a name attribute.
In some embodiments, the data protection system for an application installation package may further include an encryption unit for encrypting character strings in the modified configuration file according to the same encryption algorithm that is used to encrypt the executable file.
According to the present application, an application installation package is encrypted before releasing to public, and such encrypted data is only decrypted during the installation by calling a dynamic link library with decryption algorithm. The original  technical data of the application is restored during the installation process, and can be hardly retrieved before launching the installation package. Accordingly, the present application can effectively protect the data from breaching to other competitors or hackers before installation, and protect the benefits of the application development team.
The present application has been described with reference to preferred embodiments which are not intended to limit the present application, and any modification, equivalent, improvement and the like made within the spirit and principle of the present application should fall in the protection scope thereof.
While particular embodiments are described above, it will be understood it is not intended to limit the present application to these particular embodiments. On the contrary, the present application includes alternatives, modifications and equivalents that are within the spirit and scope of the appended claims. Numerous specific details are set forth in order to provide a thorough understanding of the subject matter presented herein. But it will be apparent to one of ordinary skill in the art that the subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
Although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, first ranking criteria could be termed second ranking criteria, and, similarly, second ranking criteria could be termed first ranking criteria, without departing from the scope of the present application. First ranking criteria and second ranking criteria are both ranking criteria, but they are not the same ranking criteria.
The terminology used in the description of the present application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used in the description of the present application and the appended claims, the singular forms “a, ” “an, ” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "includes, " "including, " "comprises, " and/or "comprising, " when used in this specification, specify the presence of stated features, operations, elements, and/or components, but do not preclude the  presence or addition of one or more other features, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting, ” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true] ” or “if [astated condition precedent is true] ” or “when [astated condition precedent is true] ” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
Although some of the various drawings illustrate a number of logical stages in a particular order, stages that are not order dependent may be reordered and other stages may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be obvious to those of ordinary skill in the art and so do not present an exhaustive list of alternatives. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.
The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the present application to the precise forms disclosed.
Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to best explain principles of the present application and its practical applications, to thereby enable others skilled in the art to best utilize the present application and various implementations with various modifications as are suited to the particular use contemplated. Implementations include alternatives, modifications and equivalents that are within the spirit and scope of the appended claims. Numerous specific details are set forth in order to provide a thorough understanding of the subject matter presented herein. But it will be apparent to one of ordinary skill in the art that the subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the implementations.

Claims (15)

  1. A data protection method for an application installation package comprising:
    at a computer having one or more processors and memory storing programs executed by the one or more processors,
    extracting an application installation package into an installation folder;
    adding a dynamic link library into the installation folder;
    encrypting an executable file in the installation folder according to an encryption algorithm;
    adding a procedure of invoking the dynamic link library into the encrypted executable file; and
    modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed,
    wherein the dynamic link library is configured to decrypt the encrypted executable file during installation.
  2. The data protection method for an application installation package of claim 1, wherein encrypting an executable file in the installation folder according to an encryption algorithm further comprises:
    extracting at least one character string from the executable file;
    encrypting the extracted character string according to the encryption algorithm; and
    adding a preset identifier to the encrypted character string,
    wherein the dynamic link library is configured to decrypt the encrypted character string having the preset identifier.
  3. The data protection method for an application installation package of any of claims 1-2, wherein modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed further comprises:
    determining whether an application node of the configuration file includes a name attribute;
    if the application node of the configuration file includes a name attribute, declaring a Java class in the name attribute; and
    if the application node of the configuration file does not include a name attribute, creating a name attribute in the application node of the configuration file, and declaring a Java class in the created name attribute,
    wherein the Java class is configured to invoke the dynamic link library first when the encrypted executable file is executed.
  4. The data protection method for an application installation package of any of claims 1-3, further comprising:
    encrypting at least one character string of the modified configuration file according to the encryption algorithm.
  5. The data protection method for an application installation package of any of claims 1-3, further comprising:
    determining whether the application installation package is in a compressed format; and
    if the application installation package is in a compressed format, decompressing the application installation package.
  6. A data protection system for an application installation package, comprising:
    one or more processors;
    memory; and
    one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs including instructions for:
    extracting an application installation package into an installation folder;
    adding a dynamic link library into the installation folder;
    encrypting an executable file in the installation folder according to an encryption algorithm;
    adding a procedure of invoking the dynamic link library into the encrypted executable file; and
    modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed,
    wherein the dynamic link library is configured to decrypt the encrypted executable file during installation.
  7. The data protection system for an application installation package of claim 6, wherein the one or more programs further include instructions for:
    extracting at least one character string from the executable file;
    encrypting the extracted character string according to the encryption algorithm; and
    adding a preset identifier to the encrypted character string,
    wherein the dynamic link library is configured to decrypt the encrypted character string having the preset identifier.
  8. The data protection system for an application installation package of any of claims 6-7, wherein the one or more programs further include instructions for:
    determining whether an application node of the configuration file includes a name attribute;
    if the application node of the configuration file includes a name attribute, declaring a Java class in the name attribute; and
    if the application node of the configuration file does not include a name attribute, creating a name attribute in the application node of the configuration file, and declaring a Java class in the created name attribute,
    wherein the Java class is configured to invoke the dynamic link library first when the encrypted executable file is executed.
  9. The data protection system for an application installation package of any of claims 6-8, wherein the one or more programs further include instructions for:
    encrypting at least one character string of the modified configuration file according to the encryption algorithm.
  10. The data protection system for an application installation package of any of claims 6-9, wherein the one or more programs further include instructions for:
    determining whether the application installation package is in a compressed format; and
    if the application installation package is in a compressed format, decompressing the application installation package.
  11. A non-transitory computer readable storage medium, storing one or more programs for execution by one or more processors of a data protection system for an application installation package including instructions for:
    extracting an application installation package into an installation folder;
    adding a dynamic link library into the installation folder;
    encrypting an executable file in the installation folder according to an encryption algorithm;
    adding a procedure of invoking the dynamic link library into the encrypted executable file; and
    modifying a configuration file in the installation folder such that the dynamic link library is invoked first when the encrypted executable file is executed,
    wherein the dynamic link library is configured to decrypt the encrypted executable file during installation.
  12. The non-transitory computer readable storage medium of claim 11, wherein the one or more programs further include instructions for:
    extracting at least one character string from the executable file;
    encrypting the extracted character string according to the encryption algorithm; and
    adding a preset identifier to the encrypted character string,
    wherein the dynamic link library is configured to decrypt the encrypted character string having the preset identifier.
  13. The non-transitory computer readable storage medium of any of claims 11-12, wherein the one or more programs further include instructions for:
    determining whether an application node of the configuration file includes a name attribute;
    if the application node of the configuration file includes a name attribute, declaring a Java class in the name attribute; and
    if the application node of the configuration file does not include a name attribute, creating a name attribute in the application node of the configuration file, and declaring a Java class in the created name attribute,
    wherein the Java class is configured to invoke the dynamic link library first when the encrypted executable file is executed.
  14. The non-transitory computer readable storage medium of any of claims 11-13, wherein the one or more programs further include instructions for:
    encrypting at least one character string of the modified configuration file according to the encryption algorithm.
  15. The non-transitory computer readable storage medium of any of claims 11-14, wherein the one or more programs further include instructions for:
    determining whether the application installation package is in a compressed format; and
    if the application installation package is in a compressed format, decompressing the application installation package.
PCT/CN2014/090843 2013-11-28 2014-11-11 Method and apparatus for protecting data of application installation packages WO2015078295A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310627721.0A CN104680039B (en) 2013-11-28 2013-11-28 A kind of data guard method and device of application program installation kit
CN201310627721.0 2013-11-28

Publications (1)

Publication Number Publication Date
WO2015078295A1 true WO2015078295A1 (en) 2015-06-04

Family

ID=53198346

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/090843 WO2015078295A1 (en) 2013-11-28 2014-11-11 Method and apparatus for protecting data of application installation packages

Country Status (2)

Country Link
CN (1) CN104680039B (en)
WO (1) WO2015078295A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068832B (en) * 2015-07-30 2018-06-01 北京奇虎科技有限公司 A kind of method and apparatus for generating executable file
CN105426777B (en) * 2015-11-17 2018-09-21 中科创达软件股份有限公司 A kind of dynamic link library file encryption and decryption method and device
CN105512102A (en) * 2015-12-01 2016-04-20 北京交控科技股份有限公司 Data parse method and system
CN105930695B (en) * 2016-04-11 2019-03-19 江苏通付盾科技有限公司 A kind of guard method of Software Development Kit and device
CN106126290B (en) * 2016-06-27 2019-08-13 微梦创科网络科技(中国)有限公司 Application program optimization method, apparatus and system
CN106326693A (en) * 2016-08-18 2017-01-11 广州优视网络科技有限公司 Obfuscation method and obfuscation device for application program code
CN107766096A (en) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 The generation method of application program installation kit, the operation method of application program and device
CN106708571A (en) * 2016-12-13 2017-05-24 北京奇虎科技有限公司 Resource file loading method and device and source file reinforcing method and device
CN106845169B (en) * 2016-12-26 2023-04-07 北京握奇智能科技有限公司 Jar package reinforcing method and system
CN107122632A (en) * 2017-04-26 2017-09-01 北京洋浦伟业科技发展有限公司 The encryption method and device of software installation bag
CN111104648A (en) * 2018-10-29 2020-05-05 鸿合科技股份有限公司 Software processing method and device, application program and electronic equipment
CN110135131B (en) * 2019-05-13 2021-04-06 北京智游网安科技有限公司 Encryption method of application program, storage medium and terminal equipment
CN111753330B (en) * 2020-06-18 2023-08-29 百度在线网络技术(北京)有限公司 Determination method, apparatus, device and readable storage medium for data leakage main body
CN112214253B (en) * 2020-09-11 2024-02-02 拓尔思信息技术股份有限公司 Java program starting method and device, electronic device and nonvolatile storage medium
CN112486542A (en) * 2020-12-10 2021-03-12 卡斯柯信号有限公司 Configuration file generation and updating method and system based on dynamic link library

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007063433A2 (en) * 2005-10-17 2007-06-07 Nxp B.V. Program executable image encryption
US20090249373A1 (en) * 2008-04-01 2009-10-01 Feitian Technologies Co., Ltd. Method for program protection based on .net card and a system thereof
US20130145477A1 (en) * 2011-09-13 2013-06-06 Hideki Matsushima Content reproduction system, information processing terminal, media server, secure device, and server secure device
CN103413075A (en) * 2013-07-10 2013-11-27 北京深思数盾科技有限公司 Method and device for protecting JAVA executable program through virtual machine

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087605B (en) * 2011-01-28 2014-05-07 宇龙计算机通信科技(深圳)有限公司 Android-based platform application installation control method and system
CN102236757A (en) * 2011-06-30 2011-11-09 北京邮电大学 Software protection method and system applicable to Android system
CN102346834A (en) * 2011-11-25 2012-02-08 武汉钢铁(集团)公司 Method for encrypting and protecting Java application software
CN103413076B (en) * 2013-08-27 2016-03-02 北京理工大学 A kind of Android application program divides the method for block protection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007063433A2 (en) * 2005-10-17 2007-06-07 Nxp B.V. Program executable image encryption
US20090249373A1 (en) * 2008-04-01 2009-10-01 Feitian Technologies Co., Ltd. Method for program protection based on .net card and a system thereof
US20130145477A1 (en) * 2011-09-13 2013-06-06 Hideki Matsushima Content reproduction system, information processing terminal, media server, secure device, and server secure device
CN103413075A (en) * 2013-07-10 2013-11-27 北京深思数盾科技有限公司 Method and device for protecting JAVA executable program through virtual machine

Also Published As

Publication number Publication date
CN104680039B (en) 2019-02-26
CN104680039A (en) 2015-06-03

Similar Documents

Publication Publication Date Title
WO2015078295A1 (en) Method and apparatus for protecting data of application installation packages
US10878083B2 (en) Mobile device having trusted execution environment
US10320940B1 (en) Managing generic data
US10218790B2 (en) Providing access to a resource for a computer from within a restricted network
CN111143869B (en) Application package processing method and device, electronic equipment and storage medium
US20140365443A1 (en) Framework for running untrusted code
US20140096230A1 (en) Method and system for sharing vpn connections between applications
US20160275019A1 (en) Method and apparatus for protecting dynamic libraries
US9305170B1 (en) Systems and methods for securely providing information external to documents
CN107430650B (en) Securing computer programs against reverse engineering
CN104866739A (en) Application program encryption method and application program encryption system in Android system
WO2019062015A1 (en) Source code protection method, application server, and computer-readable storage medium
US9292708B2 (en) Protection of interpreted source code in virtual appliances
CN108133147B (en) Method and device for protecting executable code and readable storage medium
KR20170069337A (en) Method and apparatus for protecting application and program made by the method
EP3298534A1 (en) Creating multiple workspaces in a device
KR101429131B1 (en) Device and method for securing system
KR20170022023A (en) An apparatus for obfuscating and restoring program execution code and method thereof
KR101749209B1 (en) Method and apparatus for hiding information of application, and method and apparatus for executing application
CN109995534B (en) Method and device for carrying out security authentication on application program
US20120278883A1 (en) Method and System for Protecting a Computing System
JP2008040853A (en) Application execution method and application execution device
CN106648770B (en) Generation method, loading method and device of application program installation package
CN104866740A (en) Static analysis preventing method and device for files
CN110618967B (en) Application program running method, installation package generating method, device, equipment and medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14865793

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 02.11.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14865793

Country of ref document: EP

Kind code of ref document: A1