CN116070179A - AndroidaPP reinforcement method and system - Google Patents

AndroidaPP reinforcement method and system Download PDF

Info

Publication number
CN116070179A
CN116070179A CN202310027288.0A CN202310027288A CN116070179A CN 116070179 A CN116070179 A CN 116070179A CN 202310027288 A CN202310027288 A CN 202310027288A CN 116070179 A CN116070179 A CN 116070179A
Authority
CN
China
Prior art keywords
module
time
android application
virtual
time data
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202310027288.0A
Other languages
Chinese (zh)
Inventor
孙永清
沈亮
赵戈
陈冰剑
张浩浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Third Research Institute of the Ministry of Public Security
Original Assignee
Third Research Institute of the Ministry of Public Security
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 Third Research Institute of the Ministry of Public Security filed Critical Third Research Institute of the Ministry of Public Security
Priority to CN202310027288.0A priority Critical patent/CN116070179A/en
Publication of CN116070179A publication Critical patent/CN116070179A/en
Pending legal-status Critical Current

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
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

The invention relates to the technical field of information security, and discloses an android PP reinforcement system, which comprises the following components: a server and a client in communication with each other, wherein the server comprises: the core code extraction module is used for extracting an original source code of the Android application to obtain a core code; a first encryption module for encrypting the core code, the first encryption module comprising: the system comprises a first world time module, a first virtual time module, a first key generation unit and a first encryption execution module, wherein the first world time module is used for periodically generating world time data; the world time data represents real world time; the first virtual time module is used for periodically generating virtual time data; the virtual time data is inconsistent with real world time; according to the method, when the Android application is downloaded, the core code of the Android application is encrypted and shelled and reinforced by the dynamic generated key, so that unshelling and cracking caused by encryption key leakage are avoided.

Description

AndroidaPP reinforcement method and system
Technical Field
The invention relates to the technical field of information security, in particular to an AndroidaPP reinforcement system.
Background
Android, as the mobile operating system with the greatest share of the global market, incurs a large number of attackers to create pirates, and the application program of the pirate steals the economic benefits of the original developer or implants malicious code to infect the user equipment. To achieve this, an attacker may analyze the program semantics of benign program code using various reverse tools and methods. The situation that the application software is cracked is frequent, malicious implantation functions are frequently generated, and the malicious behaviors greatly damage the interests of application developers and application users and restrict the healthy development of the Android operating system.
At present, for Android application software developers, equipment is required to prevent the developed software from being decompiled and reversed by others, so that the core code of the software is not understood and hacked by others, the benefits of the Android developers are protected, and the use safety of the Android applications is also ensured.
However, some existing Android code protection technologies have various problems. Schemes based on traditional source code confusion and Android component property confusion are difficult to resist against the increasingly mature reverse engineering technology and code analysis technology at present. These code analysis techniques utilize a number of methods such as dynamic and static analysis, machine learning, and probabilistic models, and theoretically, the semantics of the program core code must be analyzed as long as they are still in the code. Also, because Java code itself is very easy to decompil, the protection effect of this type of method is not ideal. While other code protection techniques and application reinforcement methods at the system level are difficult to use by common developers due to the low level of operation.
Most of the APK reinforcement technologies in the prior art are used for confusing and covering core source codes through technologies such as shell adding, and the like, and because the APK updating period is longer, the possibility of encryption algorithm and key leakage easily occurs in the APK updating period, and the APK reinforcement technologies are also used by the existing unshelling and cracking tools.
Disclosure of Invention
The invention provides an android PP reinforcement system, which solves the technical problem that in the related art, encryption algorithm and key leakage are easy to occur in the period of APK update.
According to one aspect of the present invention there is provided an androida pp reinforcement system comprising:
a server and a client in communication with each other, wherein the server comprises:
and the core code extraction module is used for extracting the original source code of the Android application to obtain core codes.
A first encryption module for encrypting the core code, the first encryption module comprising: the system comprises a first world time module, a first virtual time module, a first key generation unit and a first encryption execution module, wherein the first world time module is used for periodically generating world time data; the world time data represents real world time.
The first virtual time module is used for periodically generating virtual time data; the virtual time data is inconsistent with real world time;
a first key generation unit that selects world time data corresponding to real world time and one or more virtual time data, and then generates a key based on the selected world time data and virtual time data;
when the client downloads the Android application, the server records the downloading time as the real world time corresponding to the initial Android application termination, generates a first key based on the downloading time, encrypts the core code of the downloaded Android application through the first key, and then generates the Android application and sends the Android application to the client;
a first encryption execution module that encrypts the core code based on the first key;
the client comprises:
a second world time module for periodically generating world time data, real world time of which the world time data is generated being synchronized with real world time of the world time data generated by the first world time module;
the second virtual time module is used for periodically generating virtual time data;
the encryption starting module is used for detecting whether the execution of the Android application is terminated, and starting the second encryption module to encrypt the core code of the Android application after the execution of the Android application is terminated;
the second encryption module comprises a key information acquisition unit, a second key generation unit and a second encryption execution unit, wherein the key information acquisition unit is used for sending a request to the server, sending real world time corresponding to the termination of the Android application to the server, the server extracting corresponding world time data and virtual time data based on the real world time, and the first key generation module of the server generating a second key based on the extracted world time data and virtual time data;
then, the server sends the mark information of the first virtual time module corresponding to the virtual time data to the client;
the second key generation unit is used for selecting a second virtual time module needing to extract virtual time data through the received marking information of the first virtual time module provided by the server, and then extracting corresponding virtual time data from the second virtual time module based on real world time corresponding to the termination of the Android application sent to the server;
finally, the corresponding real world time and the extracted virtual time data are terminated through the Android application to generate a third secret key;
a second encryption execution unit for re-encrypting the core code by a third key; deleting the third secret key after encryption is finished;
a reconstruction module for modifying the re-encrypted core code to the Android application, and then repackaging and signing the Android application.
When the Android application is started next time, the client firstly sends a starting request to the server, the starting request comprises real world time corresponding to the last time of the Android application termination, the server extracts mark information of a first virtual time module corresponding to virtual time data of a second key generated by the corresponding real world time, a third key is generated based on the real world time corresponding to the last time of the Android application termination and the mark information of the first virtual time module, then the third key is sent to the client running the loaded Android application, and the shell program decrypts the core code based on the received third key.
Further, the time of the first world time module is a predetermined time of a certain longitude.
Further, the first encryption execution module adopts a symmetric encryption algorithm.
Further, the number of second virtual time modules is the same as the number of first virtual time modules, and for any one second virtual time module, there is only one virtual time synchronization with which the first virtual time module generates virtual time data, and the first virtual time module and the second virtual time module have the same flag information.
Further, the marker information is ordinal data.
Further, the server also comprises a hardware information recording unit and a hardware information detection unit, the client transmits the hardware information of the client at the same time when the client transmits the encryption request to the server, and the server records the hardware information;
the method comprises the steps that when a client sends a starting request to a server, hardware information is required to be synchronously sent, and a hardware information detection unit is used for detecting whether the hardware information corresponds to real world time corresponding to termination of a corresponding Android application; and if the client does not correspond to the server, prohibiting the communication between the client and the server.
Further, the hardware information recording unit generates a data pair with real world time corresponding to the termination of the Android application by the hardware information, and updates the data pair when the encryption request is received next time.
Further, the method for generating the key by the first key generation unit and the second key generation unit comprises the following steps:
extracting real world time corresponding to the termination of the Aandroid application, and randomly selecting more than one corresponding virtual time data;
the key M is calculated by the following formula:
Figure BDA0004045630110000041
wherein time is 0 World time data corresponding to real world time representing termination of Aandroid application s n Marking information representing the first virtual time module or the second virtual time module corresponding to the nth virtual time data, time n Representing the nth virtual time data.
According to one aspect of the present invention, there is provided an android pp reinforcement method, by executing the following steps by an android pp reinforcement system as described above:
step 101, extracting an original source code of an Android application to obtain a core code;
in one embodiment of the invention, the original source code of the Android application is stored in a dex file format.
In general, when the original source code is extracted, a class. Dex file and an android management. Xml file in the original apk file are extracted together to serve as core codes.
102, encrypting core codes;
step 103, generating a shell program;
the shell program is mainly used for decrypting the encrypted dex file, loading the decrypted original dex file and normally starting the source program.
Step 104, generating an execution program by the shell program and the encryption program together, and replacing the execution program of the original Android application with the execution program;
step 105, packaging the modified Android application;
and 106, signing the packaged Android application to generate a new Android application.
Further, the method for encrypting the core code comprises the following steps:
step 1021, extracting real world time corresponding to last Android application termination; randomly selecting more than one piece of virtual time data corresponding to the real world time;
step 1022, calculating the key M by the following formula:
Figure BDA0004045630110000051
wherein time is 0 World time data corresponding to real world time representing termination of Aandroid application s n Marking information, time representing virtual time module corresponding to nth virtual time data n Representing the nth virtual time data.
Step 1023, encrypting the core code by a symmetric encryption algorithm.
The invention has the beneficial effects that:
according to the method, when the Android application is downloaded, the core code of the Android application is encrypted and shelled and reinforced by the dynamic generated key, so that unshelling and cracking caused by encryption key leakage are avoided;
according to the method and the system for verifying the Android application, the Android application running on the client is verified through the exchange of the key association time information and the hardware information between the server and the client, communication between the cracked Android application and the server is prevented, and bad results of Android application cracking are reduced.
Drawings
Fig. 1 is a schematic diagram of a module of an androida pp reinforcement system of the present invention;
FIG. 2 is a block diagram of a first encryption module of the present invention;
FIG. 3 is a block diagram of a client of the present invention;
FIG. 4 is a block diagram of a second encryption module of the present invention;
fig. 5 is a second schematic block diagram of an androida pp reinforcement system of the present invention;
fig. 6 is a flow chart of an androida pp reinforcement method of the present invention;
FIG. 7 is a flow chart of encrypting core code in accordance with the present invention.
In the figure: the system comprises a server 100, a client 200, a core code extraction module 101, a first encryption module 102, a hardware information recording unit 103, a hardware information detection unit 104, a first world time module 1021, a first virtual time module 1022, a first key generation unit 1023, a first encryption execution module 1024, a second world time module 201, a second virtual time module 202, an encryption starting module 203, a second encryption module 204, a key information acquisition unit 2041, a second key generation unit 2042, a second encryption execution unit 2043 and a reconstruction module 2044.
Detailed Description
The subject matter described herein will now be discussed with reference to example embodiments. It is to be understood that these embodiments are merely discussed so that those skilled in the art may better understand and implement the subject matter described herein and that changes may be made in the function and arrangement of the elements discussed without departing from the scope of the disclosure herein. Various examples may omit, replace, or add various procedures or components as desired. In addition, features described with respect to some examples may be combined in other examples as well.
Example 1
As shown in fig. 1 to 5, the present embodiment provides an androida pp reinforcement system, including:
server 100 and client 200, wherein server 100 comprises:
and the core code extraction module 101 is used for extracting the original source code of the Android application to obtain core code.
A first encryption module 102 for encrypting a core code, the first encryption module 102 comprising: a first world time module 1021, a first virtual time module 1022, a first key generation unit 1023, and a first encryption execution module 1024, wherein the first world time module 1021 is configured to periodically generate world time data; the world time data represents real world time.
The time of the first world time module 1021 is a predetermined time of a certain longitude.
As an example of the world time data, the world time data corresponding to 1000 ms of world time of 2022, 12 months, 12 days, 13 minutes, 32 seconds is 202212121312321000.
The first virtual time module 1022 is configured to periodically generate virtual time data; the virtual time data does not represent real world time and is greatly different from real world time, for example, the first virtual time generation virtual time data represents virtual time of 08 minutes 36 seconds 0600 milliseconds at 12 months 03 days 1998, and real world time of 2022, 12 months 12 days 13, 12 minutes 32 seconds 0700 milliseconds;
a first key generation unit 1023 that selects world time data corresponding to real world time and one or more virtual time data, and then generates a key based on the selected world time data and virtual time data;
when the client 200 downloads the Android application, the server 100 records the download time as the real world time corresponding to the initial Android application termination, generates a first key based on the download time, encrypts the core code of the downloaded Android application through the first key, and then generates the Android application and sends the Android application to the client 200.
A first encryption execution module 1024 that encrypts the core code based on the first key;
since the encryption is performed using substantially the same key at the server 100 and the client 200, the first encryption performing module 1024 uses a symmetric encryption algorithm.
The client 200 includes:
a second world time module 201 for periodically generating world time data, the real world time of which generates the world time data is synchronized with the real world time of which the first world time module 1021 generates the world time data.
That is, the real world time corresponding to the world time data of the first world time module 1021 corresponds to the real world time of the same longitude.
A second virtual time module 202 for periodically generating virtual time data;
the number of second virtual time modules 202 is the same as the number of first virtual time modules 1022, and for any one second virtual time module 202, there is only one virtual time synchronization with which the first virtual time module 1022 generates virtual time data, and the first virtual time module 1022 and the second virtual time module 202 have the same tag information, which may be ordinal data.
The encryption starting module 203 is configured to detect whether the execution of the Android application is terminated, and start the second encryption module 204 to encrypt the core code of the Android application after the execution of the Android application is terminated;
the second encryption module 204 includes a key information obtaining unit 2041, a second key generating unit 2042, and a second encryption executing unit 2043, wherein the key information obtaining unit 2041 is configured to send a request to the server 100, send real world time corresponding to termination of the Android application to the server 100, extract corresponding world time data and virtual time data based on the real world time by the server 100, and the first key generating module of the server 100 generates a second key based on the extracted world time data and virtual time data;
then, the server 100 transmits the tag information of the first virtual time module 1022 corresponding to the virtual time data to the client 200;
the second key generation unit 2042 selects a second virtual time module 202, which needs to extract virtual time data, from the received tag information of the first virtual time module 1022 provided by the server 100, and then extracts corresponding virtual time data from the second virtual time module 202 based on real world time corresponding to the termination of the Android application transmitted to the server 100;
finally, the corresponding real world time and the extracted virtual time data are terminated through the Android application to generate a third secret key;
a second encryption performing unit 2043 for re-encrypting the core code by the third key; deleting the third secret key after encryption is finished;
and a reconstruction module 2044 for modifying the Android application with the re-encrypted core code, and then repackaging and signing the Android application.
When the Android application is started next time, the client 200 firstly sends a starting request to the server 100, the starting request comprises real world time corresponding to the last time of the Android application termination, the server 100 extracts the mark information of a corresponding first virtual time module 1022 corresponding to virtual time data (generated by the first virtual time module 1022) of a corresponding real world time generating a second key, generates a third key based on the real world time corresponding to the last time of the Android application termination and the mark information of the first virtual time module 1022, and then sends the third key to the client 200 running the loaded Android application, and the shell program decrypts the core code based on the received third key;
in one embodiment of the present invention, the server 100 further includes a hardware information recording unit 103 and a hardware information detecting unit 104, and the client 200 simultaneously transmits the hardware information of the client 200 when the client 200 transmits the encryption request to the server 100, and the server 100 records the hardware information;
the client 200 sends the hardware information to the server 100, which needs to be synchronously sent when the start request is sent, and the hardware information detection unit 104 is used for detecting whether the hardware information corresponds to the real world time corresponding to the termination of the corresponding Android application; if not, communication between the client 200 and the server 100 is prohibited.
Further, data communication with respect to Android applications may be limited only.
Further, the hardware information recording unit 103 generates a data pair with real world time corresponding to the termination of the Android application from the hardware information, and updates the data pair when the encryption request is received next time.
Even if the kernel code is obtained by dynamic debugging based on the memory data to crack the Android application, when the cracked Android application is used, communication of the server 100 cannot be obtained due to the fact that the cracked Android application cannot be matched with the data pair of the server 100, so that the Android application cannot be used in communication. The attack server 100 is very difficult to acquire the data of the server 100, so that the adverse effect of cracking the Android application is further avoided.
In one embodiment of the present invention, there is provided a method of generating keys by the first key generation unit 1023 and the second key generation unit 2042, including:
extracting real world time corresponding to the termination of the Aandroid application, and randomly selecting more than one corresponding virtual time data;
the key M is calculated by the following formula:
Figure BDA0004045630110000101
wherein time is 0 World time data corresponding to real world time representing termination of Aandroid application s n The flag information indicating the first virtual time module 1022 or the second virtual time module 202 corresponding to the nth virtual time data (s when the first key generation unit 1023 calculates the key n The first virtual time module 1022 corresponding to the nth virtual time data is represented, and s is calculated by the second key generating unit 2042 n A second virtual time module 202 representing an nth virtual time data), time n Representing nth virtual time data;
corresponding to the above formula, the marking information should be ordinal information, for example, 1.
As shown in fig. 6 and 7, the present embodiment provides an androida pp reinforcement method, and the following steps are executed by the above-mentioned androida pp reinforcement system:
step 101, extracting an original source code of an Android application to obtain a core code;
in one embodiment of the invention, the original source code of the Android application is stored in a dex file format.
In general, when the original source code is extracted, a class. Dex file and an android management. Xml file in the original apk file are extracted together to serve as core codes.
Step 102, encrypting the core code, wherein the encryption method comprises the following steps:
step 1021, extracting real world time corresponding to last Android application termination; randomly selecting more than one piece of virtual time data corresponding to the real world time;
step 1022, calculating the key M by the following formula:
Figure BDA0004045630110000111
wherein time is 0 World time data corresponding to real world time representing termination of Aandroid application s n The flag information indicating the first virtual time module 1022 or the second virtual time module 202 corresponding to the nth virtual time data (s when the first key generation unit 1023 calculates the key n The first virtual time module 1022 corresponding to the nth virtual time data is represented, and s is calculated by the second key generating unit 2042 n A second virtual time module 202 representing an nth virtual time data), time n Representing the nth virtual time data.
Step 1023, encrypting the core code by a symmetric encryption algorithm.
Step 103, generating a shell program;
the shell program is mainly used for decrypting the encrypted dex file, loading the decrypted original dex file and normally starting the source program.
Step 104, generating an execution program by the shell program and the encryption program together, and replacing the execution program of the original Android application with the execution program;
and synthesizing the shell program and the encrypted core code into a new class. Dex file, then replacing the class. Dex file of the original Android application, wherein when the Android application operates, the Proxyapplication class in the shell program is loaded at first, so that the Android Manifest. Xml file needs to be modified, and the application is designated as Proxyapplication, so that the Proxyapplication class can be identified and the shell program can be normally found and operated.
Step 105, packaging the modified Android application;
and 106, signing the packaged Android application to generate a new Android application.
The embodiment has been described above with reference to the embodiment, but the embodiment is not limited to the above-described specific implementation, which is only illustrative and not restrictive, and many forms can be made by those of ordinary skill in the art, given the benefit of this disclosure, are within the scope of this embodiment.

Claims (10)

1. An androida pp reinforcement system, comprising:
a server and a client in communication with each other, wherein the server comprises:
the core code extraction module is used for extracting an original source code of the Android application to obtain a core code;
a first encryption module for encrypting the core code, the first encryption module comprising: a first world time module, a first virtual time module, a first key generation unit and a first encryption execution module, wherein the first world time module is used for periodically generating world time data; the world time data represents real world time; the first virtual time module is used for periodically generating virtual time data; the virtual time data is inconsistent with real world time; a first key generation unit that selects world time data corresponding to real world time and one or more virtual time data, and then generates a key based on the selected world time data and virtual time data;
when the client downloads the Android application, the server records the downloading time as the real world time corresponding to the initial Android application termination, generates a first key based on the downloading time, encrypts the core code of the downloaded Android application through the first key, and then generates the Android application and sends the Android application to the client;
a first encryption execution module that encrypts the core code based on the first key;
the client comprises:
a second world time module for periodically generating world time data, real world time of which the world time data is generated being synchronized with real world time of the world time data generated by the first world time module;
the second virtual time module is used for periodically generating virtual time data;
the encryption starting module is used for detecting whether the execution of the Android application is terminated, and starting the second encryption module to encrypt the core code of the Android application after the execution of the Android application is terminated;
the second encryption module comprises a key information acquisition unit, a second key generation unit and a second encryption execution unit, wherein the key information acquisition unit is used for sending a request to the server, sending real world time corresponding to the termination of the Android application to the server, the server extracting corresponding world time data and virtual time data based on the real world time, and the first key generation module of the server generating a second key based on the extracted world time data and virtual time data;
then, the server sends the mark information of the first virtual time module corresponding to the virtual time data to the client;
the second key generation unit is used for selecting a second virtual time module needing to extract virtual time data through the received marking information of the first virtual time module provided by the server, and then extracting corresponding virtual time data from the second virtual time module based on real world time corresponding to the termination of the Android application sent to the server;
finally, the corresponding real world time and the extracted virtual time data are terminated through the Android application to generate a third secret key;
a second encryption execution unit for re-encrypting the core code by a third key; deleting the third secret key after encryption is finished;
the reconstruction module is used for modifying the Android application by the re-encrypted core code, and then repackaging and signing the Android application;
when the Android application is started next time, the client firstly sends a starting request to the server, the starting request comprises real world time corresponding to the last time of the Android application termination, the server extracts mark information of a first virtual time module corresponding to virtual time data of a second key generated by the corresponding real world time, a third key is generated based on the real world time corresponding to the last time of the Android application termination and the mark information of the first virtual time module, then the third key is sent to the client running the loaded Android application, and the shell program decrypts the core code based on the received third key.
2. The androida pp reinforcement system of claim 1 wherein the time of the first world time module is a predetermined time of a certain longitude.
3. The android app hardened system of claim 1 wherein the first encryption execution module employs a symmetric encryption algorithm.
4. The androida pp reinforcement system of claim 1, wherein the number of second virtual time modules is the same as the number of first virtual time modules, and for any one second virtual time module, there is only one first virtual time module synchronized with the virtual time it generates the virtual time data, and the first virtual time module and the second virtual time module have the same tag information.
5. The androida pp reinforcement system of claim 4, wherein the marker information is ordinal data.
6. The android app-reinforcing system of claim 1, wherein the server further comprises a hardware information recording unit and a hardware information detecting unit, the client simultaneously transmits the hardware information of the client when transmitting the encryption request to the server, and the server records the hardware information;
the method comprises the steps that when a client sends a starting request to a server, hardware information is required to be synchronously sent, and a hardware information detection unit is used for detecting whether the hardware information corresponds to real world time corresponding to termination of a corresponding Android application; and if the client does not correspond to the server, prohibiting the communication between the client and the server.
7. The Android app-enhanced system of claim 6 wherein the hardware information recording unit generates the data pair with the hardware information corresponding to the real world time for which the Android application terminated, and updates the data pair the next time the encryption request is received.
8. The androida pp reinforcement system of claim 1, wherein the method of generating the keys by the first key generation unit and the second key generation unit comprises:
extracting real world time corresponding to the termination of the Aandroid application, and randomly selecting more than one corresponding virtual time data;
the key M is calculated by the following formula:
Figure FDA0004045630100000031
wherein time is 0 World time data corresponding to real world time representing termination of Aandroid application s n Marking information representing the first virtual time module or the second virtual time module corresponding to the nth virtual time data, time n Representing the nth virtual time data.
9. A method of androida pp reinforcement, characterized in that the following steps are performed by an androida pp reinforcement system according to any of the claims 1-8:
step 101, extracting an original source code of an Android application to obtain a core code;
102, encrypting core codes;
step 103, generating a shell program;
step 104, generating an execution program by the shell program and the encryption program together, and replacing the execution program of the original Android application with the execution program;
step 105, packaging the modified Android application;
and 106, signing the packaged Android application to generate a new Android application.
10. The android app-reinforcing method of claim 9, wherein the method for encrypting the core code comprises the steps of:
step 1021, extracting real world time corresponding to last Android application termination; randomly selecting more than one piece of virtual time data corresponding to the real world time;
step 1022, calculating the key M by the following formula:
Figure FDA0004045630100000041
wherein time is 0 World time data corresponding to real world time representing termination of Aandroid application s n Marking information, time representing virtual time module corresponding to nth virtual time data n Representing nth virtual time data;
step 1023, encrypting the core code by a symmetric encryption algorithm.
CN202310027288.0A 2023-01-09 2023-01-09 AndroidaPP reinforcement method and system Pending CN116070179A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310027288.0A CN116070179A (en) 2023-01-09 2023-01-09 AndroidaPP reinforcement method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310027288.0A CN116070179A (en) 2023-01-09 2023-01-09 AndroidaPP reinforcement method and system

Publications (1)

Publication Number Publication Date
CN116070179A true CN116070179A (en) 2023-05-05

Family

ID=86174397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310027288.0A Pending CN116070179A (en) 2023-01-09 2023-01-09 AndroidaPP reinforcement method and system

Country Status (1)

Country Link
CN (1) CN116070179A (en)

Similar Documents

Publication Publication Date Title
US8478980B2 (en) System and method for defining programmable processing steps applied when protecting the data
CN104680039B (en) A kind of data guard method and device of application program installation kit
US10797868B2 (en) Shared secret establishment
US20060236114A1 (en) Application program verification system, application program verification method and computer program
KR101216995B1 (en) A code encryption and decryption device against reverse engineering based on indexed table and the method thereof
CN111143869B (en) Application package processing method and device, electronic equipment and storage medium
CN102576391A (en) Software license embedded in shell code
CN102236757A (en) Software protection method and system applicable to Android system
CN101305333A (en) Tamper-resistant trusted virtual machine
CN109284585B (en) Script encryption method, script decryption operation method and related device
CN102082784A (en) Method for upgrading software on line
CN108762788B (en) Method and system for encrypting firmware of embedded equipment based on server
KR20150035249A (en) Recording medium storing application package, method and apparatus of creating application package, method and apparatus of executing application package
Almeida et al. A machine-checked proof of security for AWS key management service
CN111859415A (en) Neural network model encryption system and method
CN105468940A (en) Software protection method and apparatus
Gora et al. A flexible design flow for software IP binding in FPGA
US7552092B2 (en) Program distribution method and system
JP2005235076A (en) Computer system, central device, and program execution method
US7779269B2 (en) Technique for preventing illegal invocation of software programs
CN112115430A (en) Apk reinforcement method, electronic equipment and storage medium
CN116070179A (en) AndroidaPP reinforcement method and system
CN112597453A (en) Program code encryption and decryption method and device
CN113221077A (en) Class file encryption method and equipment based on spring container
CN112416407A (en) Software upgrading method, device, equipment and computer readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination