WO2015058639A1 - 一种应用程序保护系统和方法 - Google Patents

一种应用程序保护系统和方法 Download PDF

Info

Publication number
WO2015058639A1
WO2015058639A1 PCT/CN2014/088613 CN2014088613W WO2015058639A1 WO 2015058639 A1 WO2015058639 A1 WO 2015058639A1 CN 2014088613 W CN2014088613 W CN 2014088613W WO 2015058639 A1 WO2015058639 A1 WO 2015058639A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
token
instruction set
permutation matrix
permutation
Prior art date
Application number
PCT/CN2014/088613
Other languages
English (en)
French (fr)
Inventor
柴洪峰
鲁志军
李卷孺
束骏亮
华锦芝
徐泽伟
万四爽
Original Assignee
中国银联股份有限公司
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 中国银联股份有限公司 filed Critical 中国银联股份有限公司
Publication of WO2015058639A1 publication Critical patent/WO2015058639A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Definitions

  • the present invention relates to the field of computer security, and in particular to a system and method for protecting an Android application.
  • Patent Document 1 In order to protect an application, an application security protection method and a digital copyright protection system are proposed in Patent Document 1 (CN201110057866.2).
  • the application copyright protection method and the digital copyright protection system proposed in Patent Document 1 are mainly protected by adding an authentication module to an application and performing authentication with a server.
  • Patent Document 2 A method and system for protecting software applications against piracy is also proposed in Patent Document 2 (CN200580047317.X).
  • the method and system for protecting software applications against piracy proposed in Patent Document 2 are mainly protected by placing a part of the program on the server, and protecting the software application by executing part of the program in the server.
  • the full name of the Android app APK is Android Package.
  • the APK file is actually zip format, but the suffix name is modified to apk.
  • the executable code Dex part namely Android Dalvik executable program.
  • the Android executable code is a Dalvik bytecode compiled and converted by a program written in the Java language. This bytecode is generally very easy to decompile. Malware and attackers perform assembly-level code analysis by decompiling APK files, and modify or insert their own code, re-signing and packaging as APK files, in order to achieve the purpose of changing the original behavior of the program.
  • the existing APK protection technology mainly protects the code through code obfuscation.
  • ProGuard current owner A free tool for streaming Java bytecode files that removes useless classes, fields, methods, and properties. You can delete unused comments and maximize the bytecode file. It can also rename existing classes, fields, methods, and properties with short, meaningless names.
  • the present invention aims to provide a system and method capable of effectively preventing an attacker from attacking an Android application by attacking an application by decompilation and capable of resisting dynamic injection, dynamic debugging, and the like.
  • a token generator for generating a Token, wherein the Token includes an interpreter for interpreting an application that has undergone instruction set replacement and a system patch for installing the replaced application.
  • the obfuscator performs an instruction set replacement on an instruction in an application using a permutation matrix
  • the interpreter interprets the instruction in the application that has been replaced by the instruction set by using a permutation matrix corresponding to the obfuscator .
  • the obfuscator performs a set of instruction substitutions on instructions in the application using a random permutation matrix.
  • the obfuscator performs an instruction set replacement on each instruction in the application, the interpreter interpreting each instruction in the application that has been replaced by the instruction set.
  • the obfuscator performs instruction set permutation on instructions in the application such that all operands of the original instruction are retained and the opcode of the original instruction is transformed.
  • a replacement matrix generation step generating a permutation matrix M for device A;
  • Token release step release Token to the holder of device A;
  • An application installation step of performing an installation on the protected application with the interpreter in the Token is
  • the permutation matrix is randomly generated.
  • the generated Token further includes a system patch for installing the replaced application.
  • the instruction set replacement step comprises the following sub-steps:
  • the application sub-section code to be protected is replaced from x i to x j .
  • the Token is issued to the holder of the device A by the OTA method.
  • FIG. 1 is a schematic diagram showing an application protection system according to an embodiment of the present invention.
  • Fig. 2 is a schematic diagram showing instruction set replacement using the obfuscator of the present invention.
  • FIG. 3 is a flow chart showing an application protection method according to an embodiment of the present invention.
  • FIG. 1 is a schematic diagram showing an application protection system according to an embodiment of the present invention. An application protection system according to an embodiment of the present invention will now be described with reference to FIG. 1.
  • the application protection system of the present invention is an application protection system suitable for a mobile intelligent terminal. Specifically, the confusing technology based on the instruction set replacement idea is adopted, and the main purpose is to assist the Android app publisher to digitally develop the App developed by itself. Copyright protection, the system can also resist dynamic injection, dynamic debugging and other attacks from the bottom of the system.
  • the application protection system of the present invention is provided for use in the application 111.
  • the instruction performs an instruction set replacement obfuscator 100; and a token generator 200 for generating a token using the matrix.
  • the obfuscator 100 confuses the instructions in the application's dex file, also known as instruction set replacement.
  • the obfuscator 100 parses according to the application's dex file, and traverses each instruction in the entire dex file through the class ⁇ method ⁇ instruction hierarchy. During the traversal process, the obfuscator 100 uses the specified permutation matrix. Each instruction is permuted (eg, randomly picked), and the permuted instruction retains all operands of the original instruction, but the opcode used to identify the instruction has changed.
  • Fig. 2 is a schematic diagram showing instruction set replacement using the obfuscator of the present invention.
  • the bytecode of the original instruction is: "1301 300", where the opcode is “13” and the operand is "01 3000".
  • the original operand "01 3000” is not changed, and the operation code is replaced by "23” from the "13” in accordance with the permutation matrix.
  • the bytecode of the replaced instruction is "2301 300".
  • the normal dex reverse tool will not be able to restore any instructions in the dex file without the permutation matrix.
  • the obfuscator 100 also adds some necessary information to the head of the dex file, which will help the execution environment to distinguish between the normal app and the confusing app during the installation and execution of the APK.
  • the confusing dex file will be repackaged into a confusing APK file.
  • the confusing APK generated by different permutation matrices belongs to different series. Each series of confusing APK can only be installed and executed in the corresponding execution environment. This further ensures the security of the permutation matrix and the confusing APK can resist dynamic analysis.
  • the Token Generator 200 is a tool that uses a permutation matrix to generate a Token.
  • the Token must carry the interpreter necessary to interpret the obfuscated app.
  • the interpreter carried in the Token generated by using the different permutation matrix is also different.
  • the app confused by the obfuscator 100 can only be in the same
  • the interpreter generated by the permutation matrix can be executed.
  • the opcode of each instruction in the confusing app is different from the original instruction. To correctly execute each instruction, these opcodes need to be restored. Otherwise, the confusing application cannot be The general Android system is executed normally. So when a particular terminal needs to run a confusing application, the corresponding interpreter needs to be loaded first. The interpreter and the permutation matrix used in the confusion A correspondence, that is, the interpreter needs to restore the instructions.
  • the permutation matrix replaces the content of the interpretation function of each instruction in the interpreter, thus ensuring the function of correctly restoring the instruction when interpreting the obfuscated app generated by the same permutation matrix.
  • the Token is distributed to the end user through the OTA method, and the OTA (Over-The-Air) can remotely manage the mobile data and the application through the air interface of the mobile communication (GSM or CDMA) network, and the air interface can adopt the WAP.
  • GSM mobile communication
  • CDMA1X the popular short message (SMS) technology to support wireless download of various terminals.
  • SMS short message
  • the obfuscator 100 confuses each instruction in the application 111 with a permutation matrix and generates a transformed application 112, and the transformed application 112 is published to the mobile phone system.
  • the Token generator 200 is also used to interpret the "transformed application-specific interpreter" 113 of the application that has undergone the instruction set replacement and the system patch for installing the replaced application according to the same permutation matrix (not The interpreter "113 corresponding to the transformed application and the system patch (not shown) for installing the replaced application are distributed to the mobile phone system by the OTA method.
  • the changed application is interpreted in the mobile phone system using the "Interpreter corresponding to the transformed application” 113.
  • the "interpreter corresponding to the transformed application” 113 and the original universal interpreter 115 coexist, and other parts of the mobile phone system are also modified to a certain extent to be correct in executing the confusing application. Switch to the "Interpreter corresponding to the transformed application” 113.
  • 3 is a flow chart showing an application protection method according to an embodiment of the present invention.
  • the application protection method of the present invention includes the following steps:
  • a replacement matrix generation step S101 corresponding to a specific device A, generating a random permutation matrix M;
  • Token generation step S102 generating a Token corresponding to a specific device A according to the random permutation matrix M, wherein the Token includes an interpreter I for interpreting an application that has undergone instruction set replacement and supporting installing such a transformed APK a system patch of the program, wherein the interpreter I can transform based on the permutation relationship of the matrix M.
  • the permutation matrix M specifies the permutation relationship of i to j (i, j is a number), and the instruction xi and the instruction x j are interpreted The function is replaced by a function;
  • Instruction set replacement step S103 the interpreter performs instruction set replacement on the application matrix to be protected according to the permutation matrix M to generate a protected application, specifically, according to the permutation matrix M, static code for a specific Android application to be protected Decompile, get all the bytecodes (DexBytecode) of an APK program, and then replace the application bytecode xi to be protected with bytecode x j ;
  • Token issuing step S104 issuing the Token to the holder of the specific device A, and replacing the original interpreter by means of OTA update;
  • the application issuance step S105 distributing the protected application to the holder of the specific device A, and installing by using the original installation method;
  • Application installation step S106 The newly installed interpreter I is responsible for interpreting and executing the installation of the protected application, and also supports the execution of the original normal code.
  • the application protection system and method of the present invention it is possible to effectively prevent an attacker from attacking an application by decompiling. It is suitable for scenarios that can control the terminal system.
  • the cloud POS is based on the Android customized system.
  • This invention can ensure the security of the application running on the cloud POS, and the developer does not need any modification work.
  • the confusing technology of the instruction set replacement idea can effectively assist the Android app publisher to protect the data word copyright of the App application developed by itself and can effectively resist the attacks from the bottom of the system such as dynamic injection and dynamic debugging.

Abstract

本发明涉及一种应用程序保护系统以及应用程序保护系统方法。该应用程序保护系统具备:混淆器,用于对应用程序中的指令进行指令集置换;以及Token生成器,用于生成Token,其中所述Token包括用于解释经过指令集置换的应用程序的解释器和用于安装经置换的应用程序的系统补丁。利用本发明的应用程序保护系统以及应用程序保护系统方法,能够有效抵御动态注入、动态调试等来自系统底层的攻击,能够有效对应用程序进行数字版权保护。

Description

一种应用程序保护系统和方法 技术领域
本发明涉及计算机安全领域,特别涉及对Android应用程序进行保护的系统和方法。
背景技术
随着智能手机的推广和普及,手机安全问题更为突出,各种各样恶意软件不断涌现,对一些安全应用程序进行恶意操作,导致应用程序不可用或者遭到篡改。
为了保护应用程序,在专利文献1(CN201110057866.2)提出了一种应用程序保全保护方法以及数字版权保护保护系统。专利文献1提出的应用程序版权保护方法及数字版权保护系统主要是通过在应用中增加鉴权模块,通过与服务器进行鉴权来进行保护。
在专利文献2(CN200580047317.X)中也提出了一种用于保护软件应用防止盗版的方法和系统。专利文献2提出的用于保护软件应用防止盗版的方法和系统主要是通过将程序的一部分放到服务器执行来进行保护,通过执行在服务器的部分程序对软件应用进行保护。
以上两种方案的缺点是如果通过对程序进行反编译,将鉴权模块进行修改或者屏蔽,则无法保护应用程序。
Android应用程序APK的全称是Android Package,APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到可执行代码Dex部分,即Android Dalvik执行程序。Android可执行代码是由Java语言编写的程序编译和转化而成的Dalvik字节码。这种字节码一般非常容易反编译。恶意软件和攻击者通过反编译APK文件进行汇编级的代码分析,并修改或插入自己的代码,重新签名打包为APK文件,以达到改变程序原有行为的目的。
已有的APK保护技术主要是通过代码混淆来保护代码。ProGuard当前主 流的混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。
同样,ProGuard的方式并不能阻止攻击者反编译后,对Android应用程序进行攻击。
发明内容
鉴于上述问题,本发明旨在提供一种能够有效防止攻击者通过对应用程序反编译进行攻击并且能够抵御动态注入、动态调试等攻击Android应用程序的系统以及方法。
本发明的应用程序保护系统,其特征在于,具备:
混淆器,用于对应用程序中的指令进行指令集置换;以及
Token生成器,用于生成Token,其中所述Token包括用于解释经过指令集置换的应用程序的解释器和用于安装经置换的应用程序的系统补丁。
优选地,所述混淆器使用置换矩阵对应用程序中的指令进行指令集置换,所述解释器使用与所述混淆器一一对应的置换矩阵对经过指令集置换的应用程序中的指令进行解释。
优选地,所述混淆器使用随机置换矩阵对应用程序中的指令进行指令集置换。
优选地,所述混淆器对应用程序中的每一条指令进行指令集置换,所述解释器对经过指令集置换的应用程序中的每一条指令进行解释。
优选地,所述混淆器对应用程序中指令进行指令集置换以使得保留原指令的所有操作数而变换原指令的操作码。
本发明的应用程序保护方法,其特征在于,包括下述步骤:
置换矩阵生成步骤,对于设备A生成置换矩阵M;
Token生成步骤,根据所述置换矩阵M生成对应设备A的Token,其中,所述Token至少包括用于解释经过指令集置换的应用程序的解释器;
指令集置换步骤,根据所述矩阵M对待保护的应用程序进行指令集置换生成保护后的应用程序;
Token发布步骤,将Token发布给设备A的持有者;
应用程序发放步骤,将保护后的应用程序分发给设备A的持有者;以及
应用程序安装步骤,以所述Token中的所述解释器对保护后的应用程序执行安装。
优选地,在所述置换矩阵生成步骤中,随机产生所述置换矩阵。
优选地,在所述Token生成步骤中,生成的所述Token还包括用于安装经置换的应用程序的系统补丁。
优选地,所述指令集置换步骤包括下述子步骤:
根据所述置换矩阵M,对待保护的应用程序进行静态的代码反编译并获取一个应用程序的所有字节码,其中所述置换矩阵M指定i到j的置换关系,其中i,j为自然数;
将待保护的应用程序子节码从xi置换到xj
优选地,在所述Token发布步骤中,通过OTA方式向将Token发布给设备A的持有者。
附图说明
图1是表示本发明一实施方式的应用程序保护系统的示意图。
图2是表示利用本发明中的混淆器进行指令集置换的示意图。
图3是表示本发明一实施方式的应用程序保护方法的流程图。
具体实施方式
下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。
图1是表示本发明一实施方式的应用程序保护系统的示意图。下面参照图1对于本发明一实施方式的应用程序保护系统进行说明。
本发明的应用程序保护系统是一种适用于移动智能终端的应用程序保护系统,具体地,采用了基于指令集置换思想的混淆技术,主要的用途是协助Androidapp发行商对自己开发的App进行数字版权保护,同时该系统也能够抵御动态注入、动态调试等来自系统底层的攻击。
如图1所示,本发明的应用程序保护系统,具备用于对应用程序111中的 指令进行指令集置换混淆器100;以及用于使用矩阵生成Token的Token生成器200。
混淆器100对应用程序的dex文件中的指令进行混淆,也就是所谓的指令集置换。混淆器100会依据应用程序的dex文件进行解析,通过类→方法→指令的层次来对整个dex文件中的每一条指令来进行遍历,在遍历的过程中,混淆器100会使用规定的置换矩阵(例如,随机挑选)对每一条指令进行置换,经过置换后的指令保留原指令的所有操作数,但是用于识别指令的操作码已经改变。
图2是表示利用本发明中的混淆器进行指令集置换的示意图。
如图2所示,原指令的字节码为:“1301 300”,其中操作码是“13”,操作数是“01 3000”。经过指令集置换后,原来的操作数“01 3000”没有改变,操作码从“13”按照置换矩阵置换成“23”,这样,置换后的指令的字节码为:“2301 300”。
由于经过置换后,操作码已经改变,因此,在不具有置换矩阵的情况下,普通的dex逆向工具将无法还原dex文件中的任何指令。
另外,完成对指令的混淆之后,混淆器100还会在dex文件的头部添加一些必要的信息,这些信息将在APK的安装和执行过程中帮助执行环境分辨普通app和混淆过的app。
经过混淆的dex文件将会被重打包成一个经过混淆的APK文件,由不同置换矩阵生成的混淆APK属于不同的系列,每一个系列的混淆APK只能在对应的执行环境中才能被安装和执行,这一点进一步保证了置换矩阵的安全性以及混淆后的APK能够抵御动态分析。
Token生成器200是使用置换矩阵来生成Token的工具。在本发明中,Token必须携带解释执行混淆后app所必须的解释器,使用不同置换矩阵所生成的Token中携带的解释器也不相同,经过混淆器100混淆后的app只能在由同一个置换矩阵所生成的解释器中才能执行。
如图2所示,经过混淆后的app中每一条指令的操作码已经和原本的指令不同,要正确的执行每一条指令就需要对这些操作码进行还原,否则混淆过的应用程序并不能被通用的Android系统正常执行。所以当特定的终端需要运行被混淆过的应用程序时,需要先加载对应的解释器。该解释器与混淆所用的置换矩阵一 一对应,也就是解释器需要将指令进行还原。
而且,还原不能是显式的,因为这样会造成安全隐患。根据置换矩阵对解释器中每一条指令的解释函数中的内容进行置换,这样保证了在解释执行由同一置换矩阵生成的混淆app时能够正确还原指令的功能。
在这种情况下,对于解释器的逆向分析将会变得十分困难,攻击者并不能从逆向后的代码中直接的得到有关置换矩阵的信息,而对于解释函数的解读则是十分繁琐的,会耗费大量的时间与精力。
在本发明中Token通过OTA的方式向终端用户发布,OTA(Over-The-Air)可以通过移动通信(GSM或CDMA)网络的空中接口对移动数据及应用进行远程管理,而空中接口可以采用WAP、GPRS、CDMA1X以及广为普及的短消息(SMS)技术,以支持各类终端的无线下载。通过采用OTA方式,能够保证用户仅能得到属于自己的Token,这也保证了Token的安全性.。而且,由于Token中并不显式的携带置换矩阵,而对于底层解释器的提取和逆向存在着很大的困难,这就进一步保证了置换矩阵的安全性,也就是保证了整个系统的安全性。
再回到图1,对于本发明Android应用程序保护系统进行说明。如图1所示,通过混淆器100对应用程序111中的每一条指令利用置换矩阵进行混淆并生成变换后的应用程序112,变换后的应用程序112被发布到手机系统。
另一方面,Token生成器200也根据相同的置换矩阵用于解释经过指令集置换的应用程序的“变换的应用程序对应的解释器”113和用于安装经置换的应用程序的系统补丁(未图示)并且利用OTA方式将变换的应用程序对应的解释器”113和用于安装经置换的应用程序的系统补丁(未图示)发布到手机系统。
在手机系统利用“变换的应用程序对应的解释器”113对变化后的应用程序进行解释。另一方面,“变换的应用程序对应的解释器”113和原有的通用解释器115共存,手机系统的其他部分也会遭到一定程度的修改以使得在执行混淆后的应用程序时能够正确地切换到“变换的应用程序对应的解释器”113。
下面对于本发明的应用程序保护方法进行说明。图3是表示本发明一实施方式的应用程序保护方法的流程图。
如图3所示,本发明的应用程序保护方法包括下述步骤:
置换矩阵生成步骤S101:对应一台特定设备A,生成一个随机置换矩阵M;
Token生成步骤S102:根据所述随机置换矩阵M,生成对应特定设备A的Token,其中,所述Token包括用于解释经过指令集置换的应用程序的解释器I和支持安装此类变换后的APK程序的系统补丁,其中,解释器I能够基于矩阵M的置换关系进行变换,例如,置换矩阵M指定了i到j的置换关系(i、j为数字),则将指令xi与指令xj解释函数进行置换得到;
指令集置换步骤S103:解释器根据所述置换矩阵M对待保护的应用程序进行指令集置换生成保护后的应用程序,具体地,根据置换矩阵M,对特定待保护的Android应用程序进行静态的代码反编译,获取一个APK程序的所有字节码(DexBytecode),然后将待保护的应用程序字节码xi置换为字节码xj
Token发布步骤S104:将Token发布给特定设备A的持有者,通过OTA更新的方式,替换原有的解释器;
应用程序发放步骤S105:将保护后的应用程序分发给特定设备A的持有者,通过原有的安装方式即可实现安装;以及
应用程序安装步骤S106:在新安装的解释器I负责对对保护后的应用程序进行解释并执行安装,同时也支持原有正常代码的执行。
利用本发明的应用程序保护系统以及方法,能够有效的防止攻击者通过对应用程序反编译进行攻击。适用于能够对终端系统有一定掌控力的场景下,比如云POS是基于Android定制系统的,通过此发明可以保证运行于云POS之上应用程序的安全,而开发者无需任何改造工作。在本发明中,通过采用指令集置换思想的混淆技术,能够有效协助Android app发行商对自己开发的App应用程序进行数据字版权保护并且能够有效抵御动态注入、动态调试等来自系统底层的攻击。
以上例子主要说明了本发明的应用程序保护系统以及方法。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

Claims (10)

  1. 一种应用程序保护系统,其特征在于,具备:
    混淆器,用于对应用程序中的指令进行指令集置换;以及
    Token生成器,用于生成Token,其中所述Token包括用于解释经过指令集置换的应用程序的解释器和用于安装经置换的应用程序的系统补丁。
  2. 如权利要求1所述的应用程序保护系统,其特征在于,
    所述混淆器使用置换矩阵对应用程序中的指令进行指令集置换,
    所述解释器使用与所述混淆器一一对应的置换矩阵对经过指令集置换的应用程序中的指令进行解释。
  3. 如权利要求1所述的应用程序保护系统,其特征在于,
    所述混淆器使用随机置换矩阵对应用程序中的指令进行指令集置换。
  4. 如权利要求1所述的应用程序保护系统,其特征在于,
    所述混淆器对应用程序中的每一条指令进行指令集置换,所述解释器对经过指令集置换的应用程序中的每一条指令进行解释。
  5. 如权利要求1所述的应用程序保护系统,其特征在于,
    所述混淆器对应用程序中指令进行指令集置换以使得保留原指令的所有操作数而变换原指令的操作码。
  6. 一种应用程序保护方法,其特征在于,包括下述步骤:
    置换矩阵生成步骤,对于设备A生成置换矩阵M;
    Token生成步骤,根据所述置换矩阵M生成对应设备A的Token,其中,所述Token至少包括用于解释经过指令集置换的应用程序的解释器;
    指令集置换步骤,根据所述矩阵M对待保护的应用程序进行指令集置换生成保护后的应用程序;
    Token发布步骤,将Token发布给设备A的持有者;
    应用程序发放步骤,将保护后的应用程序分发给设备A的持有者;以及
    应用程序安装步骤,以所述Token中的所述解释器对保护后的应用程序执行安装。
  7. 如权利要求6所述的应用程序保护方法,其特征在于,
    在所述置换矩阵生成步骤中,随机产生所述置换矩阵。
  8. 如权利要求6所述的应用程序保护方法,其特征在于,
    在所述Token生成步骤中,生成的所述Token还包括用于安装经置换的应用程序的系统补丁。
  9. 如权利要求6所述的应用程序保护方法,其特征在于,
    所述指令集置换步骤包括下述子步骤:
    根据所述置换矩阵M,对待保护的应用程序进行静态的代码反编译
    并获取一个应用程序的所有字节码,其中所述置换矩阵M指定i到j的置换关系,其中i,j为自然数;
    将待保护的应用程序子节码从xi置换到xj
  10. 如权利要求6所述的应用程序保护方法,其特征在于,
    在所述Token发布步骤中,通过OTA方式向将Token发布给设备A的持有者。
PCT/CN2014/088613 2013-10-23 2014-10-15 一种应用程序保护系统和方法 WO2015058639A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310501315.XA CN104573424A (zh) 2013-10-23 2013-10-23 一种应用程序保护系统和方法
CN201310501315.X 2013-10-23

Publications (1)

Publication Number Publication Date
WO2015058639A1 true WO2015058639A1 (zh) 2015-04-30

Family

ID=52992252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/088613 WO2015058639A1 (zh) 2013-10-23 2014-10-15 一种应用程序保护系统和方法

Country Status (2)

Country Link
CN (1) CN104573424A (zh)
WO (1) WO2015058639A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760736B2 (en) 2015-09-29 2017-09-12 International Business Machines Corporation CPU obfuscation for cloud applications

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868589B (zh) * 2016-03-30 2019-11-19 网易(杭州)网络有限公司 一种脚本加密方法、脚本运行方法及装置
CN106843919B (zh) * 2016-12-12 2021-02-23 北京奇虎科技有限公司 一种dex文件的存储方法和装置
CN109697339A (zh) * 2017-10-20 2019-04-30 南京理工大学 一种基于动态虚拟指令变换的Android应用安全保护方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831342A (zh) * 2012-07-28 2012-12-19 北京深思洛克软件技术股份有限公司 一种提高安卓系统中应用程序保护强度的方法
CN103065072A (zh) * 2011-10-21 2013-04-24 北京大学 提高Java软件破解难度的方法及装置、版权验证方法
CN103324872A (zh) * 2013-07-12 2013-09-25 上海交通大学 基于指令混淆的Android应用程序保护方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103065072A (zh) * 2011-10-21 2013-04-24 北京大学 提高Java软件破解难度的方法及装置、版权验证方法
CN102831342A (zh) * 2012-07-28 2012-12-19 北京深思洛克软件技术股份有限公司 一种提高安卓系统中应用程序保护强度的方法
CN103324872A (zh) * 2013-07-12 2013-09-25 上海交通大学 基于指令混淆的Android应用程序保护方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760736B2 (en) 2015-09-29 2017-09-12 International Business Machines Corporation CPU obfuscation for cloud applications
US10592696B2 (en) 2015-09-29 2020-03-17 International Business Machines Corporation CPU obfuscation for cloud applications

Also Published As

Publication number Publication date
CN104573424A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
KR101471589B1 (ko) 공통중간언어 기반 프로그램을 위한 보안 제공 방법
WO2016078130A1 (zh) 一种防逆向apk文件的动态加载方法
KR101518420B1 (ko) 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법
CN104680039B (zh) 一种应用程序安装包的数据保护方法及装置
JP6227772B2 (ja) 動的ライブラリを保護する方法及び装置
CN104408337A (zh) 一种apk文件防逆向的加固方法
CN108363911B (zh) 一种Python脚本混淆、水印的方法及装置
CN103902859A (zh) 基于JAVA下hook技术的代码保护方法及系统
CN104239757A (zh) 应用程序防止逆向的方法及装置、运行方法及终端
WO2016206297A1 (zh) Android系统中保护dex文件不被反编译的方法
CN103324872A (zh) 基于指令混淆的Android应用程序保护方法及系统
CN108399319B (zh) 源代码保护方法、应用服务器及计算机可读存储介质
EP3126973A1 (en) Method, apparatus, and computer-readable medium for obfuscating execution of application on virtual machine
CN103177199A (zh) 网页应用代码保护方法及系统和执行的提速方法及系统
CN109598107B (zh) 一种基于应用安装包文件的代码转换方法及装置
WO2015058639A1 (zh) 一种应用程序保护系统和方法
CN105631251A (zh) 一种apk加固保护方法及系统
WO2016201853A1 (zh) 加解密功能的实现方法、装置及服务器
CN107609394A (zh) Android安装包的防篡改方法、存储设备及装置
KR101734663B1 (ko) 안드로이드 어플리케이션의 역공학 방지 방법 및 이를 수행하는 장치
KR101536920B1 (ko) Arm 프로세서 기반의 파일 난독화 방법
JP5575950B2 (ja) 無線端末装置およびシステム保護方法
CN107766061A (zh) 一种安卓应用程序的安装方法和安装系统
KR101638257B1 (ko) 애플리케이션의 소스 코드 보호 방법 및 이를 수행하는 장치
KR101604892B1 (ko) 안드로이드 기반 어플리케이션의 부정사용 방지 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14855336

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24/08/2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14855336

Country of ref document: EP

Kind code of ref document: A1