CN104462959A - Reinforcement protection method, sever and system for android app - Google Patents

Reinforcement protection method, sever and system for android app Download PDF

Info

Publication number
CN104462959A
CN104462959A CN201410734372.7A CN201410734372A CN104462959A CN 104462959 A CN104462959 A CN 104462959A CN 201410734372 A CN201410734372 A CN 201410734372A CN 104462959 A CN104462959 A CN 104462959A
Authority
CN
China
Prior art keywords
apk
encryption
shielded
decompiling
strategy
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.)
Granted
Application number
CN201410734372.7A
Other languages
Chinese (zh)
Other versions
CN104462959B (en
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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410734372.7A priority Critical patent/CN104462959B/en
Publication of CN104462959A publication Critical patent/CN104462959A/en
Application granted granted Critical
Publication of CN104462959B publication Critical patent/CN104462959B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

The invention discloses a reinforcement protection method, sever and system for android app. The method comprises the following steps: obtaining an initial android package APK of the android app; decompiling the initial APK, extracting protected method codes from the initial APK, and filling an extraction position with nop; encrypting the extracted protected method codes according to an appointed encryption and decryption strategy to generate a reinforcement configuration file; adding the appointed encryption and decryption strategy, the reinforcement configuration file and a reinforcement protection program into the decompiled APK, and compiling to generate a reinforcement APK of the android app. According to the technical scheme provided by the invention, protected methods can be dynamically encrypted and decrypted, and complete dex mapping does not exist in a memory at any moment, so that a complete dex file is prevented from being obtained in a memory dump manner and the probability of repacking and redistribution of the android app due to reverse analysis is greatly reduced.

Description

Method for reinforcing and protecting, server and system that a kind of Android is applied
Technical field
The present invention relates to data security arts, be specifically related to the method for reinforcing and protecting of a kind of Android application, server and system.
Background technology
The fast development of Android system and the rapid growth of equipment, create a large amount of third party applications, compared with other operating systems, the increasing income property of Android system is that application developer provides more functional interface, these functional interfaces while improve the extensibility of system also for Malware is provided convenience, illegal copies, reverse-engineering, decompiling, debug, crack, safety that secondary packing, the means such as internal memory intercepting constantly threaten Android system, not only compromise user, cause serious infringement also to normal use developer.
The Scheme of Strengthening of existing Android software installation kit is mainly divided into three kinds: the first carries out complete encryption to whole dex file; The second does bytecode distortion to dex file when being and running, and prevent the dex that direct Dump is complete, existing mode can not be well self-defined, and the program needs the function doing bytecode distortion; The third is by used in combination for first two scheme.But due to such scheme APK run sometime in there is complete dex reflection in internal memory; shielded dex can be restored by complete by the mode of internal memory Dump; the safety problem causing existing scheme cannot solve Android installation kit all the time completely facing, people are also seeking more effective solution always.
Summary of the invention
In view of the above problems, the present invention is proposed to provide a kind of method for reinforcing and protecting, server and the system that overcome the problems referred to above or a kind of Android application that solves the problem at least in part.。
According to one aspect of the present invention, provide the method for reinforcing and protecting of a kind of Android application, the method comprises:
Obtain the original Android installation kit APK of Android application;
Original APK described in decompiling, therefrom extracts shielded method code, and is filled by extracting position nop;
According to appointment encryption and decryption strategy, the shielded method code extracted is encrypted, generates and reinforce configuration file;
Add in the APK after decompiling by described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program, compiling generates the reinforcing APK of described Android application;
Wherein, described reinforcement protection program performs following operation when the reinforcing APK that described Android is applied is mounted and runs: call situation according to shielded method, dynamic application space, when shielded method is called, according to described encryption and decryption strategy, the shielded method code of acquisition is decrypted to the correlation method reinforced in configuration file; When shielded method call end after, according to described encryption and decryption strategy to deciphering obtain shielded method code re-start encryption.
Alternatively, shielded method code is identified by explaining in described original APK;
Original APK described in described decompiling, therefrom extracts shielded method code and comprises: original APK described in decompiling, explains therefrom extract shielded method code according to method wherein.
Alternatively, described appointment encryption and decryption strategy comprises one or more as follows:
Anti-debug strategy;
Anti-Dump strategy;
Bob-weight packing strategy;
Character string encryption and decryption strategy.
Alternatively, add described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program to APK after decompiling to comprise:
By in the SO file under the lib catalogue of the APK after described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program write decompiling.
Alternatively, described shielded method code be described Android application original APK in dex file in core content.
Alternatively, the original Android installation kit APK of described acquisition Android application comprises: receive the original APK that user is applied by the Android of reinforcement protection client upload;
The method comprises further: provide the interface downloaded and reinforce APK, makes user that described reinforcement protection client can be utilized to be downloaded by described interface and reinforces APK.
Alternatively, the method comprises further:
Receive user by the encryption and decryption policy selection instruction of reinforcement protection client upload, Crypted password and clear crytpographic key, and determine described appointment encryption and decryption strategy with this.
Alternatively, the method comprises further:
Receive the identify label of user by reinforcement protection client upload, and utilize this identify label to sign to described reinforcing APK.
Alternatively, the method comprises further:
Auto-mounting test is carried out to reinforcing APK.
According to another aspect of the present invention, provide the reinforcement protection server of a kind of Android application, this server comprises:
Acquiring unit, is suitable for the original Android installation kit APK obtaining Android application;
Decompiling extraction unit, is suitable for original APK described in decompiling, therefrom extracts shielded method code, and filled by extracting position nop;
Ciphering unit, is suitable for being encrypted the shielded method code extracted according to appointment encryption and decryption strategy, generates and reinforce configuration file;
Add compilation unit, be suitable for described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program to add in the APK after decompiling, compiling generates the reinforcing APK of described Android application;
Wherein, described reinforcement protection program performs following operation when the reinforcing APK that described Android is applied is mounted and runs: call situation according to shielded method, dynamic application space, when shielded method is called, according to described encryption and decryption strategy, the shielded method code of acquisition is decrypted to the correlation method reinforced in configuration file; When shielded method call end after, according to described encryption and decryption strategy to deciphering obtain shielded method code re-start encryption.
Alternatively, shielded method code is identified by explaining in the described original APK that described acquiring unit obtains;
Described decompiling extraction unit, is suitable for original APK described in decompiling, explains therefrom extract shielded method code according to method wherein.
Alternatively, described ciphering unit to be suitable for according to one or more strategies following being encrypted by the method code protecting guarantor of extracting:
Anti-debug strategy;
Anti-Dump strategy;
Bob-weight packing strategy;
Character string encryption and decryption strategy.
Alternatively, described interpolation compilation unit, is suitable in the SO file under the lib catalogue of the APK after by described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program write decompiling.
Alternatively, described decompiling extraction unit, extracts the core content in dex file wherein after being suitable for original APK described in decompiling.
Alternatively, described acquiring unit, is suitable for the original APK that reception user is applied by the Android of reinforcement protection client upload.
Described server comprises further: download unit, and being suitable for provides the interface downloaded and reinforce APK, makes user that described reinforcement protection client can be utilized to be downloaded by this interface and reinforces APK.
Alternatively, described acquiring unit, is further adapted for and receives user by the encryption and decryption policy selection instruction of reinforcement protection client upload, Crypted password and clear crytpographic key, and send to ciphering unit;
Described ciphering unit, is suitable for according to the instruction of described encryption and decryption policy selection, Crypted password and clear crytpographic key, determines described appointment encryption and decryption strategy.
Alternatively, described acquiring unit, is further adapted for and receives the identify label of user by reinforcement protection client upload;
Described server comprises further: signature unit, is suitable for utilizing described identify label to sign to described reinforcing APK.
Alternatively, this server comprises further:
Test cell, is suitable for carrying out Auto-mounting test to reinforcing APK.
There is an aspect according to of the present invention, provide the reinforcement protection system of a kind of Android application, comprising: reinforcement protection client and the reinforcement protection server as above described in any one.
From the above, technical scheme provided by the invention is by encryption and decryption strategy, the reinforcing configuration file obtained after reinforcement protection program and shielded method code are encrypted adds in the APK after decompiling, generate the reinforcing APK of Android application, because reinforcement protection program is dynamically decoded to it when protected method is called, and after protected method call terminates, it is encrypted, achieve the dynamic encryption and decryption to protected method, any time in internal memory is made to there is not complete dex reflection, thus prevent from obtaining complete dex file by the mode of internal memory Dump, thus greatly reduce Android application by conversed analysis, and then beat again the possibility that bag distributes again.
Above-mentioned explanation is only the general introduction of technical solution of the present invention, in order to technological means of the present invention can be better understood, and can be implemented according to the content of instructions, and can become apparent, below especially exemplified by the specific embodiment of the present invention to allow above and other objects of the present invention, feature and advantage.
Accompanying drawing explanation
By reading hereafter detailed description of the preferred embodiment, various other advantage and benefit will become cheer and bright for those of ordinary skill in the art.Accompanying drawing only for illustrating the object of preferred implementation, and does not think limitation of the present invention.And in whole accompanying drawing, represent identical parts by identical reference symbol.In the accompanying drawings:
Fig. 1 shows the process flow diagram of the method for reinforcing and protecting of a kind of according to an embodiment of the invention Android application;
Fig. 2 shows the process flow diagram of the method for reinforcing and protecting of a kind of in accordance with another embodiment of the present invention Android application;
Fig. 3 shows the schematic diagram of the reinforcement protection server of a kind of according to an embodiment of the invention Android application;
Fig. 4 shows the schematic diagram of the reinforcement protection server of a kind of in accordance with another embodiment of the present invention Android application;
Fig. 5 shows the schematic diagram of the reinforcement protection server of a kind of Android application according to another embodiment of the present invention;
Fig. 6 shows the schematic diagram of the reinforcement protection server of a kind of Android application according to another embodiment of the present invention;
Fig. 7 A shows the process flow diagram of the performance history of Android installation kit according to an embodiment of the invention;
Fig. 7 B shows the process flow diagram of the reinforcement protection process of Android installation kit according to an embodiment of the invention;
Fig. 7 C shows the process flow diagram of the operational process of Android installation kit according to an embodiment of the invention.
Embodiment
Below with reference to accompanying drawings exemplary embodiment of the present disclosure is described in more detail.Although show exemplary embodiment of the present disclosure in accompanying drawing, however should be appreciated that can realize the disclosure in a variety of manners and not should limit by the embodiment set forth here.On the contrary, provide these embodiments to be in order to more thoroughly the disclosure can be understood, and complete for the scope of the present disclosure can be conveyed to those skilled in the art.
Fig. 1 shows the process flow diagram of the method for reinforcing and protecting of a kind of according to an embodiment of the invention Android application.As shown in Figure 1, the method comprises:
Step S110, obtains the original Android installation kit APK of Android application.
On Android system, an application can installed, run, need to be packaged into Android installation kit, i.e. APK (Android application package file) file layout, the original Android installation kit APK in this step develops generation by developer.
Step S120, the original APK of decompiling, therefrom extracts shielded method code, and is filled by extracting position nop.
Nop in this step fills and refers to: nop instruction is filled into extracting position place.Be equivalent to, in the original APK after decompiling, first protected method code be plucked out, then fill with nop instruction.
Step S130, is encrypted the shielded method code extracted according to appointment encryption and decryption strategy, generates and reinforce configuration file.
Encryption in this step can be that symmetry adds or asymmetric encryption.Here encryption and decryption strategy comprises encryption policy and corresponding decryption policy.
Step S140, add in the APK after decompiling by appointment encryption and decryption strategy, reinforcing configuration file and reinforcement protection program, compiling generates the reinforcing APK of Android application.
Reinforcement protection program in this step is used for dynamically carrying out encryption and decryption to reinforcing configuration file, reinforcement protection program performs following operation when the reinforcing APK that Android is applied is mounted and runs: call situation according to shielded method, dynamic application space, when shielded method is called, according to encryption and decryption strategy, the shielded method code of acquisition is decrypted to the correlation method reinforced in configuration file; Shielded method code is called to be run; When shielded method call end after, according to encryption and decryption strategy to deciphering obtain shielded method code re-start encryption.
The reinforcing configuration file that method shown in Fig. 1 obtains after being encrypted by shielded method code, encryption and decryption strategy and reinforcement protection program import in APK, generate the reinforcing APK of Android application; Because reinforcement protection program is dynamically decoded to it when shielded method is called; and after shielded method call terminates, it is encrypted; achieve the dynamic encryption and decryption to protected method; any time in internal memory is made to there is not complete dex reflection; thus prevent from obtaining complete dex file by the mode of internal memory Dump; thus greatly reduce Android application by conversed analysis, and then beat again the possibility that bag distributes again.
Generally, due to the developer of Android installation kit APK and provide the Protector of protection service to be not Tongfang for APK, therefore developer is in the process of the original APK of exploitation, can by explaining the method identifying developer and wish to obtain protecting, Protector so according to note from the source code of original APK, extract shielded method code, " note " herein refers to that JAVA provides the annotation by name function of (note) from J2SE5, for by any information or metadata and program element (class, method, member variable etc.) associate, itself can not produce any impact to the execution of source code or class etc.
In one embodiment of the invention, in the method shown in Fig. 1, in the original APK that step S110 gets, identify shielded method code by explaining; Accordingly, the original APK of the decompiling in step S120, therefrom extracting shielded method code can be: the original APK of decompiling, explains therefrom extract shielded method code according to method wherein.
Fig. 7 A shows the process flow diagram of the performance history of Android installation kit according to an embodiment of the invention; in the present embodiment; for developer; the performance history of Android installation kit as shown in Figure 7 A; step S710 to step S750 describes following process: start to develop Android installation kit APK, judges whether a method is shielded method, is then to add shielded method code to explain; otherwise do not add note, generate original Android installation kit APK.Fig. 7 B shows the process flow diagram of the reinforcement protection process of Android installation kit according to an embodiment of the invention, for the Protector providing protection service for APK, the reinforcement protection process of Android installation kit as shown in figure 7b, step S810 to step S870 describes following process: after getting original Android installation kit APK, this original APK of decompiling, select the encryption and decryption strategy of specifying, then the note provided according to developer is encrypted shielded method code, generate and reinforce configuration file, configuration file will be reinforced, encryption and decryption strategy and reinforcement protection program import in APK, generate and reinforce APK.The step S880 of Fig. 7 B signs further to reinforcing APK, will elaborate hereinafter about this step S880.
Such as; developer is when developing a instant messaging application; wish to protect its transmission picture function; therefore; developer adds corresponding note to the method code of transmission picture function on stream; mark the method is shielded method, and the file packings such as shielded method, not protected method and relevant configuration information are generated original APK.Protector obtains original APK in the process of reinforcement protection, and after decompiling APK, according to above-mentioned note, the method code of transmission picture function is extracted, and selects to specify encryption and decryption strategy to be encrypted, generates above described reinforcing configuration file; Again reinforcing configuration file, encryption and decryption strategy and reinforcement protection program are put into the APK after decompiling, compiling obtains the reinforcing APK of this instant messaging application.
In one embodiment of the invention, in the reinforcement protection process shown in Fig. 1, carry out the appointment encryption and decryption strategy that encryption and decryption process is used, can be comprised one or more as follows: anti-debug strategy; Anti-Dump strategy; Bob-weight packing strategy; Character string encryption and decryption strategy.Wherein, anti-debug strategy can prevent dynamic debugging; Anti-Dump strategy can the complete dex of anti-dynamic Dump; Bob-weight packing can prevent APK from being packed by secondary; Character string encryption and decryption strategy can realize the encryption to character string in dex, prevents from directly being seen expressly program by static analysis.
In one embodiment of the invention, described in the step S140 of method shown in Fig. 1 by specifying encryption and decryption strategy, reinforce configuration file and reinforcement protection program and add the APK after decompiling to and comprise: by specifying encryption and decryption strategy, reinforce under the lib catalogue of the APK after configuration file and reinforcement protection program write decompiling SO file.
The internal file structure of the APK after decompiling is as shown in table 1:
Table 1
Filename Explanation
META-INF\ Certificate file
res\ Resource file
assets\ Extra resource file
resources.arsc Binary Resources file
classes.dex . source code resource file
AndroidManifest.xml Global configuration file
lib\ Add-on assemble
Wherein, the file generally having MANIFEST.MF under META-INF catalogue and end up with .RSA .SF, have recorded the certificate signature of other catalogue file, Android system can check one by one that when installing APK whether the inner each file of APK is consistent with the certificate signature of this catalogue record, if inconsistent, then think that file is tampered, refuse the installation and operation of this APK.
What res catalogue was deposited is the file such as picture resource and interface layout.
What deposit under assets catalogue is extra resource and configuration file, as TXT or HTML specification documents, font file and picture resource etc.
Resources.arsc file is through the Binary Resources file after compiling.
Class.dex file is the Java bytecode file generated after the compiling of Java source code, and .dex is the abbreviation of DalvikExecutable (Dalvik virtual machine executable file).
AndroidManifest.xml file is global description's file of Android installation kit, and this file have recorded the information such as bag name, version number, authority, the library file quoted, module inlet, class of application.
Lib catalogue is JNI (Java Native Interface) library file, generally in armeabi sub-folder, deposits some SO files.SO file is the library file under linux, is the dynamic link library file of ELF form, and this class file is just dynamically loaded in program when program runs needs, and suffix is .so.In the present embodiment, be namely to specify encryption and decryption strategy, reinforcing configuration file and reinforcement protection program to write in the SO file under this lib catalogue of APK.When running reinforcing APK and calling shielded method, carry out dynamic load with the form of SO file.
In one embodiment of the invention, the shielded method code in the method shown in Fig. 1 is the core content in the dex file in the original APK of Android application.
Fig. 2 shows the process flow diagram of the method for reinforcing and protecting of a kind of in accordance with another embodiment of the present invention Android application.As shown in Figure 2, the method comprises:
Step S210, receives the original APK that user is applied by the Android of reinforcement protection client upload.In this step, receive the original APK that user (i.e. developer) uploads, the performance history of this original APK as shown in Figure 7 A, does not repeat them here.
Step S220, the original APK of decompiling, therefrom extracts shielded method code, and is filled by extracting position nop.
Step S230, is encrypted the shielded method code extracted according to appointment encryption and decryption strategy, generates and reinforce configuration file.
Step S240, add in the APK after decompiling by appointment encryption and decryption strategy, reinforcing configuration file and reinforcement protection program, compiling generates the reinforcing APK of Android application.
Step S120, step S130, the step S140 correspondence of method shown in above-mentioned steps S220, step S230, step S240 with Fig. 1 are identical; describe the process of original APK being carried out to reinforcement protection; Fig. 7 B also shows from the angle of Protector this process, does not repeat them here.
Step S250, provides the interface downloaded and reinforce APK, makes user that reinforcement protection client can be utilized to be downloaded by interface and reinforces APK.
From the above, the scheme shown in Fig. 2 is that developer provides one and receives for carrying out the platform of reinforcement protection to Android application the unprotected original APK that developer uploads, and after reinforcement protection process, provides the interface downloaded and reinforce APK to developer.
In one embodiment of the invention, the appointment encryption and decryption strategy in method shown in Fig. 1 and Fig. 2, the encryption and decryption relevant information that can pass through user (i.e. developer) provides is determined, namely user independently formulates encryption and decryption strategy and encryption and decryption password.The method comprises further: receive user by the encryption and decryption policy selection instruction of reinforcement protection client upload, Crypted password and clear crytpographic key, and determines to specify encryption and decryption strategy with this.Wherein, the encryption and decryption information that user provides also can be labeled in the note of shielded method.The program provides a great convenience for developer, make developer application development phase realize protection function facilitate configurability.
The APK of each issue has a unique ID to identify the legitimacy of application, this ID is exactly the signature of APK, use the APK of same signature can realize covering installation, therefore, in order to prevent hacker's illegally distorting and usurping APK, to sign to reinforcing APK, the process that reinforcing APK is signed of step S880 as shown in Figure 7 B.In one embodiment of the invention, the method shown in Fig. 2 comprises further: receive the identify label of user by reinforcement protection client upload, and utilize this identify label to sign to described reinforcing APK.
In order to ensure the validity that APK reinforces, avoiding the phenomenons such as the APK caused due to error can not install, APK failed encryption, before download reinforcing APK is provided to user, further it can be tested.In one embodiment of the invention, the method shown in Fig. 2 comprises further: carry out Auto-mounting test to reinforcing APK.
Fig. 3 shows the schematic diagram of the reinforcement protection server of a kind of according to an embodiment of the invention Android application.As shown in Figure 3, the reinforcement protection server 300 of this Android application comprises:
Acquiring unit 310, is suitable for the original Android installation kit APK obtaining Android application.
On Android system, an application can installed, run, need to be packaged into Android installation kit, i.e. APK (Android application package file) file layout, the original Android installation kit APK that this unit obtains develops generation by developer.
Decompiling extraction unit 320, is suitable for the original APK of decompiling, therefrom extracts shielded method code, and filled by extracting position nop.
Nop herein fills and refers to: nop instruction is filled into extracting position place, the code after filling is alignd with source code.
Ciphering unit 330, is suitable for being encrypted the shielded method code extracted according to appointment encryption and decryption strategy, generates and reinforce configuration file.
Add compilation unit 340, be suitable for appointment encryption and decryption strategy, reinforcing configuration file and reinforcement protection program to add in the APK after decompiling, compiling generates the reinforcing APK of Android application.
Wherein, reinforcement protection program performs following operation when the reinforcing APK that Android is applied is mounted and runs: call situation according to shielded method, dynamic application space, when shielded method is called, according to encryption and decryption strategy, the shielded method code of acquisition is decrypted to the correlation method reinforced in configuration file; When shielded method call end after, according to encryption and decryption strategy to deciphering obtain shielded method code re-start encryption.
Visible, the reinforcing configuration file that the reinforcement protection server 300 shown in Fig. 3 obtains after encryption and decryption strategy, reinforcement protection program and shielded method code being encrypted imports in APK, generates the reinforcing APK of Android application; Because reinforcement protection program is dynamically decoded to it when shielded method is called; and after shielded method call terminates, it is encrypted; any time in internal memory is made to there is not complete dex reflection; thus prevent from obtaining complete dex file by the mode of internal memory Dump; thus greatly reduce Android application by conversed analysis, and then beat again the possibility that bag distributes again.
Make Protector extract developer according to this note according to developer mentioned above by note and wish shielded method code, and it is carried out to the example of reinforcement protection, in one embodiment of the invention, shielded method code is identified by explaining in the original APK that the acquiring unit 310 of server shown in Fig. 3 gets; Decompiling extraction unit 320, is suitable for the original APK of decompiling, explains therefrom extract shielded method code according to method wherein.
In one embodiment of the invention, the ciphering unit 330 of server shown in Fig. 3, is suitable for being encrypted the shielded method code extracted according to one or more strategies following: anti-debug strategy; Anti-Dump strategy; Bob-weight packing strategy; Character string encryption and decryption strategy.Wherein, anti-debug strategy can prevent dynamic debugging; Anti-Dump strategy can the complete dex of anti-dynamic Dump; Bob-weight packing can prevent APK from being packed by secondary; Character string encryption and decryption strategy can realize the encryption to character string in dex, prevents from directly being seen expressly program by static analysis.
In one embodiment of the invention, the interpolation compilation unit 340 of server shown in Fig. 3, is suitable for specifying encryption and decryption strategy, reinforcing configuration file and reinforcement protection program to write in the SO file under the lib catalogue of the APK after decompiling.In the present embodiment, be namely by the SO file under the lib catalogue of the APK shown in appointment encryption and decryption strategy, reinforcing configuration file and reinforcement protection program write table 1.
In one embodiment of the invention, the decompiling extraction unit 320 of server shown in Fig. 3, extracts the core content in dex file wherein after being suitable for the original APK of decompiling.
Fig. 4 shows the schematic diagram of the reinforcement protection server of a kind of in accordance with another embodiment of the present invention Android application.As shown in Figure 4, the reinforcement protection server 400 of this Android application comprises: acquiring unit 410, decompiling extraction unit 420, ciphering unit 430, interpolation compilation unit 440 and download unit 450.
Wherein, decompiling extraction unit 420, ciphering unit 430, add compilation unit 440 respectively with decompiling extraction unit 320, the ciphering unit 330 of server shown in Fig. 3, to add compilation unit 340 corresponding identical; perform the process of original APK being carried out to reinforcement protection; and Fig. 7 B also shows from the angle of Protector this process, does not repeat them here.
Acquiring unit 410, is suitable for the original APK that reception user is applied by the Android of reinforcement protection client upload.
This unit is suitable for the original APK that reception user (i.e. developer) is uploaded, and the performance history of this original APK as shown in Figure 7 A, does not repeat them here.
Download unit 450, is suitable for providing the interface downloaded and reinforce APK, makes user that reinforcement protection client can be utilized to be downloaded by this interface and reinforces APK.
From the above; server shown in Fig. 4 is that developer provides one for carrying out the platform of reinforcement protection to Android application; acquiring unit 410 receives the unprotected original APK that developer uploads; after the reinforcement protection process of decompiling extraction unit 420, ciphering unit 430 and interpolation compilation unit 440, then provided the interface downloaded and reinforce APK to developer by download unit 450.
In one embodiment of the invention, encryption and decryption strategy is specified in the ciphering unit of server shown in Fig. 3 and Fig. 4, the encryption and decryption relevant information that can pass through user (i.e. developer) provides is determined, namely user independently formulates encryption and decryption strategy and encryption and decryption password.The acquiring unit 410 of server shown in Fig. 4, is further adapted for and receives user by the encryption and decryption policy selection instruction of reinforcement protection client upload, Crypted password and clear crytpographic key, and send to ciphering unit 430; Ciphering unit 430, is suitable for according to the instruction of encryption and decryption policy selection, Crypted password and clear crytpographic key, determines to specify encryption and decryption strategy.Wherein, the encryption and decryption information that user provides also can be labeled in the note of shielded method, and the program provides a great convenience for developer, make developer application development phase realize protection function facilitate configurability.
Fig. 5 shows the schematic diagram of the reinforcement protection server of a kind of Android application according to another embodiment of the present invention.As shown in Figure 5, the reinforcement protection server 500 of this Android application comprises: acquiring unit 510, decompiling extraction unit 520, ciphering unit 530, interpolation compilation unit 540, download unit 550 and signature unit 560.
In the present embodiment, reinforcement protection server 500 is in order to prevent hacker's illegally distorting and usurping APK, and will sign to reinforcing APK, therefore, compared with the server shown in Fig. 3,4, book server adds signature unit 560.Wherein, acquiring unit 510, decompiling extraction unit 520, ciphering unit 530, add compilation unit 540, download unit 550 respectively with acquiring unit 410, decompiling extraction unit 420, the ciphering unit 430 of server shown in Fig. 4, add compilation unit 440, download unit 450 is corresponding identical, do not repeat them here.
Acquiring unit 510, is further adapted for and receives the identify label of user by reinforcement protection client upload.
Signature unit 560, is suitable for utilizing described identify label to sign to reinforcing APK.
Fig. 6 shows the schematic diagram of the reinforcement protection server of a kind of Android application according to another embodiment of the present invention.As shown in Figure 6, the reinforcement protection server 600 of this Android application comprises: acquiring unit 610, decompiling extraction unit 620, ciphering unit 630, interpolation compilation unit 640, download unit 650, signature unit 660 and test cell 670.
In the present embodiment; reinforcement protection server 600 is in order to ensure the validity that APK reinforces; avoid the phenomenons such as the APK caused due to error can not install, APK failed encryption; can before download reinforcing APK be provided to user; further it is tested; therefore, compared with server mentioned above, book server adds test cell 670.Wherein, acquiring unit 610, decompiling extraction unit 620, ciphering unit 630, add compilation unit 640, download unit 650, signature unit 660 respectively with acquiring unit 510, decompiling extraction unit 520, the ciphering unit 530 of server shown in Fig. 5, add compilation unit 540, download unit 550, signature unit 560 are corresponding identical, do not repeat them here.
Test cell 670, is suitable for carrying out Auto-mounting test to reinforcing APK.
Based on the various embodiments described above, after the reinforcing APK that reinforcement protection completes by developer is published to Android application market, user is by download and run this reinforcing APK.Fig. 7 C shows the process flow diagram of the operational process of Android installation kit according to an embodiment of the invention, from the angle of user, the operational process of Android installation kit APK as seen in figure 7 c, step S902 to step S920 describes following process: run this APK, first operation authority is obtained by reading key, then the configuration file of APK is read, then the method in APK is called, judge whether the current method called is shielded method, if the method called current is shielded method, then this shielded method code is dynamically deciphered, call the shielded method after deciphering, after calling end, again this shielded method code is dynamically deciphered, continue to run this APK, if the method called current is not shielded method, then directly normal transfer, calls and terminate follow-up this APK of reforwarding row, APK is run, until complete the operational process of whole APK with this mechanism.
Also disclose the reinforcement protection system of a kind of Android application in one embodiment of the present of invention, it comprises reinforcement protection client and as the reinforcement protection server described in above-mentioned any embodiment.
In sum, the invention provides the reinforcement protection scheme of a kind of Android application, by encryption and decryption strategy, the reinforcing configuration file obtained after reinforcement protection program and shielded method code are encrypted adds in the APK after decompiling, generate the reinforcing APK of Android application, because reinforcement protection program is dynamically decoded to it when protected method is called, and after protected method call terminates, it is encrypted, achieve the dynamic encryption and decryption to protected method, any time in internal memory is made to there is not complete dex reflection, thus prevent from obtaining complete dex file by the mode of internal memory Dump, thus greatly reduce Android application by conversed analysis, and then beat again the possibility that bag distributes again.
It should be noted that:
Intrinsic not relevant to any certain computer, virtual bench or miscellaneous equipment with display at this algorithm provided.Various fexible unit also can with use based on together with this teaching.According to description above, the structure constructed required by this kind of device is apparent.In addition, the present invention is not also for any certain programmed language.It should be understood that and various programming language can be utilized to realize content of the present invention described here, and the description done language-specific is above to disclose preferred forms of the present invention.
In instructions provided herein, describe a large amount of detail.But can understand, embodiments of the invention can be put into practice when not having these details.In some instances, be not shown specifically known method, structure and technology, so that not fuzzy understanding of this description.
Similarly, be to be understood that, in order to simplify the disclosure and to help to understand in each inventive aspect one or more, in the description above to exemplary embodiment of the present invention, each feature of the present invention is grouped together in single embodiment, figure or the description to it sometimes.But, the method for the disclosure should be construed to the following intention of reflection: namely the present invention for required protection requires feature more more than the feature clearly recorded in each claim.Or rather, as claims below reflect, all features of disclosed single embodiment before inventive aspect is to be less than.Therefore, the claims following embodiment are incorporated to this embodiment thus clearly, and wherein each claim itself is as independent embodiment of the present invention.
Those skilled in the art are appreciated that and adaptively can change the module in the equipment in embodiment and they are arranged in one or more equipment different from this embodiment.Module in embodiment or unit or assembly can be combined into a module or unit or assembly, and multiple submodule or subelement or sub-component can be put them in addition.Except at least some in such feature and/or process or unit be mutually repel except, any combination can be adopted to combine all processes of all features disclosed in this instructions (comprising adjoint claim, summary and accompanying drawing) and so disclosed any method or equipment or unit.Unless expressly stated otherwise, each feature disclosed in this instructions (comprising adjoint claim, summary and accompanying drawing) can by providing identical, alternative features that is equivalent or similar object replaces.
In addition, those skilled in the art can understand, although embodiments more described herein to comprise in other embodiment some included feature instead of further feature, the combination of the feature of different embodiment means and to be within scope of the present invention and to form different embodiments.Such as, in the following claims, the one of any of embodiment required for protection can use with arbitrary array mode.
All parts embodiment of the present invention with hardware implementing, or can realize with the software module run on one or more processor, or realizes with their combination.It will be understood by those of skill in the art that the some or all functions of the some or all parts in the reinforcement protection server and system that microprocessor or digital signal processor (DSP) can be used in practice to realize applying according to a kind of Android of the embodiment of the present invention.The present invention can also be embodied as part or all equipment for performing method as described herein or device program (such as, computer program and computer program).Realizing program of the present invention and can store on a computer-readable medium like this, or the form of one or more signal can be had.Such signal can be downloaded from internet website and obtain, or provides on carrier signal, or provides with any other form.
The present invention will be described instead of limit the invention to it should be noted above-described embodiment, and those skilled in the art can design alternative embodiment when not departing from the scope of claims.In the claims, any reference symbol between bracket should be configured to limitations on claims.Word " comprises " not to be got rid of existence and does not arrange element in the claims or step.Word "a" or "an" before being positioned at element is not got rid of and be there is multiple such element.The present invention can by means of including the hardware of some different elements and realizing by means of the computing machine of suitably programming.In the unit claim listing some devices, several in these devices can be carry out imbody by same hardware branch.Word first, second and third-class use do not represent any order.Can be title by these word explanations.
The invention discloses the method for reinforcing and protecting of a kind of A1, the application of a kind of Android, wherein, the method comprises:
Obtain the original Android installation kit APK of Android application;
Original APK described in decompiling, therefrom extracts shielded method code, and is filled by extracting position nop;
According to appointment encryption and decryption strategy, the shielded method code extracted is encrypted, generates and reinforce configuration file;
Add in the APK after decompiling by described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program, compiling generates the reinforcing APK of described Android application;
Wherein, described reinforcement protection program performs following operation when the reinforcing APK that described Android is applied is mounted and runs: call situation according to shielded method, dynamic application space, when shielded method is called, according to described encryption and decryption strategy, the shielded method code of acquisition is decrypted to the correlation method reinforced in configuration file; When shielded method call end after, according to described encryption and decryption strategy to deciphering obtain shielded method code re-start encryption.
A2, method as described in A1, wherein,
Shielded method code is identified by explaining in described original APK;
Original APK described in described decompiling, therefrom extracts shielded method code and comprises: original APK described in decompiling, explains therefrom extract shielded method code according to method wherein.
A3, method as described in A1, wherein, described appointment encryption and decryption strategy comprise following in one or more:
Anti-debug strategy;
Anti-Dump strategy;
Bob-weight packing strategy;
Character string encryption and decryption strategy.
A4, method as described in A1, wherein, add described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program to APK after decompiling and comprise:
By in the SO file under the lib catalogue of the APK after described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program write decompiling.
A5, method as described in A1, wherein,
Described shielded method code is the core content in the dex file in the original APK of described Android application.
A6, method according to any one of A1-A5, wherein,
The original Android installation kit APK of described acquisition Android application comprises: receive the original APK that user is applied by the Android of reinforcement protection client upload;
The method comprises further: provide the interface downloaded and reinforce APK, makes user that described reinforcement protection client can be utilized to be downloaded by described interface and reinforces APK.
A7, method as described in A6, wherein, the method comprises further:
Receive user by the encryption and decryption policy selection instruction of reinforcement protection client upload, Crypted password and clear crytpographic key, and determine described appointment encryption and decryption strategy with this.
A8, method as described in A 6, wherein, the method comprises further:
Receive the identify label of user by reinforcement protection client upload, and utilize this identify label to sign to described reinforcing APK.
A 9, method as described in A 6, wherein, the method comprises further:
Auto-mounting test is carried out to reinforcing APK.
The present invention openly also a kind of B10, a kind of Android application reinforcement protection server, wherein, this server comprises:
Acquiring unit, is suitable for the original Android installation kit APK obtaining Android application;
Decompiling extraction unit, is suitable for original APK described in decompiling, therefrom extracts shielded method code, and filled by extracting position nop;
Ciphering unit, is suitable for being encrypted the shielded method code extracted according to appointment encryption and decryption strategy, generates and reinforce configuration file;
Add compilation unit, be suitable for described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program to add in the APK after decompiling, compiling generates the reinforcing APK of described Android application;
Wherein, described reinforcement protection program performs following operation when the reinforcing APK that described Android is applied is mounted and runs: call situation according to shielded method, dynamic application space, when shielded method is called, according to described encryption and decryption strategy, the shielded method code of acquisition is decrypted to the correlation method reinforced in configuration file; When shielded method call end after, according to described encryption and decryption strategy to deciphering obtain shielded method code re-start encryption.
B11, server as described in B10, wherein,
Shielded method code is identified by explaining in the described original APK that described acquiring unit obtains;
Described decompiling extraction unit, is suitable for original APK described in decompiling, explains therefrom extract shielded method code according to method wherein.
B12, method as described in B10, wherein,
Described ciphering unit to be suitable for according to one or more strategies following being encrypted by the method code protecting guarantor of extracting:
Anti-debug strategy;
Anti-Dump strategy;
Bob-weight packing strategy;
Character string encryption and decryption strategy.
B13, server as described in B10, wherein,
Described interpolation compilation unit, is suitable in the SO file under the lib catalogue of the APK after by described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program write decompiling.
B14, server as described in B10, wherein,
Described decompiling extraction unit, extracts the core content in dex file wherein after being suitable for original APK described in decompiling.
B15, server according to any one of B10-B14, wherein,
Described acquiring unit, is suitable for the original APK that reception user is applied by the Android of reinforcement protection client upload.
Described server comprises further: download unit, and being suitable for provides the interface downloaded and reinforce APK, makes user that described reinforcement protection client can be utilized to be downloaded by this interface and reinforces APK.
B16, server as described in B15, wherein,
Described acquiring unit, is further adapted for and receives user by the encryption and decryption policy selection instruction of reinforcement protection client upload, Crypted password and clear crytpographic key, and send to ciphering unit;
Described ciphering unit, is suitable for according to the instruction of described encryption and decryption policy selection, Crypted password and clear crytpographic key, determines described appointment encryption and decryption strategy.
B17, server as described in B15, wherein,
Described acquiring unit, is further adapted for and receives the identify label of user by reinforcement protection client upload;
Described server comprises further: signature unit, is suitable for utilizing described identify label to sign to described reinforcing APK.
B18, server as described in B15, wherein, this server comprises further:
Test cell, is suitable for carrying out Auto-mounting test to reinforcing APK.
The invention also discloses the reinforcement protection system of C19, the application of a kind of Android, comprising: reinforcement protection client and the reinforcement protection server according to any one of claim B10-B18.

Claims (10)

1. a method for reinforcing and protecting for Android application, wherein, the method comprises:
Obtain the original Android installation kit APK of Android application;
Original APK described in decompiling, therefrom extracts shielded method code, and is filled by extracting position nop;
According to appointment encryption and decryption strategy, the shielded method code extracted is encrypted, generates and reinforce configuration file;
Add in the APK after decompiling by described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program, compiling generates the reinforcing APK of described Android application;
Wherein, described reinforcement protection program performs following operation when the reinforcing APK that described Android is applied is mounted and runs: call situation according to shielded method, dynamic application space, when shielded method is called, according to described encryption and decryption strategy, the shielded method code of acquisition is decrypted to the correlation method reinforced in configuration file; When shielded method call end after, according to described encryption and decryption strategy to deciphering obtain shielded method code re-start encryption.
2. the method for claim 1, wherein
Shielded method code is identified by explaining in described original APK;
Original APK described in described decompiling, therefrom extracts shielded method code and comprises: original APK described in decompiling, explains therefrom extract shielded method code according to method wherein.
3. the method for claim 1, wherein described appointment encryption and decryption strategy comprises one or more as follows:
Anti-debug strategy;
Anti-Dump strategy;
Bob-weight packing strategy;
Character string encryption and decryption strategy.
4. the method for claim 1, wherein add described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program to APK after decompiling to comprise:
By in the SO file under the lib catalogue of the APK after described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program write decompiling.
5. the method for claim 1, wherein
Described shielded method code is the core content in the dex file in the original APK of described Android application.
6. a reinforcement protection server for Android application, wherein, this server comprises:
Acquiring unit, is suitable for the original Android installation kit APK obtaining Android application;
Decompiling extraction unit, is suitable for original APK described in decompiling, therefrom extracts shielded method code, and filled by extracting position nop;
Ciphering unit, is suitable for being encrypted the shielded method code extracted according to appointment encryption and decryption strategy, generates and reinforce configuration file;
Add compilation unit, be suitable for described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program to add in the APK after decompiling, compiling generates the reinforcing APK of described Android application;
Wherein, described reinforcement protection program performs following operation when the reinforcing APK that described Android is applied is mounted and runs: call situation according to shielded method, dynamic application space, when shielded method is called, according to described encryption and decryption strategy, the shielded method code of acquisition is decrypted to the correlation method reinforced in configuration file; When shielded method call end after, according to described encryption and decryption strategy to deciphering obtain shielded method code re-start encryption.
7. server as claimed in claim 6, wherein,
Shielded method code is identified by explaining in the described original APK that described acquiring unit obtains;
Described decompiling extraction unit, is suitable for original APK described in decompiling, explains therefrom extract shielded method code according to method wherein.
8. method as claimed in claim 6, wherein,
Described ciphering unit to be suitable for according to one or more strategies following being encrypted by the method code protecting guarantor of extracting:
Anti-debug strategy;
Anti-Dump strategy;
Bob-weight packing strategy;
Character string encryption and decryption strategy.
9. server as claimed in claim 6, wherein,
Described interpolation compilation unit, is suitable in the SO file under the lib catalogue of the APK after by described appointment encryption and decryption strategy, described reinforcing configuration file and reinforcement protection program write decompiling.
10. a reinforcement protection system for Android application, comprising: reinforcement protection client and the reinforcement protection server according to any one of claim 6-9.
CN201410734372.7A 2014-12-04 2014-12-04 A kind of method for reinforcing and protecting, server and the system of Android application Active CN104462959B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410734372.7A CN104462959B (en) 2014-12-04 2014-12-04 A kind of method for reinforcing and protecting, server and the system of Android application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410734372.7A CN104462959B (en) 2014-12-04 2014-12-04 A kind of method for reinforcing and protecting, server and the system of Android application

Publications (2)

Publication Number Publication Date
CN104462959A true CN104462959A (en) 2015-03-25
CN104462959B CN104462959B (en) 2017-09-01

Family

ID=52908984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410734372.7A Active CN104462959B (en) 2014-12-04 2014-12-04 A kind of method for reinforcing and protecting, server and the system of Android application

Country Status (1)

Country Link
CN (1) CN104462959B (en)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899481A (en) * 2015-06-17 2015-09-09 上海斐讯数据通信技术有限公司 System and method for preventing decompilation of application programs
CN104951707A (en) * 2015-05-13 2015-09-30 上海交通大学 Sensitive resource access control policy system based on Android platform
CN104965712A (en) * 2015-07-17 2015-10-07 北京奇虎科技有限公司 Application reinforcing protection method and apparatus and mobile terminal
CN105046116A (en) * 2015-06-25 2015-11-11 上海斐讯数据通信技术有限公司 Method for protecting dex file from being decompiled in Android system
CN105512521A (en) * 2015-12-25 2016-04-20 北京奇虎科技有限公司 Reinforcement and protection method and system for software installation package
CN105631251A (en) * 2015-12-25 2016-06-01 北京奇虎科技有限公司 APK reinforcing protection method and system
CN105893793A (en) * 2016-04-05 2016-08-24 上海携程商务有限公司 Encrypting method and encrypting system for preventing reverse decrypting of app (application)
CN105930745A (en) * 2016-04-25 2016-09-07 北京珊瑚灵御科技有限公司 Android platform-based character string reinforcement method
CN105930744A (en) * 2016-04-22 2016-09-07 北京奇虎科技有限公司 File reinforcement method and apparatus
WO2016188134A1 (en) * 2015-05-22 2016-12-01 中兴通讯股份有限公司 Application reinforcing implementation method and apparatus
CN106295255A (en) * 2015-05-27 2017-01-04 腾讯科技(深圳)有限公司 The reinforcement means of application program and device
CN106528261A (en) * 2016-12-02 2017-03-22 武汉斗鱼网络科技有限公司 Application page initialization compiling and controlling device and method
CN106599629A (en) * 2016-12-16 2017-04-26 Tcl集团股份有限公司 Strengthening method and apparatus for Android application program
CN106650338A (en) * 2015-10-28 2017-05-10 中国电信股份有限公司 Method and system for preventing software from being anti-debugged
CN106709286A (en) * 2016-11-30 2017-05-24 江苏神州信源系统工程有限公司 Method for performing security reinforcement on apk resource package
CN106843853A (en) * 2016-12-28 2017-06-13 北京五八信息技术有限公司 The method and apparatus for protecting user profile
CN106845167A (en) * 2016-12-12 2017-06-13 北京奇虎科技有限公司 The reinforcement means and device of a kind of APK, and dynamic loading method and device
CN107038371A (en) * 2015-07-29 2017-08-11 腾讯科技(深圳)有限公司 A kind of processing method of executable file, device, device and system
CN107103214A (en) * 2017-04-06 2017-08-29 海信集团有限公司 A kind of application program anti-debug method and device applied to android system
CN107180170A (en) * 2017-05-09 2017-09-19 深圳海云安网络安全技术有限公司 A kind of Android APP are without shell reinforcement means
CN107220529A (en) * 2017-05-19 2017-09-29 湖南鼎源蓝剑信息科技有限公司 A kind of reinforcement means for Android platform SDK bags
CN107748838A (en) * 2017-10-13 2018-03-02 东软集团股份有限公司 The method, apparatus and storage medium and electronic equipment of installation kit generation
CN107784204A (en) * 2016-08-31 2018-03-09 百度在线网络技术(北京)有限公司 Using hulling method and device
CN107871066A (en) * 2016-09-28 2018-04-03 传化物流集团有限公司 code compiling method and device based on Android system
CN109255235A (en) * 2018-09-17 2019-01-22 西安电子科技大学 Mobile application third party library partition method based on User space sandbox
CN109408073A (en) * 2018-09-21 2019-03-01 北京大学 A kind of Android non-intrusion type application weight packaging method
CN109597620A (en) * 2018-08-08 2019-04-09 北京字节跳动网络技术有限公司 A kind of data processing method, device, equipment and storage medium
CN109598107A (en) * 2018-11-20 2019-04-09 江苏通付盾信息安全技术有限公司 A kind of code conversion method and device based on application installation package file
CN109614772A (en) * 2018-11-20 2019-04-12 江苏通付盾信息安全技术有限公司 Code conversion method and device based on application installation package file
CN109614773A (en) * 2018-11-20 2019-04-12 江苏通付盾信息安全技术有限公司 Code self-modifying method, apparatus and electronic equipment
CN109858203A (en) * 2018-12-21 2019-06-07 厦门市美亚柏科信息股份有限公司 A kind of safety protecting method, device and the storage medium of Android platform application
CN109918917A (en) * 2019-03-19 2019-06-21 北京智游网安科技有限公司 Method, computer equipment and the storage medium for preventing H5 source code from leaking
CN109976769A (en) * 2019-03-05 2019-07-05 北京梆梆安全科技有限公司 The determination method, device and equipment of the corresponding server identification of application installation package
CN111143869A (en) * 2019-12-30 2020-05-12 Oppo广东移动通信有限公司 Application package processing method and device, electronic equipment and storage medium
CN111492345A (en) * 2018-10-15 2020-08-04 华为技术有限公司 Method for optimizing and running android application program and related device
CN111544893A (en) * 2020-04-30 2020-08-18 福建天晴在线互动科技有限公司 Reinforcing method and system for preventing code flow from being forged in game
CN111914225A (en) * 2020-07-15 2020-11-10 广东电网有限责任公司 Source code protection system and source code encryption method
CN112257033A (en) * 2020-10-14 2021-01-22 郑州阿帕斯数云信息科技有限公司 Application packaging method, device and equipment
CN113434884A (en) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 Encryption method and decryption method for configuration file and related devices
CN113590098A (en) * 2021-07-30 2021-11-02 中电金信软件有限公司 Software development kit SDK generation method and device and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103413076A (en) * 2013-08-27 2013-11-27 北京理工大学 Block protection method for Android application programs
CN104021321A (en) * 2014-06-17 2014-09-03 北京奇虎科技有限公司 Reinforcing protection method and device for software installation package
US8892876B1 (en) * 2012-04-20 2014-11-18 Trend Micro Incorporated Secured application package files for mobile computing devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892876B1 (en) * 2012-04-20 2014-11-18 Trend Micro Incorporated Secured application package files for mobile computing devices
CN103413076A (en) * 2013-08-27 2013-11-27 北京理工大学 Block protection method for Android application programs
CN104021321A (en) * 2014-06-17 2014-09-03 北京奇虎科技有限公司 Reinforcing protection method and device for software installation package

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951707A (en) * 2015-05-13 2015-09-30 上海交通大学 Sensitive resource access control policy system based on Android platform
WO2016188134A1 (en) * 2015-05-22 2016-12-01 中兴通讯股份有限公司 Application reinforcing implementation method and apparatus
CN106295263A (en) * 2015-05-22 2017-01-04 中兴通讯股份有限公司 A kind of method and device realizing application reinforcing
CN106295255B (en) * 2015-05-27 2020-04-14 腾讯科技(深圳)有限公司 Application program reinforcing method and device
CN106295255A (en) * 2015-05-27 2017-01-04 腾讯科技(深圳)有限公司 The reinforcement means of application program and device
CN104899481A (en) * 2015-06-17 2015-09-09 上海斐讯数据通信技术有限公司 System and method for preventing decompilation of application programs
CN105046116B (en) * 2015-06-25 2018-07-31 上海斐讯数据通信技术有限公司 Protect dex files not by the method for decompiling in android system
CN105046116A (en) * 2015-06-25 2015-11-11 上海斐讯数据通信技术有限公司 Method for protecting dex file from being decompiled in Android system
WO2016206297A1 (en) * 2015-06-25 2016-12-29 上海斐讯数据通信技术有限公司 Method for protecting dex file from being decompiled in android system
CN104965712B (en) * 2015-07-17 2018-04-20 北京奇虎科技有限公司 Application program method for reinforcing and protecting, device and mobile terminal
CN104965712A (en) * 2015-07-17 2015-10-07 北京奇虎科技有限公司 Application reinforcing protection method and apparatus and mobile terminal
CN107038371A (en) * 2015-07-29 2017-08-11 腾讯科技(深圳)有限公司 A kind of processing method of executable file, device, device and system
CN107038371B (en) * 2015-07-29 2020-01-31 腾讯科技(深圳)有限公司 executable file processing method, device and system
CN106650338A (en) * 2015-10-28 2017-05-10 中国电信股份有限公司 Method and system for preventing software from being anti-debugged
CN105512521A (en) * 2015-12-25 2016-04-20 北京奇虎科技有限公司 Reinforcement and protection method and system for software installation package
CN105631251A (en) * 2015-12-25 2016-06-01 北京奇虎科技有限公司 APK reinforcing protection method and system
CN105631251B (en) * 2015-12-25 2018-07-24 北京奇虎科技有限公司 A kind of APK method for reinforcing and protecting and system
CN105893793A (en) * 2016-04-05 2016-08-24 上海携程商务有限公司 Encrypting method and encrypting system for preventing reverse decrypting of app (application)
CN105930744A (en) * 2016-04-22 2016-09-07 北京奇虎科技有限公司 File reinforcement method and apparatus
CN105930745A (en) * 2016-04-25 2016-09-07 北京珊瑚灵御科技有限公司 Android platform-based character string reinforcement method
CN107784204B (en) * 2016-08-31 2021-10-22 百度在线网络技术(北京)有限公司 Application shelling method and device
CN107784204A (en) * 2016-08-31 2018-03-09 百度在线网络技术(北京)有限公司 Using hulling method and device
CN107871066A (en) * 2016-09-28 2018-04-03 传化物流集团有限公司 code compiling method and device based on Android system
CN107871066B (en) * 2016-09-28 2020-10-09 传化物流集团有限公司 Code compiling method and device based on android system
CN106709286A (en) * 2016-11-30 2017-05-24 江苏神州信源系统工程有限公司 Method for performing security reinforcement on apk resource package
CN106528261A (en) * 2016-12-02 2017-03-22 武汉斗鱼网络科技有限公司 Application page initialization compiling and controlling device and method
CN106845167A (en) * 2016-12-12 2017-06-13 北京奇虎科技有限公司 The reinforcement means and device of a kind of APK, and dynamic loading method and device
CN106599629B (en) * 2016-12-16 2021-08-06 Tcl科技集团股份有限公司 Android application program reinforcing method and device
CN106599629A (en) * 2016-12-16 2017-04-26 Tcl集团股份有限公司 Strengthening method and apparatus for Android application program
CN106843853A (en) * 2016-12-28 2017-06-13 北京五八信息技术有限公司 The method and apparatus for protecting user profile
CN107103214A (en) * 2017-04-06 2017-08-29 海信集团有限公司 A kind of application program anti-debug method and device applied to android system
CN107103214B (en) * 2017-04-06 2019-12-10 海信集团有限公司 Application program anti-debugging method and device applied to Android system
CN107180170A (en) * 2017-05-09 2017-09-19 深圳海云安网络安全技术有限公司 A kind of Android APP are without shell reinforcement means
CN107220529A (en) * 2017-05-19 2017-09-29 湖南鼎源蓝剑信息科技有限公司 A kind of reinforcement means for Android platform SDK bags
CN107748838A (en) * 2017-10-13 2018-03-02 东软集团股份有限公司 The method, apparatus and storage medium and electronic equipment of installation kit generation
CN109597620B (en) * 2018-08-08 2022-04-01 北京字节跳动网络技术有限公司 Data processing method, device, equipment and storage medium
CN109597620A (en) * 2018-08-08 2019-04-09 北京字节跳动网络技术有限公司 A kind of data processing method, device, equipment and storage medium
CN109255235A (en) * 2018-09-17 2019-01-22 西安电子科技大学 Mobile application third party library partition method based on User space sandbox
CN109408073B (en) * 2018-09-21 2021-10-08 北京大学 Android non-invasive application repacking method
CN109408073A (en) * 2018-09-21 2019-03-01 北京大学 A kind of Android non-intrusion type application weight packaging method
CN111492345A (en) * 2018-10-15 2020-08-04 华为技术有限公司 Method for optimizing and running android application program and related device
CN109598107A (en) * 2018-11-20 2019-04-09 江苏通付盾信息安全技术有限公司 A kind of code conversion method and device based on application installation package file
CN109614773A (en) * 2018-11-20 2019-04-12 江苏通付盾信息安全技术有限公司 Code self-modifying method, apparatus and electronic equipment
CN109614772A (en) * 2018-11-20 2019-04-12 江苏通付盾信息安全技术有限公司 Code conversion method and device based on application installation package file
CN109858203A (en) * 2018-12-21 2019-06-07 厦门市美亚柏科信息股份有限公司 A kind of safety protecting method, device and the storage medium of Android platform application
CN109976769A (en) * 2019-03-05 2019-07-05 北京梆梆安全科技有限公司 The determination method, device and equipment of the corresponding server identification of application installation package
CN109976769B (en) * 2019-03-05 2022-02-11 北京梆梆安全科技有限公司 Method, device and equipment for determining server identification corresponding to application installation package
CN109918917A (en) * 2019-03-19 2019-06-21 北京智游网安科技有限公司 Method, computer equipment and the storage medium for preventing H5 source code from leaking
CN111143869A (en) * 2019-12-30 2020-05-12 Oppo广东移动通信有限公司 Application package processing method and device, electronic equipment and storage medium
CN111544893B (en) * 2020-04-30 2023-09-01 福建天晴在线互动科技有限公司 Reinforcing method and system for preventing code flow forging based on game
CN111544893A (en) * 2020-04-30 2020-08-18 福建天晴在线互动科技有限公司 Reinforcing method and system for preventing code flow from being forged in game
CN111914225A (en) * 2020-07-15 2020-11-10 广东电网有限责任公司 Source code protection system and source code encryption method
CN111914225B (en) * 2020-07-15 2024-03-19 广东电网有限责任公司 Source code protection system and source code encryption method
CN112257033A (en) * 2020-10-14 2021-01-22 郑州阿帕斯数云信息科技有限公司 Application packaging method, device and equipment
CN113434884A (en) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 Encryption method and decryption method for configuration file and related devices
CN113590098A (en) * 2021-07-30 2021-11-02 中电金信软件有限公司 Software development kit SDK generation method and device and electronic equipment

Also Published As

Publication number Publication date
CN104462959B (en) 2017-09-01

Similar Documents

Publication Publication Date Title
CN104462959A (en) Reinforcement protection method, sever and system for android app
US10740443B2 (en) System and method for code obfuscation of application
CN106778103B (en) Reinforcement method, system and decryption method for preventing reverse cracking of android application program
Chen et al. Mystique: Uncovering information leakage from browser extensions
Preda et al. Testing android malware detectors against code obfuscation: a systematization of knowledge and unified methodology
US10409966B2 (en) Optimizing and protecting software
CN102760219B (en) A kind of Android platform software protection system, method and apparatus
CN104392181A (en) SO file protection method and device and android installation package reinforcement method and system
US20180260199A1 (en) Method and apparatus for intermediate representation of applications
CN108491235B (en) DEX protection method combining dynamic loading and function Native
CN106295255B (en) Application program reinforcing method and device
CN104484585A (en) Application program installation package processing method and device, and mobile apparatus
CN104463002A (en) APK reinforcing method and device and APK reinforcing client and server
CN104239757A (en) Application program reversing-preventing method and device and operation method and terminal
WO2019075493A1 (en) On device structure layout randomization for binary code to enhance security through increased entropy
WO2015192637A1 (en) Method and apparatus for reinforced protection of software installation package
WO2015149214A1 (en) Method, apparatus, and computer-readable medium for obfuscating execution of application on virtual machine
CN104965712A (en) Application reinforcing protection method and apparatus and mobile terminal
CN104217140A (en) Method and device for reinforcing application program
CN106326691B (en) Encryption and decryption function realization method and device and server
Merlo et al. You shall not repackage! demystifying anti-repackaging on android
Lim et al. Structural analysis of packing schemes for extracting hidden codes in mobile malware
CN105740703A (en) Application reinforcement method and apparatus
You et al. Deoptfuscator: Defeating Advanced Control-Flow Obfuscation Using Android Runtime (ART)
KR101863325B1 (en) Method and apparatus for preventing reverse engineering

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right