CN104462959A - Reinforcement protection method, sever and system for android app - Google Patents
Reinforcement protection method, sever and system for android app Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 235
- 230000002787 reinforcement Effects 0.000 title claims abstract description 117
- 238000000605 extraction Methods 0.000 claims abstract description 22
- 230000003014 reinforcing effect Effects 0.000 claims description 81
- 238000009434 installation Methods 0.000 claims description 31
- 239000000284 extract Substances 0.000 claims description 25
- 238000012856 packing Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 abstract 1
- 238000012857 repacking Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000001012 protector Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
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
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.
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)
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)
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 |
-
2014
- 2014-12-04 CN CN201410734372.7A patent/CN104462959B/en active Active
Patent Citations (3)
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)
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 |