CN107292134A - It is a kind of to prevent Android from applying by the application reinforcement means and system of decompiling - Google Patents
It is a kind of to prevent Android from applying by the application reinforcement means and system of decompiling Download PDFInfo
- Publication number
- CN107292134A CN107292134A CN201710396176.7A CN201710396176A CN107292134A CN 107292134 A CN107292134 A CN 107292134A CN 201710396176 A CN201710396176 A CN 201710396176A CN 107292134 A CN107292134 A CN 107292134A
- Authority
- CN
- China
- Prior art keywords
- file
- solution
- android
- new explanation
- shell side
- 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
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 14
- 230000015654 memory Effects 0.000 claims abstract description 23
- 230000004048 modification Effects 0.000 claims abstract description 3
- 238000012986 modification Methods 0.000 claims abstract description 3
- 230000003014 reinforcing effect Effects 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 12
- 238000007689 inspection Methods 0.000 claims description 8
- 230000006872 improvement Effects 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
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)
Abstract
Prevent Android from applying by the application reinforcement means and system of decompiling the present invention relates to a kind of, belong to and apply field of reinforcement, solve the problem of Android is applied easily by decompiling.The present invention is encrypted to using AES by the source APK file for applying Android and solves hull number evidence, the DEX file of new explanation shell side sequence is obtained after merging with the DEX file of default solution shell side sequence, and the field for representing solution shell data length is added at the DEX file end of new explanation shell side sequence;After the resource distribution file of modification source APK file, the resource distribution file and resource file of new explanation shell side sequence are replaced with the resource distribution file and resource file of source APK file;The solution shell data length of new explanation shelf document is read, according to solution hull number according to length reading solution hull number evidence, solution hull number is obtained according to being stored in internal memory with the decryption of corresponding decipherment algorithm, the solution shell data run Android in dynamic load internal memory is applied.For preventing APP from being got the rights and interests of significant data, protection user and developer by malice decompiling.
Description
Technical field
The present invention relates to applying field of reinforcement, more particularly to a kind of prevent Android is applied from being reinforced by the application of decompiling
Method and system.
Background technology
Android (Android) platforms are quickly grown between entering into market several years, occupy substantial amounts of mobile terminal market,
The most popular operating system of mobile terminal is increasingly becoming, while also quite shying based on software application number therein
People, but therewith and raw safety problem is not settled properly but all the time, security threat is more and more, and threatens journey
Degree is also progressively being deepened.The Android applications of particularly developer's issue can be by other people malice decompilings, so as to get
Important information in APP (english abbreviation of application), so all brings very bad influence to developer or user.
The content of the invention
The technical problems to be solved by the invention are to prevent Android from applying there is provided one kind in view of the shortcomings of the prior art
By the application reinforcement means and system of decompiling, it is therefore intended that prevent APP from getting significant data by malice decompiling, protection makes
User and the rights and interests of developer.
The technical scheme that the present invention solves above-mentioned technical problem is as follows:
It is a kind of to prevent Android from applying by the application reinforcement means of decompiling, comprise the following steps:
S1, the source APK file that Android is applied is encrypted to solution hull number evidence using AES, by obtained solution hull number
The DEX file of new explanation shell side sequence is obtained after merging according to the DEX file with default solution shell side sequence, and in the DEX of new explanation shell side sequence
End of file adds the field for representing solution shell data length;
After S2, the resource distribution file that source APK file is changed according to the DEX file of new explanation shell side sequence, with source APK file
Resource distribution file replaces the resource distribution file of new explanation shell side sequence, and is replaced and new explanation shell with the resource file of source APK file
The corresponding resource file of program;
S3, the DEX file end field for reading new explanation shelf document obtains solution shell data length, according to solution hull number according to length read
Solution hull number evidence is taken, solution hull number is obtained according to being stored in internal memory with decipherment algorithm corresponding with the AES in S1 decryption, it is dynamic
Load the solution shell data run Android applications in internal memory.
The beneficial effects of the invention are as follows:After security hardening is carried out to Android applications, APP can be prevented anti-by malice
Compiling gets the rights and interests of significant data, protection user and developer;And under the premise of valid application is not influenceed easily, energy
Security hardening is carried out to any application, while the security of application is ensure that, so as to ensure android system healthy and stable
Development.
On the basis of above-mentioned technical proposal, the present invention can also do following improvement:
Further, the S1 also includes:The word for representing solution shell data length is added at the DEX file end of new explanation shell side sequence
Duan Hou, changes the File header information of the DEX file of new explanation shell side sequence;The File header information includes:Inspection of document code, uniqueness
Verification algorithm and DEX file dimension information;
The S3 also includes:Verified according to File header information after new explanation shell side sequence DEX file, according to solution hull number according to length read
Take solution hull number evidence.
Beneficial effect using above-mentioned further scheme is:Use the big of solution shell data length field mark solution hull number evidence
Small, the convenient solution shell that carries out obtains correct APK file, while the correctness and uniqueness of file are verified using header file,
It ensure that the data accuracy in reinforcing process and can guarantee that the uniqueness of file, improve security.
Further, the resource distribution file of source APK file is changed described in the S2 according to the DEX file of new explanation shell side sequence
Process be:Change what is configured for authority application and definition according to the DEX file of new explanation shell side sequence
Androidmanifest.xml files.
Beneficial effect using above-mentioned further scheme is:Using global configuration file is to DEX imparting systems authority and determines
Adopted corresponding configuration can flexibly set the authority and configuration required for reinforcing process, be improved on the premise of ensureing to reinforce efficiency
The security of reinforcing process.
Further, the process of the solution shell data run Android applications described in the S3 in dynamic load internal memory is:Make
With DEX file operation Android application of the solution hull number in DexClassLoader Classloader dynamic load internal memories in.
Beneficial effect using above-mentioned further scheme is:Carry out dynamic load DEX file using special Classloader, make
The error probability of the operation of Android applications is small, improves the stability of Android application operations.
Further, AES includes described in the S1:Symmetric encipherment algorithm and rivest, shamir, adelman.
Beneficial effect using above-mentioned further scheme is:The AES for providing various ways can be according to different need
Selection is asked to use, it is ensured that application adds the scope of application while reinforcing purpose.
A kind of to prevent Android from applying by the application hardened system of decompiling, the system includes:
Module is reinforced, the source APK file for Android to be applied is encrypted to using AES solves hull number evidence, will
To solution hull number merge according to the DEX file with default solution shell side sequence after obtain the DEX file of new explanation shell side sequence, and in new explanation shell
The DEX file end of program adds the field for representing solution shell data length;
After configuration module, the resource distribution file for changing source APK file according to the DEX file of new explanation shell side sequence, use
The resource distribution file of source APK file replaces the resource distribution file of new explanation shell side sequence, and is replaced with the resource file of source APK file
Change the resource file corresponding with new explanation shell side sequence;
Module is run, solution shell data length is obtained for reading the DEX file end field of new explanation shelf document, according to solution shell
Data length reads solution hull number evidence, and solution hull number is obtained according to guarantor with decipherment algorithm decryption corresponding with reinforcing the AES in module
Exist in internal memory, the solution shell data run Android applications in dynamic load internal memory.
The beneficial effects of the invention are as follows:After security hardening is carried out to Android applications, APP can be prevented anti-by malice
Compiling gets the rights and interests of significant data, protection user and developer;And under the premise of valid application is not influenceed easily, energy
Security hardening is carried out to any application, while the security of application is ensure that, so as to ensure android system healthy and stable
Development.
On the basis of above-mentioned technical proposal, the present invention can also do following improvement:
Further, the module of reinforcing is additionally operable to add expression solution hull number at the DEX file end of new explanation shell side sequence according to length
After the field of degree, the File header information of the DEX file of new explanation shell side sequence is changed;The File header information includes:Inspection of document code,
Uniqueness verification algorithm and DEX file dimension information;
The operation module is additionally operable to be verified after new explanation shell side sequence DEX file according to File header information, according to solution hull number evidence
Length reads solution hull number evidence.
Beneficial effect using above-mentioned further scheme is:Use the big of solution shell data length field mark solution hull number evidence
Small, the convenient solution shell that carries out obtains correct APK file, while the correctness and uniqueness of file are verified using header file,
It ensure that the data accuracy in reinforcing process and can guarantee that the uniqueness of file, improve security.
Further, the configuration module is additionally operable to change for authority application and determine according to the DEX file of new explanation shell side sequence
The Androidmanifest.xml files of justice configuration.
Beneficial effect using above-mentioned further scheme is:Using global configuration file is to DEX imparting systems authority and determines
Adopted corresponding configuration can flexibly set the authority and configuration required for reinforcing process, be improved on the premise of ensureing to reinforce efficiency
The security of reinforcing process.
Further, the operation module is also used for the solution in DexClassLoader Classloader dynamic load internal memories
DEX file operation Android application of the hull number in.
Beneficial effect using above-mentioned further scheme is:Carry out dynamic load DEX file using special Classloader, make
The error probability of the operation of Android applications is small, improves the stability of Android application operations.
Further, AES includes described in the reinforcing module:Symmetric encipherment algorithm and rivest, shamir, adelman.
Beneficial effect using above-mentioned further scheme is:The AES for providing various ways can be according to different need
Selection is asked to use, it is ensured that application adds the scope of application while reinforcing purpose.
Brief description of the drawings
Fig. 1 prevents Android from applying by the flow of the application reinforcement means of decompiling to be a kind of in the embodiment of the present invention 1
Figure;
Fig. 2 prevents Android from applying by the structural frames of the application hardened system of decompiling to be a kind of in the embodiment of the present invention 2
Figure.
Embodiment
The principle and feature of the present invention are described below in conjunction with accompanying drawing, the given examples are served only to explain the present invention, and
It is non-to be used to limit the scope of the present invention.
Embodiment 1
As described in Figure 1, it is a kind of to prevent Android from applying by the application reinforcement means of decompiling, comprise the following steps:
S1, the source APK file that Android is applied is encrypted to solution hull number evidence using AES, by obtained solution hull number
The DEX file of new explanation shell side sequence is obtained after merging according to the DEX file with default solution shell side sequence, and in the DEX of new explanation shell side sequence
End of file adds the field for representing solution shell data length;
After S2, the resource distribution file that source APK file is changed according to the DEX file of new explanation shell side sequence, with source APK file
Resource distribution file replaces the resource distribution file of new explanation shell side sequence, and is replaced and new explanation shell with the resource file of source APK file
The corresponding resource file of program;
S3, the DEX file end field for reading new explanation shelf document obtains solution shell data length, according to solution hull number according to length read
Solution hull number evidence is taken, solution hull number is obtained according to being stored in internal memory with decipherment algorithm corresponding with the AES in S1 decryption, it is dynamic
Load the solution shell data run Android applications in internal memory.
Specifically, exist because application form that android system is supported is main in APK file form, application it is main
In classes.dex files of the logic realization in APK file, therefore, the protection to classes.dex files is that protection is whole
The key point of APK file safety.Corresponding cipher mode is taken to hide in source program classes.dex files for this present invention
Realize logic, and do not influence the normal operation of program, the transparency for ensureing to reinforce to user.
Android applications in the present invention are carried out after security hardening, can prevent APP from being got by malice decompiling important
The rights and interests of data, protection user and developer;And under the premise of valid application is not influenceed easily, any application can be carried out
Security hardening, while the security of application is ensure that, so as to ensure the development of android system healthy and stable.
Further, the S1 also includes:The word for representing solution shell data length is added at the DEX file end of new explanation shell side sequence
Duan Hou, changes the File header information of the DEX file of new explanation shell side sequence;The File header information includes:Inspection of document code, uniqueness
Verification algorithm and DEX file dimension information;
The S3 also includes:Verified according to File header information after new explanation shell side sequence DEX file, according to solution hull number according to length read
Take solution hull number evidence.
Specifically, the inspection of document code (field name in File header information:Checksum) it is used to check file error;Uniquely
Property verification algorithm (field name:Signature) it is used for the uniqueness for recognizing file;DEX file dimension information (field name:file_
Size the size of DEX file) is represented.
Due to needing that a file (the source APK file after encryption) is written in DEX, it is necessary to change file verification
Code (checksum).Because it is used to check whether file is wrong.Similarly need to change uniqueness verification algorithm (field name:
Signature) and DEX file size (field name:file_size).
Due to, it is necessary to know the size of APK file, could correctly obtain APK file when shelling, it is therefore desirable to
The field for representing solution shell data length is added at the DEX file end of new explanation shell side sequence.
In the improvement, the size of hull number evidence is solved using solution shell data length field mark, the convenient solution shell that carries out is obtained just
True APK file, while verifying the correctness and uniqueness of file using header file, it is ensured that the data in reinforcing process are just
True rate and the uniqueness that can guarantee that file, improve security.
Further, the resource distribution file of source APK file is changed described in the S2 according to the DEX file of new explanation shell side sequence
Process be:Change what is configured for authority application and definition according to the DEX file of new explanation shell side sequence
Androidmanifest.xml files.
Configured specifically, AndroidManifest.xml files are authority application important in android system and definition
File, needs, to the authority that system is pre-defined and application application program operation is required, to be each by it in exploitation
Necessary file in Android program, positioned at the root of whole project, flexibly, safely can be big using the configuration file
It is big to improve efficiency.Need to change this document according to the DEX file of new explanation shell side sequence in the present invention, required for application DEX file
The associated rights and corresponding other configurations for the various services called.
In the improvement, using global configuration file is to DEX imparting systems authority and defines corresponding configuration and can flexibly set
The authority required for reinforcing process and configuration are put, the security of reinforcing process is improved on the premise of ensureing to reinforce efficiency.
Further, the process of the solution shell data run Android applications described in the S3 in dynamic load internal memory is:Make
With DEX file operation Android application of the solution hull number in DexClassLoader Classloader dynamic load internal memories in.
Specifically, for Android application program, although being substantially also to be developed with Java, and using standard
Java compiler compiles out Class files, but included in final APK file be DEX types file.DEX file is
Required all Class files are repacked, the rule of packing is not simple compression, but completely in Class files
Various function tables, the argument table in portion etc. are optimized, and produce a new file, here it is DEX file.Due to DEX file
It is a kind of Class files by optimization, therefore loads so special Class files and be accomplished by special class loaders,
DexClassLoader classes can just be used to load DEX file well.
In the improvement, dynamic load DEX file is carried out using special Classloader, go out the operation that Android is applied
Wrong probability is small, improves the stability of Android application operations.
Further, AES includes described in the S1:Symmetric encipherment algorithm and rivest, shamir, adelman.
Specifically, symmetric encipherment algorithm (being also private key encryption) refers to the AES of encryption and decryption using same key.
Sometimes conventional cipher algorithm is called, is exactly encryption key and decruption key is identical, or keys for encryption/decryption can be from solution
Calculated in close/encryption key, so also referred to as this AES is secret-key algorithm or single key algorithm.
The characteristics of symmetric encipherment algorithm is that algorithm is disclosed, amount of calculation is small, enciphering rate is fast, encryption efficiency is high.
Rivest, shamir, adelman (asymmetric cryptographic algorithm) also known as " public key encryption calculation
Method ".Rivest, shamir, adelman needs two keys:Public-key cryptography (publickey) and private cipher key (privatekey).It is open
Key and private cipher key are a pair, if data are encrypted with public-key cryptography, could only be solved with corresponding private cipher key
It is close;If be encrypted with private cipher key pair data, then could only be decrypted with corresponding public-key cryptography.Because encryption is conciliate
It is close to use two different keys, so this algorithm is called rivest, shamir, adelman.Rivest, shamir, adelman realizes machine
Confidential information exchange basic process be:Party A generates a pair of secret keys and using therein one public as Public key to other sides
Open;Obtain the Public key Party B confidential information is encrypted using the key after be then forwarded to Party A;Party A uses certainly again
Oneself the another of preservation is decrypted private key to the information after encryption.On the other hand, Party A can use the secret of oneself
Key is then forwarded to Party B after confidential information is encrypted;The information after encryption is decrypted with the public key of Party A again by Party B.
The characteristics of asymmetric cryptosystem:Algorithm intensity is complicated, security is dependent on algorithm and key but is due to its calculation
Method is complicated, and make it that the speed that encrypting and decrypting speed does not have symmetric cryptography to decrypt is fast.There was only a kind of key in DSE arithmetic,
And it is private, if decrypting must allow other side to know key.So ensureing that its security is ensuring that the peace of key
Entirely, and Asymmetric encryption has two kinds of keys, one of them be it is disclosed, thus can need not be as symmetric cryptography
Transmit the key of other side.So security is just big a lot.
It can be used in the improvement there is provided the AES of various ways according to different demand selections, it is ensured that application adds
Gu the scope of application is added while purpose.
Embodiment 2
As shown in Fig. 2 a kind of prevent Android from applying by the application hardened system of decompiling, the system includes:
Module is reinforced, the source APK file for Android to be applied is encrypted to using AES solves hull number evidence, will
To solution hull number merge according to the DEX file with default solution shell side sequence after obtain the DEX file of new explanation shell side sequence, and in new explanation shell
The DEX file end of program adds the field for representing solution shell data length;
After configuration module, the resource distribution file for changing source APK file according to the DEX file of new explanation shell side sequence, use
The resource distribution file of source APK file replaces the resource distribution file of new explanation shell side sequence, and is replaced with the resource file of source APK file
Change the resource file corresponding with new explanation shell side sequence;
Module is run, solution shell data length is obtained for reading the DEX file end field of new explanation shelf document, according to solution shell
Data length reads solution hull number evidence, and solution hull number is obtained according to guarantor with decipherment algorithm decryption corresponding with reinforcing the AES in module
Exist in internal memory, the solution shell data run Android applications in dynamic load internal memory.
Specifically, exist because application form that android system is supported is main in APK file form, application it is main
In classes.dex files of the logic realization in APK file, therefore, the protection to classes.dex files is that protection is whole
The key point of APK file safety.Corresponding cipher mode is taken to hide in source program classes.dex files for this present invention
Realize logic, and do not influence the normal operation of program, the transparency for ensureing to reinforce to user.
Android applications in the present invention are carried out after security hardening, can prevent APP from being got by malice decompiling important
The rights and interests of data, protection user and developer;And under the premise of valid application is not influenceed easily, any application can be carried out
Security hardening, while the security of application is ensure that, so as to ensure the development of android system healthy and stable.
Further, the module of reinforcing is additionally operable to add expression solution hull number at the DEX file end of new explanation shell side sequence according to length
After the field of degree, the File header information of the DEX file of new explanation shell side sequence is changed;The File header information includes:Inspection of document code,
Uniqueness verification algorithm and DEX file dimension information;
The operation module is additionally operable to be verified after new explanation shell side sequence DEX file according to File header information, according to solution hull number evidence
Length reads solution hull number evidence.
Specifically, the inspection of document code (field name in File header information:Checksum) it is used to check file error;Uniquely
Property verification algorithm (field name:Signature) it is used for the uniqueness for recognizing file;DEX file dimension information (field name:file_
Size the size of DEX file) is represented.
Due to needing that a file (the source APK file after encryption) is written in DEX, it is necessary to change file verification
Code (checksum).Because it is used to check whether file is wrong.Similarly need to change uniqueness verification algorithm (field name:
Signature) and DEX file size (field name:file_size).
Due to, it is necessary to know the size of APK file, could correctly obtain APK file when shelling, it is therefore desirable to
The field for representing solution shell data length is added at the DEX file end of new explanation shell side sequence.
In the improvement, the size of hull number evidence is solved using solution shell data length field mark, the convenient solution shell that carries out is obtained just
True APK file, while verifying the correctness and uniqueness of file using header file, it is ensured that the data in reinforcing process are just
True rate and the uniqueness that can guarantee that file, improve security.
Further, the configuration module is additionally operable to change for authority application and determine according to the DEX file of new explanation shell side sequence
The Androidmanifest.xml files of justice configuration.
Configured specifically, AndroidManifest.xml files are authority application important in android system and definition
File, needs, to the authority that system is pre-defined and application application program operation is required, to be each by it in exploitation
Necessary file in Android program, positioned at the root of whole project, flexibly, safely can be big using the configuration file
It is big to improve efficiency.Need to change this document according to the DEX file of new explanation shell side sequence in the present invention, required for application DEX file
The associated rights and corresponding other configurations for the various services called.
In the improvement, using global configuration file is to DEX imparting systems authority and defines corresponding configuration and can flexibly set
The authority required for reinforcing process and configuration are put, the security of reinforcing process is improved on the premise of ensureing to reinforce efficiency.
Further, the operation module is also used for DexClassLoader Classloader loader dynamic load internal memories
In solution hull number according in DEX file operation Android application.
Specifically, for Android application program, although being substantially also to be developed with Java, and using standard
Java compiler compiles out Class files, but included in final APK file be DEX types file.DEX file is
Required all Class files are repacked, the rule of packing is not simple compression, but completely in Class files
Various function tables, the argument table in portion etc. are optimized, and produce a new file, here it is DEX file.Due to DEX file
It is a kind of Class files by optimization, therefore loads so special Class files and be accomplished by special class loaders,
DexClassLoader classes can just be used to load DEX file well.
In the improvement, dynamic load DEX file is carried out using special Classloader, go out the operation that Android is applied
Wrong probability is small, improves the stability of Android application operations.
Further, AES includes described in the reinforcing module:Symmetric encipherment algorithm and rivest, shamir, adelman.
Specifically, symmetric encipherment algorithm (being also private key encryption) refers to the AES of encryption and decryption using same key.
Sometimes conventional cipher algorithm is called, is exactly encryption key and decruption key is identical, or keys for encryption/decryption can be from solution
Calculated in close/encryption key, so also referred to as this AES is secret-key algorithm or single key algorithm.
The characteristics of symmetric encipherment algorithm is that algorithm is disclosed, amount of calculation is small, enciphering rate is fast, encryption efficiency is high.
Rivest, shamir, adelman (asymmetric cryptographic algorithm) also known as " public key encryption calculation
Method ".Rivest, shamir, adelman needs two keys:Public-key cryptography (publickey) and private cipher key (privatekey).It is open
Key and private cipher key are a pair, if data are encrypted with public-key cryptography, could only be solved with corresponding private cipher key
It is close;If be encrypted with private cipher key pair data, then could only be decrypted with corresponding public-key cryptography.Because encryption is conciliate
It is close to use two different keys, so this algorithm is called rivest, shamir, adelman.Rivest, shamir, adelman realizes machine
Confidential information exchange basic process be:Party A generates a pair of secret keys and using therein one public as Public key to other sides
Open;Obtain the Public key Party B confidential information is encrypted using the key after be then forwarded to Party A;Party A uses certainly again
Oneself the another of preservation is decrypted private key to the information after encryption.On the other hand, Party A can use the secret of oneself
Key is then forwarded to Party B after confidential information is encrypted;The information after encryption is decrypted with the public key of Party A again by Party B.
The characteristics of asymmetric cryptosystem:Algorithm intensity is complicated, security is dependent on algorithm and key but is due to its calculation
Method is complicated, and make it that the speed that encrypting and decrypting speed does not have symmetric cryptography to decrypt is fast.There was only a kind of key in DSE arithmetic,
And it is private, if decrypting must allow other side to know key.So ensureing that its security is ensuring that the peace of key
Entirely, and Asymmetric encryption has two kinds of keys, one of them be it is disclosed, thus can need not be as symmetric cryptography
Transmit the key of other side.So security is just big a lot.
It can be used in the improvement there is provided the AES of various ways according to different demand selections, it is ensured that application adds
Gu the scope of application is added while purpose.
The foregoing is only presently preferred embodiments of the present invention, be not intended to limit the invention, it is all the present invention spirit and
Within principle, any modification, equivalent substitution and improvements made etc. should be included in the scope of the protection.
Claims (10)
1. a kind of prevent Android from applying by the application reinforcement means of decompiling, it is characterised in that comprises the following steps:
S1, the source APK file that Android is applied using AES be encrypted to solution hull number evidence, by obtained solution hull number according to
The DEX file of default solution shell side sequence obtains the DEX file of new explanation shell side sequence after merging, and in the DEX file of new explanation shell side sequence
End adds the field for representing solution shell data length;
After S2, the resource distribution file that source APK file is changed according to the DEX file of new explanation shell side sequence, with the resource of source APK file
Configuration file replaces the resource distribution file of new explanation shell side sequence, and is replaced and new explanation shell side sequence with the resource file of source APK file
Corresponding resource file;
S3, the DEX file end field for reading new explanation shelf document obtains solution shell data length, is read and solved according to length according to solution hull number
Hull number evidence, obtains solution hull number evidence with decipherment algorithm corresponding with the AES in S1 decryption and is stored in internal memory, dynamic load
Solution shell data run Android applications in internal memory.
2. as claimed in claim 1 prevent Android from applying by the application reinforcement means of decompiling, it is characterised in that described
S1 also includes:Added at the DEX file end of new explanation shell side sequence after the field for representing solution shell data length, change new explanation shell side sequence
DEX file File header information;The File header information includes:Inspection of document code, uniqueness verification algorithm and DEX file chi
Very little information;
The S3 also includes:Verified according to File header information after new explanation shell side sequence DEX file, read and solved according to length according to solution hull number
Hull number evidence.
3. as claimed in claim 1 prevent Android from applying by the application reinforcement means of decompiling, it is characterised in that described
It is according to the process of the resource distribution file of the DEX file of new explanation shell side sequence modification source APK file described in S2:According to new explanation shell
The DEX file of program changes the Androidmanifest.xml files for authority application and definition configuration.
4. as claimed in claim 1 prevent Android from applying by the application reinforcement means of decompiling, it is characterised in that described
In dynamic load internal memory described in S3 solution shell data run Android application process be:Use DexClassLoader classes
DEX file operation Android application of the solution hull number in loader dynamic load internal memory.
5. prevent Android from applying by the application reinforcement means of decompiling, its feature as described in any one of Claims 1-4
It is, AES includes described in the S1:Symmetric encipherment algorithm and rivest, shamir, adelman.
6. a kind of prevent Android from applying by the application hardened system of decompiling, it is characterised in that the system includes:
Module is reinforced, the source APK file for Android to be applied is encrypted to using AES solves hull number evidence, by what is obtained
Solution hull number obtains the DEX file of new explanation shell side sequence after merging according to the DEX file with default solution shell side sequence, and in new explanation shell side sequence
DEX file end add represent solution shell data length field;
After configuration module, the resource distribution file for changing source APK file according to the DEX file of new explanation shell side sequence, source APK is used
The resource distribution file of file replaces the resource distribution file of new explanation shell side sequence, and replaced with the resource file of source APK file and
The corresponding resource file of new explanation shell side sequence;
Module is run, solution shell data length is obtained for reading the DEX file end field of new explanation shelf document, according to solution hull number evidence
Length reading solution hull number evidence, obtains solution hull number evidence with decipherment algorithm decryption corresponding with reinforcing the AES in module and is stored in
In internal memory, the solution shell data run Android applications in dynamic load internal memory.
7. as claimed in claim 6 prevent Android from applying by the application hardened system of decompiling, it is characterised in that described
Reinforce module to be additionally operable to add after the field for representing solution shell data length at the DEX file end of new explanation shell side sequence, change new explanation
The File header information of the DEX file of shell side sequence;The File header information includes:Inspection of document code, uniqueness verification algorithm and DEX
Document size information;
The operation module is additionally operable to be verified after new explanation shell side sequence DEX file according to File header information, according to solution shell data length
Read solution hull number evidence.
8. as claimed in claim 6 prevent Android from applying by the application hardened system of decompiling, it is characterised in that described
Configuration module is additionally operable to change what is configured for authority application and definition according to the DEX file of new explanation shell side sequence
Androidmanifest.xml files.
9. as claimed in claim 6 prevent Android from applying by the application hardened system of decompiling, it is characterised in that described
Operation module is also used for DEX file fortune of the solution hull number in DexClassLoader Classloader dynamic load internal memories
Row Android is applied.
10. prevent Android from applying by the application hardened system of decompiling, its feature as described in any one of claim 6 to 9
It is, AES includes described in the reinforcing module:Symmetric encipherment algorithm and rivest, shamir, adelman.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710396176.7A CN107292134A (en) | 2017-05-27 | 2017-05-27 | It is a kind of to prevent Android from applying by the application reinforcement means and system of decompiling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710396176.7A CN107292134A (en) | 2017-05-27 | 2017-05-27 | It is a kind of to prevent Android from applying by the application reinforcement means and system of decompiling |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107292134A true CN107292134A (en) | 2017-10-24 |
Family
ID=60095016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710396176.7A Pending CN107292134A (en) | 2017-05-27 | 2017-05-27 | It is a kind of to prevent Android from applying by the application reinforcement means and system of decompiling |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107292134A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107957954A (en) * | 2017-12-19 | 2018-04-24 | 郑州云海信息技术有限公司 | The method and system of test data security is improved under a kind of linux system |
CN108011879A (en) * | 2017-11-30 | 2018-05-08 | 广州酷狗计算机科技有限公司 | File encryption, method, apparatus, equipment and the storage medium of decryption |
CN112084469A (en) * | 2020-08-06 | 2020-12-15 | 华帝股份有限公司 | Encryption method for preventing application program from being reverse engineered |
CN112799687A (en) * | 2021-01-18 | 2021-05-14 | 网易(杭州)网络有限公司 | Data processing method and device, storage medium and computer equipment |
CN112823336A (en) * | 2018-11-21 | 2021-05-18 | 深圳市欢太科技有限公司 | Data processing method, data processing device, electronic equipment and storage medium |
CN112818359B (en) * | 2020-12-31 | 2022-06-03 | 北京深思数盾科技股份有限公司 | File protection method and device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111832A (en) * | 2014-07-03 | 2014-10-22 | 北京思特奇信息技术股份有限公司 | Android application program installation package packing method and system and unpacking method |
CN104317625A (en) * | 2014-11-09 | 2015-01-28 | 刘鹏 | Dynamic loading method for APK files |
CN105718764A (en) * | 2016-01-19 | 2016-06-29 | 北京鼎源科技有限公司 | Android system trap instruction based software reinforcement method |
CN106295257A (en) * | 2015-06-29 | 2017-01-04 | 中兴通讯股份有限公司 | A kind of authentication method being reinforced software and device |
-
2017
- 2017-05-27 CN CN201710396176.7A patent/CN107292134A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111832A (en) * | 2014-07-03 | 2014-10-22 | 北京思特奇信息技术股份有限公司 | Android application program installation package packing method and system and unpacking method |
CN104317625A (en) * | 2014-11-09 | 2015-01-28 | 刘鹏 | Dynamic loading method for APK files |
CN106295257A (en) * | 2015-06-29 | 2017-01-04 | 中兴通讯股份有限公司 | A kind of authentication method being reinforced software and device |
CN105718764A (en) * | 2016-01-19 | 2016-06-29 | 北京鼎源科技有限公司 | Android system trap instruction based software reinforcement method |
Non-Patent Citations (1)
Title |
---|
JACK_JIA: "Android APK加壳技术方案【1】", 《HTTP://BLOG.CSDN.NET/JIAZHUIJUN/ARTICLE/DETAILS8664778》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108011879A (en) * | 2017-11-30 | 2018-05-08 | 广州酷狗计算机科技有限公司 | File encryption, method, apparatus, equipment and the storage medium of decryption |
CN107957954A (en) * | 2017-12-19 | 2018-04-24 | 郑州云海信息技术有限公司 | The method and system of test data security is improved under a kind of linux system |
CN107957954B (en) * | 2017-12-19 | 2021-06-29 | 郑州云海信息技术有限公司 | Method and system for improving test data security in Linux system |
CN112823336A (en) * | 2018-11-21 | 2021-05-18 | 深圳市欢太科技有限公司 | Data processing method, data processing device, electronic equipment and storage medium |
CN112084469A (en) * | 2020-08-06 | 2020-12-15 | 华帝股份有限公司 | Encryption method for preventing application program from being reverse engineered |
CN112818359B (en) * | 2020-12-31 | 2022-06-03 | 北京深思数盾科技股份有限公司 | File protection method and device |
CN112799687A (en) * | 2021-01-18 | 2021-05-14 | 网易(杭州)网络有限公司 | Data processing method and device, storage medium and computer equipment |
CN112799687B (en) * | 2021-01-18 | 2022-05-17 | 网易(杭州)网络有限公司 | Data processing method and device, storage medium and computer equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107292134A (en) | It is a kind of to prevent Android from applying by the application reinforcement means and system of decompiling | |
US8559631B1 (en) | Systems and methods for efficient decryption of attribute-based encryption | |
US11184164B2 (en) | Secure crypto system attributes | |
CN110287654B (en) | Media client device authentication using hardware trust root | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
JP6880017B2 (en) | Systems and processes for running private programs on untrusted computers | |
CN101996154B (en) | General processor supporting reconfigurable safety design | |
Alsaidi et al. | Compression multi-level crypto stego security of texts utilizing colored email forwarding | |
Wesemeyer et al. | Formal analysis and implementation of a tpm 2.0-based direct anonymous attestation scheme | |
CN108694122B (en) | Method for symbol execution of restricted devices | |
Unterluggauer et al. | MEAS: Memory encryption and authentication secure against side-channel attacks | |
Kehret et al. | Integration of hardware security modules into a deeply embedded TLS stack | |
KR20130093557A (en) | System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction | |
US11748521B2 (en) | Privacy-enhanced computation via sequestered encryption | |
Gimenez-Aguilar et al. | Zephyrus: an information hiding mechanism leveraging Ethereum data fields | |
US10469245B2 (en) | Cryptographic system and method | |
CN114430321B (en) | DFA self-adaptive security-based black box traceable key attribute encryption method and device | |
KR20140071775A (en) | Cryptography key management system and method thereof | |
Akter et al. | RSA and AES based hybrid encryption technique for enhancing data security in cloud computing | |
Díaz et al. | Secure data access in Hadoop using elliptic curve cryptography | |
Vanspauwen et al. | Verifying cryptographic protocol implementations that use industrial cryptographic APIs | |
Lavanya et al. | Secured two factor authentication, graph based replication and encryption strategy in cloud computing | |
CN114142994B (en) | Kernel module parameter safety transfer method | |
Raj et al. | Performance Analysis of Hybrid Cryptographic Algorithms in Serverless Platforms | |
Vanspauwen et al. | Verifying Cryptographic Protocols: Applying the symbolic model to cryptographic APIs for C |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171024 |
|
RJ01 | Rejection of invention patent application after publication |