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 PDF

Info

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
Application number
CN201710396176.7A
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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201710396176.7A priority Critical patent/CN107292134A/en
Publication of CN107292134A publication Critical patent/CN107292134A/en
Pending legal-status Critical Current

Links

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

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

It is a kind of to prevent Android from applying by the application reinforcement means and system of decompiling
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.
CN201710396176.7A 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 Pending CN107292134A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
JACK_JIA: "Android APK加壳技术方案【1】", 《HTTP://BLOG.CSDN.NET/JIAZHUIJUN/ARTICLE/DETAILS8664778》 *

Cited By (8)

* Cited by examiner, † Cited by third party
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