CN105975816A - 移动终端下基于虚拟技术的代码保护方法及系统 - Google Patents
移动终端下基于虚拟技术的代码保护方法及系统 Download PDFInfo
- Publication number
- CN105975816A CN105975816A CN201510984580.7A CN201510984580A CN105975816A CN 105975816 A CN105975816 A CN 105975816A CN 201510984580 A CN201510984580 A CN 201510984580A CN 105975816 A CN105975816 A CN 105975816A
- Authority
- CN
- China
- Prior art keywords
- instruction
- code
- custom
- operation code
- machine
- 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 54
- 238000004088 simulation Methods 0.000 claims description 33
- 238000013507 mapping Methods 0.000 claims description 28
- 230000008901 benefit Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 19
- 230000008859 change Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process 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
-
- 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/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1015—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to users
-
- 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/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
Abstract
本发明提出移动终端下基于虚拟技术的代码保护方法及系统,首先解析可执行文件的代码块,获取代码块中的代码指令,之后将代码指令拆分为机器指令,并将拆分出的标准机器指令置换为用户自定制的私有自定义指令格式和含义,保留原有操作数,在执行过程中通过虚拟技术执行自定义指令,从而实现实际执行代码的目的。本发明能对重要执行代码和逻辑进行保护,使其不被逆向工程,且自定义指令通过虚拟技术进行执行,不用担心其在多硬件架构上的跨平台问题。
Description
技术领域
本发明涉及移动安全技术领域,尤其涉及移动终端下基于虚拟技术的代码保护方法及系统。
背景技术
安卓系统目前支持多种可执行文件格式,例如APK、DEX、ELF等,并且在安卓4.4之后添加了一种新的运行时环境ART,该运行时环境下的可执行文件格式为OAT,安卓5.0以后,便将原来的Dalvik运行时环境完全替代ART运行时环境,并且安卓系统在运行的CPU架构上,除了ARM,还增加了对X86、MIPS以及ARM64位的支持。
由于标准的指令架构下的可执行代码采用公开标准的指令格式和定义,所以其能够被通用的逆向分析工具进行反编译或反汇编。例如,对于APK及DEX文件,可以被APKTool、dex2jar以及JEB等反编译工具进行反编译,对于ELF文件,可以通过IDA及hexray反编译工具进行反编译,从而进行代码的分析和逆向还原。目前有很多黑客利用这一手段对代码进行恶意分析,严重危害信息安全。
发明内容
针对目前安卓系统平台中的可执行文件易被反编译和逆向还原,本发明提出了移动终端下基于虚拟技术的代码保护方法及系统,首先解析可执行文件的代码块,获取代码块中的代码指令,之后将代码指令拆分为机器指令,并将拆分出的标准机器指令置换为用户自定制的私有自定义指令格式和含义,保留原有操作数,在执行过程中通过虚拟技术执行自定义指令,从而实现实际执行代码的目的。
具体发明内容包括:
移动终端下基于虚拟技术的代码保护方法,包括:
识别和解析安卓系统中的可执行文件,并确定可执行文件代码块在内存中的分布位置,该过程支持多种可执行文件的格式识别和解析,包括APK、DEX、ELF、OAT等格式的可执行文件;
解析可执行文件代码块,获取代码指令,并将代码指令拆分为由操作码和操作数构成的机器指令,该过程支持多种架构下的代码指令的获取、识别和解析,包括Dalvik、ARM、Thumb、ARM64、X86、MIPS等架构下的代码指令,并将解析的各代码指令拆分为相应架构下的机器指令;
根据标准指令与自定义指令映射表,将机器指令置换为自定义指令;
当执行自定义指令时,根据标准指令与自定义指令映射表,对自定义指令的实际指令类型进行解析;
根据自定义指令的实际指令类型,对自定义指令进行模拟执行,该过程支持对不同架构下的机器指令进行模拟执行。
进一步地,所述标准指令与自定义指令映射表包含各指令类型的机器指令的标准操作码与自定义操作码的对应关系,且一个标准操作码对应至少一个自定义操作码,一个自定义操作码只对应一个标准操作码。
进一步地,所述根据标准指令与自定义指令映射表,将机器指令置换为自定义指令,具体为:根据标准指令与自定义指令映射表,将待保护指令类型的机器指令的标准操作码置换为自定义操作码,机器指令的操作数不变。
进一步地,所述指令类型包括:算数指令、逻辑指令、跳转指令、过程调用指令、加载/存储指令。
进一步地,所述对自定义指令进行模拟执行,包括模拟实现自定义指令对应的实际机器指令,还包括模拟不同架构的寄存器,模拟内存分配,以及模拟产生的系统调用和API调用;其中,所述寄存器包括通用寄存器、状态寄存器;其中模拟不同架构的寄存器,模拟内存分配具体为:根据所要模拟执行的机器指令在执行过程中所占的内存,模拟分配一定的内存空间,实现模拟对内存的操作,并将模拟分配的内存空间中的一部分模拟为栈空间,利用模拟对寄存器的操作来模拟使用所述栈空间。
移动终端下基于虚拟技术的代码保护系统,包括:
可执行文件解析模块,用于识别和解析安卓系统中的可执行文件,并确定可执行文件代码块在内存中的分布位置,该过程支持多种可执行文件的格式识别和解析,包括APK、DEX、ELF、OAT等格式的可执行文件;
指令获取模块,用于解析可执行文件代码块,获取代码指令,并将代码指令拆分为由操作码和操作数构成的机器指令,该过程支持多种架构下的代码指令的获取、识别和解析,包括Dalvik、ARM、Thumb、ARM64、X86、MIPS等架构下的代码指令,并将解析的各代码指令拆分为相应架构下的机器指令;
自定义指令置换模块,用于根据标准指令与自定义指令映射表,将机器指令置换为自定义指令;
指令类型解析模块,用于当执行自定义指令时,根据标准指令与自定义指令映射表,对自定义指令的实际指令类型进行解析;
模拟执行模块,用于根据自定义指令的实际指令类型,对自定义指令进行模拟执行。
进一步地,所述标准指令与自定义指令映射表包含各指令类型的机器指令的标准操作码与自定义操作码的对应关系,且一个标准操作码对应至少一个自定义操作码,一个自定义操作码只对应一个标准操作码。
进一步地,所述自定义指令置换模块,具体用于:根据标准指令与自定义指令映射表,将待保护指令类型的机器指令的标准操作码置换为自定义操作码,机器指令的操作数不变。
进一步地,所述指令类型包括:算数指令、逻辑指令、跳转指令、过程调用指令、加载/存储指令。
进一步地,所述对自定义指令进行模拟执行,包括模拟实现自定义指令对应的实际机器指令,还包括模拟不同架构的寄存器,模拟内存分配,以及模拟产生的系统调用和API调用;其中,所述寄存器包括通用寄存器、状态寄存器;其中模拟不同架构的寄存器,模拟内存分配具体为:根据所要模拟执行的机器指令在执行过程中所占的内存,模拟分配一定的内存空间,实现模拟对内存的操作,并将模拟分配的内存空间中的一部分模拟为栈空间,利用模拟对寄存器的操作来模拟使用所述栈空间。
本发明的有益效果是:
针对目前安卓系统平台中的可执行文件易被反编译和逆向还原,本发明提出了移动终端下基于虚拟技术的代码保护方法及系统,将可执行文件解析为机器指令,并按规定将机器指令置换为自定义指令,起到了保护代码的作用,逆向分析工具无法正确解析保护后的自定义指令,只能获取出无法识别的二进制序列,故本发明能对重要执行代码和逻辑进行保护,使其不被逆向工程;
本发明自定义指令通过虚拟技术进行执行,不用担心其在多硬件架构上的跨平台问题,且虚拟执行过程中完全按照自定义指令与实际指令间的对应关系进行执行,从而达到执行实际代码的目的。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明移动终端下基于虚拟技术的代码保护方法的自定义指令生成方法流程图;
图2为本发明移动终端下基于虚拟技术的代码保护方法的自定义指令执行方法流程图;
图3为本发明移动终端下基于虚拟技术的代码保护系统结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明给出了移动终端下基于虚拟技术的代码保护方法的自定义指令生成方法实施例,如图1所示,包括:
S101:识别和解析安卓系统中的可执行文件,并确定可执行文件代码块在内存中的分布位置,该过程支持多种可执行文件的格式识别和解析,包括APK、DEX、ELF、OAT等格式的可执行文件;
S102:解析可执行文件代码块,获取代码指令,并将代码指令拆分为由操作码和操作数构成的机器指令,该过程支持多种架构下的代码指令的获取、识别和解析,包括Dalvik、ARM、Thumb、ARM64、X86、MIPS等架构下的代码指令,并将解析的各代码指令拆分为相应架构下的机器指令;
S103:根据标准指令与自定义指令映射表,将机器指令置换为自定义指令。
优选地,所述标准指令与自定义指令映射表包含各指令类型的机器指令的标准操作码与自定义操作码的对应关系,且一个标准操作码对应至少一个自定义操作码,一个自定义操作码只对应一个标准操作码。
优选地,所述根据标准指令与自定义指令映射表,将机器指令置换为自定义指令,具体为:根据标准指令与自定义指令映射表,将待保护指令类型的机器指令的操作码置换为自定义操作码,机器指令的操作数不变,根据需求,该过程可以将全部机器指令置换为自定义指令,也可将其中一些指令类型的机器指令置换为自定义指令,该指令置换过程的实现方法有两种,一种是通过更改机器指令格式来实现,另一种是通过指令函数实现,以ARM下的mov指令为例:
假设要求对ARM架构下的mov指令进行保护,以其中一条mov指令为例,假设该指令为mov r1, r0,则
若通过更改机器指令格式来实现指令置换,且根据标准指令与自定义指令映射表,mov指令操作码对应的自定义操作码为0x88的一个字节,指令mov r1, r0的机器指令格式为:
Opcode(操作码) | Op1(操作数1) | Op2(操作数2) |
mov | r1 | r0 |
则该mov指令可以被置换为如下形式的自定义指令:
Opcode(操作码) | Op1(操作数1) | Op2(操作数2) |
0x88 | 16个bit位 | 16个bit位 |
自定义指令中0x88的一个字节对应mov指令的操作码,操作数不变,但是换为用16bit位表示,0x88后的第一个16bit位为mov指令操作数1,第二个16bit位为mov指令操作数2;
若通过指令函数来实现指令置换,则需自定义类似如下形式的置换方法:
def func_mov
(op1, op2) {
op1=op2;
}
其实现置换过程的伪代码为:
fake_mov r1, op1;
fake_mov r0, op2;
fake_push r1;
fake_push r0;
fake_blx func_mov;
其中r1,r0为虚拟寄存器,实现虚拟栈空间,首先将mov指令的操作数1移动到虚拟寄存器r1,将mov指令的操作数2移动到虚拟寄存器r0,然后将r1、r2的值压入栈顶,最后调用置换方法,实现指令置换。
本发明还给出了移动终端下基于虚拟技术的代码保护方法的自定义指令执行方法实施例,如图2所示,包括:
S201:当执行自定义指令时,根据标准指令与自定义指令映射表,对自定义指令的实际指令类型进行解析;
S202:根据自定义指令的实际指令类型,对自定义指令进行模拟执行,该过程支持对不同架构下的机器指令进行模拟执行。
优选地,所述指令类型包括:算数指令、逻辑指令、跳转指令、过程调用指令、加载/存储指令。
优选地,所述对自定义指令进行模拟执行,包括模拟实现自定义指令对应的实际机器指令,还包括模拟不同架构的寄存器,模拟内存分配,以及模拟产生的系统调用和API调用;其中,所述寄存器包括通用寄存器、状态寄存器;
所述模拟不同架构的寄存器,模拟内存分配具体为:根据所要模拟执行的机器指令在执行过程中所占的内存,模拟分配一定的内存空间,实现模拟对内存的操作,并将模拟分配的内存空间中的一部分模拟为栈空间,利用模拟对寄存器的操作来模拟使用所述栈空间;
所述模拟产生的系统调用和API调用具体为:对可能产生的,具有实际文件系统写入、网络连接、通讯行为等敏感行为的系统调用和API调用,编写简易代码,通过代码进行模拟实现;对于其他可能产生的,不存在上述敏感行为的系统调用和API调用,根据具体机器指令类型,向系统和API传递参数,并获取返回值,实现模拟过程。
本发明还给出了移动终端下基于虚拟技术的代码保护的系统实施例,如图3所示,包括:
可执行文件解析模块301,用于识别和解析安卓系统中的可执行文件,并确定可执行文件代码块在内存中的分布位置,该过程支持多种可执行文件的格式识别和解析,包括APK、DEX、ELF、OAT等格式的可执行文件;
指令获取模块302,用于解析可执行文件代码块,获取代码指令,并将代码指令拆分为由操作码和操作数构成的机器指令,该过程支持多种架构下的代码指令的获取、识别和解析,包括Dalvik、ARM、Thumb、ARM64、X86、MIPS等架构下的代码指令,并将解析的各代码指令拆分为相应架构下的机器指令;
自定义指令置换模块303,用于根据标准指令与自定义指令映射表,将机器指令置换为自定义指令;
指令类型解析模块304,用于当执行自定义指令时,根据标准指令与自定义指令映射表,对自定义指令的实际指令类型进行解析;
模拟执行模块305,用于根据自定义指令的实际指令类型,对自定义指令进行模拟执行。
优选地,所述标准指令与自定义指令映射表包含各指令类型的机器指令的标准操作码与自定义操作码的对应关系,且一个标准操作码对应至少一个自定义操作码,一个自定义操作码只对应一个标准操作码。
优选地,所述自定义指令置换模块303,具体用于:根据标准指令与自定义指令映射表,将待保护指令类型的机器指令的操作码置换为自定义操作码,机器指令的操作数不变。
优选地,所述指令类型包括:算数指令、逻辑指令、跳转指令、过程调用指令、加载/存储指令。
优选地,所述对自定义指令进行模拟执行,包括模拟实现自定义指令对应的实际机器指令,还包括模拟不同架构的寄存器,模拟内存分配,以及模拟产生的系统调用和API调用;其中,所述寄存器包括通用寄存器、状态寄存器;其中模拟不同架构的寄存器,模拟内存分配具体为:根据所要模拟执行的机器指令在执行过程中所占的内存,模拟分配一定的内存空间,实现模拟对内存的操作,并将模拟分配的内存空间中的一部分模拟为栈空间,利用模拟对寄存器的操作来模拟使用所述栈空间。
本说明书中方法的实施例采用递进的方式描述,对于系统的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。针对目前安卓系统平台中的可执行文件易被反编译和逆向还原,本发明提出了移动终端下基于虚拟技术的代码保护方法及系统,将可执行文件解析为机器指令,并按规定将机器指令置换为自定义指令,起到了保护代码的作用,逆向分析工具无法正确解析保护后的自定义指令,只能获取出无法识别的二进制序列,故本发明能对重要执行代码和逻辑进行保护,使其不被逆向工程;本发明自定义指令通过虚拟技术进行执行,不用担心其在多硬件架构上的跨平台问题,且虚拟执行过程中完全按照自定义指令与实际指令间的对应关系进行执行,从而达到执行实际代码的目的。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (10)
1.移动终端下基于虚拟技术的代码保护方法,其特征在于,包括:
识别和解析安卓系统中的可执行文件,并确定可执行文件代码块在内存中的分布位置;
解析可执行文件代码块,获取代码指令,并将代码指令拆分为由操作码和操作数构成的机器指令;
根据标准指令与自定义指令映射表,将机器指令置换为自定义指令;
当执行自定义指令时,根据标准指令与自定义指令映射表,对自定义指令的实际指令类型进行解析;
根据自定义指令的实际指令类型,对自定义指令进行模拟执行。
2.如权利要求1所述的方法,其特征在于,所述标准指令与自定义指令映射表包含各指令类型的机器指令的标准操作码与自定义操作码的对应关系,且一个标准操作码对应至少一个自定义操作码,一个自定义操作码只对应一个标准操作码。
3.如权利要求2所述的方法,其特征在于,所述根据标准指令与自定义指令映射表,将机器指令置换为自定义指令,具体为:根据标准指令与自定义指令映射表,将待保护指令类型的机器指令的标准操作码置换为自定义操作码,机器指令的操作数不变。
4.如权利要求1或2或3所述的方法,其特征在于,所述指令类型包括:算数指令、逻辑指令、跳转指令、过程调用指令、加载/存储指令。
5.如权利要求1或2或3所述的方法,其特征在于,所述对自定义指令进行模拟执行,包括模拟实现自定义指令对应的实际机器指令,还包括模拟不同架构的寄存器,模拟内存分配,以及模拟产生的系统调用和API调用;其中,所述寄存器包括通用寄存器、状态寄存器。
6.移动终端下基于虚拟技术的代码保护系统,其特征在于,包括:
可执行文件解析模块,用于识别和解析安卓系统中的可执行文件,并确定可执行文件代码块在内存中的分布位置;
指令获取模块,用于解析可执行文件代码块,获取代码指令,并将代码指令拆分为由操作码和操作数构成的机器指令;
自定义指令置换模块,用于根据标准指令与自定义指令映射表,将机器指令置换为自定义指令;
指令类型解析模块,用于当执行自定义指令时,根据标准指令与自定义指令映射表,对自定义指令的实际指令类型进行解析;
模拟执行模块,用于根据自定义指令的实际指令类型,对自定义指令进行模拟执行。
7.如权利要求6所述的系统,其特征在于,所述标准指令与自定义指令映射表包含各指令类型的机器指令的标准操作码与自定义操作码的对应关系,且一个标准操作码对应至少一个自定义操作码,一个自定义操作码只对应一个标准操作码。
8.如权利要求7所述的系统,其特征在于,所述自定义指令置换模块,具体用于:根据标准指令与自定义指令映射表,将待保护指令类型的机器指令的标准操作码置换为自定义操作码,机器指令的操作数不变。
9.如权利要求6或7或8所述的系统,其特征在于,所述指令类型包括:算数指令、逻辑指令、跳转指令、过程调用指令、加载/存储指令。
10.如权利要求6或7或8所述的系统,其特征在于,所述对自定义指令进行模拟执行,包括模拟实现自定义指令对应的实际机器指令,还包括模拟不同架构的寄存器,模拟内存分配,以及模拟产生的系统调用和API调用;其中,所述寄存器包括通用寄存器、状态寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510984580.7A CN105975816B (zh) | 2015-12-25 | 2015-12-25 | 移动终端下基于虚拟技术的代码保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510984580.7A CN105975816B (zh) | 2015-12-25 | 2015-12-25 | 移动终端下基于虚拟技术的代码保护方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105975816A true CN105975816A (zh) | 2016-09-28 |
CN105975816B CN105975816B (zh) | 2019-06-07 |
Family
ID=56988411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510984580.7A Active CN105975816B (zh) | 2015-12-25 | 2015-12-25 | 移动终端下基于虚拟技术的代码保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975816B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168742A (zh) * | 2017-05-19 | 2017-09-15 | 中南大学 | 基于定制安卓平台的应用快速部署方法 |
CN107766702A (zh) * | 2017-05-10 | 2018-03-06 | 平安科技(深圳)有限公司 | 代码混淆方法、装置及计算机可读存储介质 |
CN109446096A (zh) * | 2018-11-06 | 2019-03-08 | 北京知道创宇信息技术有限公司 | 一种智能合约调试方法、装置及其存储介质 |
CN109697339A (zh) * | 2017-10-20 | 2019-04-30 | 南京理工大学 | 一种基于动态虚拟指令变换的Android应用安全保护方法 |
CN110175048A (zh) * | 2019-05-15 | 2019-08-27 | 童先娥 | 一种指令处理方法及处理器 |
CN110196714A (zh) * | 2019-06-04 | 2019-09-03 | 上海合桀软件技术有限公司 | 一种原始命令的转化还原方法、存储设备及终端 |
CN112199163A (zh) * | 2020-10-16 | 2021-01-08 | 常熟理工学院 | 分析解释例程的虚拟指令方法、装置、设备及存储介质 |
CN112287380A (zh) * | 2020-12-24 | 2021-01-29 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN112558505A (zh) * | 2019-09-10 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 工控系统的控制处理方法、装置、工控系统及电子设备 |
CN113536328A (zh) * | 2020-04-21 | 2021-10-22 | 中国移动通信集团重庆有限公司 | 链接库文件加密的方法、装置及计算设备 |
WO2023077749A1 (zh) * | 2021-11-04 | 2023-05-11 | 华为云计算技术有限公司 | 执行操作指令的方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100275034A1 (en) * | 2005-02-11 | 2010-10-28 | Simplex Major Sdn, Bhd. | Software protection method |
CN102831342A (zh) * | 2012-07-28 | 2012-12-19 | 北京深思洛克软件技术股份有限公司 | 一种提高安卓系统中应用程序保护强度的方法 |
CN103077333A (zh) * | 2013-01-22 | 2013-05-01 | 北京理工大学 | 一种Linux系统下软件代码保护方法 |
CN103324481A (zh) * | 2013-06-26 | 2013-09-25 | 网宿科技股份有限公司 | 通过汇编实现代码混淆的编译方法和系统 |
-
2015
- 2015-12-25 CN CN201510984580.7A patent/CN105975816B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100275034A1 (en) * | 2005-02-11 | 2010-10-28 | Simplex Major Sdn, Bhd. | Software protection method |
CN102831342A (zh) * | 2012-07-28 | 2012-12-19 | 北京深思洛克软件技术股份有限公司 | 一种提高安卓系统中应用程序保护强度的方法 |
CN103077333A (zh) * | 2013-01-22 | 2013-05-01 | 北京理工大学 | 一种Linux系统下软件代码保护方法 |
CN103324481A (zh) * | 2013-06-26 | 2013-09-25 | 网宿科技股份有限公司 | 通过汇编实现代码混淆的编译方法和系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766702A (zh) * | 2017-05-10 | 2018-03-06 | 平安科技(深圳)有限公司 | 代码混淆方法、装置及计算机可读存储介质 |
CN107168742B (zh) * | 2017-05-19 | 2018-01-19 | 中南大学 | 基于定制安卓平台的应用快速部署方法 |
CN107168742A (zh) * | 2017-05-19 | 2017-09-15 | 中南大学 | 基于定制安卓平台的应用快速部署方法 |
CN109697339A (zh) * | 2017-10-20 | 2019-04-30 | 南京理工大学 | 一种基于动态虚拟指令变换的Android应用安全保护方法 |
CN109446096B (zh) * | 2018-11-06 | 2021-08-24 | 北京知道创宇信息技术股份有限公司 | 一种智能合约调试方法、装置及其存储介质 |
CN109446096A (zh) * | 2018-11-06 | 2019-03-08 | 北京知道创宇信息技术有限公司 | 一种智能合约调试方法、装置及其存储介质 |
CN110175048A (zh) * | 2019-05-15 | 2019-08-27 | 童先娥 | 一种指令处理方法及处理器 |
CN110196714A (zh) * | 2019-06-04 | 2019-09-03 | 上海合桀软件技术有限公司 | 一种原始命令的转化还原方法、存储设备及终端 |
CN112558505A (zh) * | 2019-09-10 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 工控系统的控制处理方法、装置、工控系统及电子设备 |
CN113536328A (zh) * | 2020-04-21 | 2021-10-22 | 中国移动通信集团重庆有限公司 | 链接库文件加密的方法、装置及计算设备 |
CN112199163A (zh) * | 2020-10-16 | 2021-01-08 | 常熟理工学院 | 分析解释例程的虚拟指令方法、装置、设备及存储介质 |
CN112287380A (zh) * | 2020-12-24 | 2021-01-29 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
WO2023077749A1 (zh) * | 2021-11-04 | 2023-05-11 | 华为云计算技术有限公司 | 执行操作指令的方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105975816B (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975816A (zh) | 移动终端下基于虚拟技术的代码保护方法及系统 | |
CN107077337B (zh) | 用于执行根据两个指令集架构编译的应用编码的系统和方法 | |
CN107480476B (zh) | 一种基于ELF感染的Android本地层指令编译虚拟化加壳方法 | |
US8464230B2 (en) | Methods and systems to implement non-ABI conforming features across unseen interfaces | |
CN104246695A (zh) | 嵌套仿真和动态链接环境 | |
CN104267981A (zh) | 一种加载桌面上的应用布局的方法及装置 | |
CN105159738A (zh) | 一种热补丁实现方法及系统 | |
CN104731622B (zh) | 一种应用程序的加载方法、装置和移动终端 | |
CN101859244A (zh) | 多工具链工程构建方法及系统 | |
CN105204393A (zh) | 基于虚核单片机的单片机生产研发工具及其实现方法 | |
CN105183484A (zh) | 一种多版本应用程序编程接口兼容的方法及装置 | |
US20160048376A1 (en) | Portable binary image format (pbif) for pre-compiled kernels | |
CN106055481B (zh) | 计算机程序的测试方法及装置 | |
CN106020905A (zh) | 一种微控制器固件开发与更新的方法及系统 | |
CN111782334B (zh) | 一种动态链接库文件虚拟化方法、存储介质及终端设备 | |
CN103176838A (zh) | 兼容Android本机程序的方法及系统 | |
CN103544415B (zh) | 一种移动平台应用软件的加固方法 | |
CN105573913A (zh) | 一种onu系统中的程序调试方法及系统 | |
CN110554998A (zh) | 一种通过替换函数内部指令的钩子方法、装置、终端及存储介质 | |
CN103645888A (zh) | 一种自动构建操作系统的系统及方法 | |
CN103198244B (zh) | 保护动态链接库的方法 | |
CN111385661B (zh) | 语音控制全屏播放的方法、装置、终端及存储介质 | |
CN103631585A (zh) | 一种用于开发应用程序的方法及系统 | |
CN109460280B (zh) | 运行程序的方法、终端 | |
KR101083271B1 (ko) | 액티브엑스 컨트롤 변환 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 430076 No. 8 Huacheng Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province Applicant after: Wuhan Antian Information Technology Co., Ltd. Address before: 430000 Hubei Wuhan East Lake New Technology Development Zone Software Park East Road 1 software industry 4.1 phase B4 building 12 stories 01 rooms. Applicant before: Wuhan Antian Information Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |