WO2015078295A1 - Method and apparatus for protecting data of application installation packages - Google Patents
Method and apparatus for protecting data of application installation packages Download PDFInfo
- 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
Links
- 238000009434 installation Methods 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 238000011900 installation process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting 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
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.
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.
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.
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)
- 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; andmodifying 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.
- 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; andadding 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.
- 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; andif 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.
- 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.
- 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; andif the application installation package is in a compressed format, decompressing the application installation package.
- A data protection system for an application installation package, comprising:one or more processors;memory; andone 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; andmodifying 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.
- 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; andadding 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.
- 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; andif 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.
- 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.
- 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; andif the application installation package is in a compressed format, decompressing the application installation package.
- 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; andmodifying 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.
- 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; andadding 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.
- 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; andif 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.
- 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.
- 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; andif the application installation package is in a compressed format, decompressing the application installation package.
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)
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)
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)
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 |
-
2013
- 2013-11-28 CN CN201310627721.0A patent/CN104680039B/en active Active
-
2014
- 2014-11-11 WO PCT/CN2014/090843 patent/WO2015078295A1/en active Application Filing
Patent Citations (4)
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 |