CN105303072B - 基于art模式的软件加固方法及装置 - Google Patents

基于art模式的软件加固方法及装置 Download PDF

Info

Publication number
CN105303072B
CN105303072B CN201510703597.0A CN201510703597A CN105303072B CN 105303072 B CN105303072 B CN 105303072B CN 201510703597 A CN201510703597 A CN 201510703597A CN 105303072 B CN105303072 B CN 105303072B
Authority
CN
China
Prior art keywords
oat
files
file
dex
ciphertext
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.)
Active
Application number
CN201510703597.0A
Other languages
English (en)
Other versions
CN105303072A (zh
Inventor
李晖
张文
张洪睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang zhuanzhuzhilian Technology Co.,Ltd.
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 李晖
Priority to CN201510703597.0A priority Critical patent/CN105303072B/zh
Publication of CN105303072A publication Critical patent/CN105303072A/zh
Application granted granted Critical
Publication of CN105303072B publication Critical patent/CN105303072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Abstract

本发明提供了一种基于ART模式的软件加固方法及装置,通过运行二次加载dexclassloader函数,判断是否存在oat文件路径;若存在,则根据该oat文件路径在文件系统中调取密文oat文件;并将密文oat文件映射到内存系统中,对该密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。从而实现在ART模式下对软件进行加固处理,使攻击者难于获取到攻击软件的明文字节码,有效保护安卓应用软件的安全。

Description

基于ART模式的软件加固方法及装置
技术领域
本发明涉及应用软件及数据的安全领域,尤其涉及一种基于ART模式的软件加固方法及装置。
背景技术
随着安卓系统的普及,伴随安卓系统的应用也层出不穷。安卓系统为开源系统,应用的分发渠道众多,经常面临着病毒植入、广告替换、支付渠道篡改、钓鱼、信息劫持等风险,如何对应用进行有效的保护,是广大软件开发者一直致力于的难题。
ART模式是安卓在4.4版本中新增的一种应用运行模式,与传统的Dalvik模式不同,ART模式可以实现更为流畅的安卓系统体验,ART相对于Dalvik的一大变化是它不仅支持即时编译(JIT),而且还支持预先编译(AOT)。在Dalvik环境下,应用程序每次运行,都需要先从字节码编译为机器代码才行。而ART环境下可以只编译一次,然后每次应用程序运行时,都可以直接执行编译好的机器代码。很好理解的是,ART模式的预先编译可以明显改善电池续航,因为应用程序每次运行时不用重复编译了,从而减少了对CPU的使用频率,降低能耗。但是,目前的软件加固方法都是基于安卓系统之前的Dalvik模式开发的软件保护系统,应用软件加固是用于Dalvik虚拟机上;随着安卓ART模式的推出,其编译环境、运行机制等都有了很大的变化,因此,亟需重新对ART模式下的应用软件进行软件加固的设计和实现。
发明内容
本发明提供一种基于ART模式的软件加固方法及装置,用于实现对ART模式下的软件进行加固,使攻击者难于获取到攻击软件的明文字节码,有效保护安卓应用软件的安全。
本发明提供一种基于ART模式的软件加固方法,包括:
运行二次加载dexclassloader函数,判断是否存在oat文件路径;
若存在,则根据所述oat文件路径在文件系统中调取密文oat文件;
将所述密文oat文件映射到内存系统中,对所述密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。
本发明还提供一种基于ART模式的软件加固装置,包括:
二次加载模块,用于运行二次加载dexclassloader函数,判断是否存在oat文件路径;
调取模块,用于当所述二次加载模块判断存在oat文件路径时,根据所述oat文件路径在文件系统中调取密文oat文件;
映射模块,用于将所述密文oat文件映射到内存系统中;
解密模块,用于对所述密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。
本发明提供一种基于ART模式的软件加固方法及装置,通过运行二次加载dexclassloader函数,判断是否存在oat文件路径;若存在,则根据该oat文件路径在文件系统中调取密文oat文件;并将密文oat文件映射到内存系统中,对该密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。从而实现在ART模式下对软件进行加固处理,使攻击者难于获取到攻击软件的明文字节码文件,有效保护安卓应用软件的安全。
附图说明
图1为本发明基于ART模式的软件加固方法的实施例一的流程示意图;
图2为本发明基于ART模式的软件加固方法的实施例二的流程示意图;
图3为本发明基于ART模式的软件加固装置的实施例一的结构示意图;
图4为本发明基于ART模式的软件加固装置的实施例二的结构示意图。
具体实施方式
图1为本发明基于ART模式的软件加固方法的实施例一的流程示意图,如图1所示,本实施例所述的基于ART模式的软件加固方法,包括:
步骤101、运行二次加载dexclassloader函数,判断是否存在oat文件路径。
步骤102、若存在oat文件路径,则根据该oat文件路径在文件系统中调取密文oat文件。
步骤103、将密文oat文件映射到内存系统中,对该密文oat文件进行解密操作,得到解密后的明文oat文件,以运行明文oat文件对应的软件。
具体的,本实施例的基于ART模式的软件加固方法可以应用于安装有安卓4.4版本以上,具有ART模式的终端(客户端设备)中,该终端包括:手机终端、平板电脑等。其中,ART模式的英文全称为:Android runtime,其是谷歌Android 4.4系统新增的一种应用运行模式,与传统的Dalvik模式不同,ART模式可以实现更为流畅的安卓系统体验。ART与Dalvik的虚拟机模式不同,外在的体现是两者使用了不同的库文件,一个是libart.so另一个则是libdvm.so。两个模式在APK(APK是Android Package的缩写,即安卓安装包)文件安装时采用的代码优化方式也不一样,Dalvik模式采用dexopt的代码优化方式;ART模式采用dexoat的代码优化方式。Google选择ART模式的原因是使应用在启动时更迅速,对内存RAM的占用少等。然而改进也是要有一些其他代价的,比如ART模式下,应用的安装时长会变长、对ROM的占用会变大。而上述问题的原因可以理解为进行ART模式下dex2oat操作的代码优化时间要比Dalvik模式下dex2opt操作的代码优化时间长。dex2oat会将dex字节码翻译成本地机器码,而dex2opt则是将dex字节码翻译成优化后的字节码,在APK文件运行时再转换成能运行的JIT cache。对于软件加固而言,在ART模式下如果按照在Dalvik模式时的做法,在每次运行APK文件时,重新对dex字节码进行解密并且进行dex2opt代码优化则会产生两个难点问题,一是dex2oat优化时长过长,会导致应用运行的速度明显变慢,每次打开APK过于迟缓;二是dex2oat转化的难度不仅在于函数实现的复杂性,更在于要做到平台兼容性,就必须将代码转化的这一部分自行编程实现,而系统在实现这一部分的时候不同于Dalvik模式下的dexopt代码优化,用到了很多类,而类与类之间的关联性很大,调用层次深,因此很难做到自行编程实现。因此,针对ART模式的特点,采用上述步骤101到步骤103的技术方案,实现对软件的加固保护。
本实施例的基于ART模式的软件加固方法,通过运行二次加载dexclassloader函数,判断是否存在oat文件路径;若存在,则根据该oat文件路径在文件系统中调取密文oat文件;并将密文oat文件映射到内存系统中,对该密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。从而实现在ART模式下对软件进行加固处理,使攻击者难于获取到攻击软件的明文字节码文件,有效保护安卓应用软件的安全。
图2为本发明基于ART模式的软件加固方法的实施例二的流程示意图,如图2所示,本实施例在上述实施例所述的方法的基础上,包括如下步骤:
步骤201、运行二次加载dexclassloader函数,判断是否存在oat文件路径;若不存在,执行步骤202;若存在,执行步骤206。
步骤202、根据密文dex文件路径在文件系统中调取密文dex文件。
步骤203、将密文dex文件映射到内存系统中,对密文dex文件进行解密操作,得到明文dex文件。
步骤204、对明文dex文件进行代码优化dex2oat,得到代码优化后的oat文件。
步骤205、将代码优化后的oat文件加密并写入文件系统中,返回步骤201执行。
其中,写入文件系统中的oat文件包括:elf头,oat头,dex内容,binary部分,oat尾,elf尾等内容。步骤205、将代码优化后的oat文件加密并写入文件系统中具体包括:在dex内容部分被写入oat文件之前,对待写入的dex内容部分进行加密处理,并将加密后的dex内容部分写入文件系统中。该加密处理包括:对称加密,或者白盒黑盒加密。
步骤206、根据oat文件路径在文件系统中调取密文oat文件。
步骤207、将该密文oat文件映射到内存系统中,对密文oat文件进行解密操作,得到解密后的明文oat文件,以运行该明文oat文件对应的软件。
其中,将密文oat文件映射到内存系统中具体包括:采用钩子hook程序捕获该映射的操作过程,获取映射操作对应的内存首地址和长度信息;将密文oat文件映射到该内存首地址和长度信息所限定的内存空间中。
通过上述步骤,使得dexoat代码优化操作仅在首次运行APK文件时进行,而后将oat文件进行加密存储在文件系统中(步骤202到步骤205),其中的加密密钥可以选择bin文件中变换后的密钥,经过处理进行变换后对oat文件进行对称加密,或者选择白盒加密与黑盒加密共存的方式,将oat文件穿插进行白盒黑盒加密。在以后运行APK文件时只需对oat文件进行解密操作(步骤206到步骤207),将真实的oat文件hook到当前运行的APK中即可。
其中,hook操作的LD_PRELOAD是Linux系统中的一个环境变量。加载器在进行动态链接的时候,会将有相同符号名的符号覆盖成LD_PRELOAD指定的so文件中的符号。换句话说,可以用预设的so库中的函数替换原来库里的函数,从而达到hook的目的。在本实施例中,hook操作被运用到dex2oat的重新实现和oat文件的再次加载过程中,用于捕获内存映射操作、写入oat文件等操作中。当hook捕获到内存映射操作,在内存中进行密文dex解密为明文dex的过程中还要进行一些系统的检查,类似于checksum,绕过的方式与Dalvik的实现类似。具体做法就是去hook系统的mmap映射,hook后的mmap映射逻辑应该是先做系统的mmap映射,得到内存首地址和长度,然后通过文件描述符(file descriptor,简称“fd”)指示对应文件名,即dex文件名,然后将内存中dex文件内容替换成明文dex文件。这样的话磁盘上的文件(即文件系统中)不是明文的,可以有效防止攻击者获取到明文的dex文件造成对系统的破坏,而在内存中用来转化oat文件的dex内容是真正的明文dex。对于dex2oat代码优化过程,参数是从dex文件到oat文件,若该操作在文件系统中进行很难保证文件的安全性,因此该dex2oat操作通过hook操作修改成内存到内存的模式,最终生成的oat文件是机器码,涉及东西过多,重写的难度太大,通过hook到原代码中的dexoat部分,将涉及文件操作的部分hook成内存操作。对于dex2oat操作后生成的oat有几个部分组成,elf头,oat头,dex内容,binary部分,oat尾,elf尾等,通过写操作write函数将每一部分写入oat文件中。当系统写dex内容到oat文件的时候,将dex内容改成密文的或者伪造的内容,注意该密文dex内容的长度不能变,与明文dex内容相等,然后将加密后的dex内容这一部分写入oat文件中。具体实现也是通过hook到系统的写操作write函数,然后将fd对应的oat文件名对应的oat文件中的dex内容(具体可以根据前8个字节是否是dex的magic number来判断)部分替换成密文的或伪造的内容,最后调用write写函数写入oat文件中。这样就能实现输出的oat文件中不含有明文的dex内容。
对于步骤201中,每次执行APK前的二次加载判断过程,具体为:运行二次加载dexclassloader函数,dexclassloader读入一个输入的dex文件,通过mmap将其映射到内存,然后基于这块内存中的映射dex文件内容生成oat文件的各个组成部分。生成oat文件后,dexclassloader再次加载oat文件。其中,在oat文件中虽然有可直接执行的binary机器码,但是系统在执行oat文件的时候会用到oat文件中的dex内容部分,所以在将oat文件加载到内存的过程中还是需要将oat文件中密文的或伪造的dex内容还原成明文的dex内容,二次加载dexclassloader函数在判断出存在oat文件路径时,直接加载load之前生成的oat文件,然后再映射mmap得到oat的内存首地址的基础上加上dex内容的偏移找到dex内容部分在内存中的首地址,将其内容替换为明文的dex内容即可,dex内容部分在oat文件中的偏移需要注意:这个不同于odex是固定的,oat文件中dex的偏移是动态变化的,需要通过oat头的几个值计算得到。
本实施例的基于ART模式的软件加固方法,进一步通过在APK文件运行的首次进行dex2oat操作,将字节码转换为机器码,并加密存储该机器码,提高了应用软件下次运行时的运行速度,具体根据密文dex文件路径在文件系统中调取密文dex文件,将密文dex文件映射到内存系统中,对密文dex文件进行解密操作,得到明文dex文件;对明文dex文件进行代码优化dex2oat,得到代码优化后的oat文件,将代码优化后的oat文件加密并写入文件系统中,再返回执行运行二次加载dexclassloader函数,判断是否存在oat文件路径的步骤,从而运行oat文件启动应用软件。该方法不但实现ART模式下对软件进行加固处理,使攻击者难于获取到攻击软件的明文字节码文件,有效保护安卓应用软件的安全,还对转换后的机器码进行了加密及存储,有效提高软件运行的效率。
图3为本发明基于ART模式的软件加固装置的实施例一的结构示意图,如图3所示,该软件加固装置包括:二次加载模块301,用于运行二次加载dexclassloader函数,判断是否存在oat文件路径。调取模块302,用于当二次加载模块判断存在oat文件路径时,根据oat文件路径在文件系统中调取密文oat文件。映射模块303,用于将密文oat文件映射到内存系统中。解密模块304,用于对密文oat文件进行解密操作,得到解密后的明文oat文件,以运行明文oat文件对应的软件。
本实施例的基于ART模式的软件加固装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
本实施例的基于ART模式的软件加固装置,通过运行二次加载dexclassloader函数,判断是否存在oat文件路径;若存在,则根据该oat文件路径在文件系统中调取密文oat文件;并将密文oat文件映射到内存系统中,对该密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。从而实现在ART模式下对软件进行加固处理,使攻击者难于获取到攻击软件的明文字节码dex文件,有效保护安卓应用软件的安全。
进一步的,图4为本发明基于ART模式的软件加固装置的实施例二的结构示意图,如图4所示,在上述实施例所述装置的基础上,调取模块302,还用于当二次加载模块判断不存在oat文件路径时,根据密文dex文件路径在文件系统中调取密文dex文件。映射模块303,还用于将密文dex文件映射到内存系统中。解密模块304,还用于对所述密文dex文件进行解密操作,得到明文dex文件。该装置还包括:代码优化模块305,用于对明文dex文件进行代码优化dex2oat,得到代码优化后的oat文件。写入模块306,用于将代码优化后的oat文件加密并写入文件系统中,返回到二次加载模块301。
进一步地,oat文件包括:elf头,oat头,dex内容,binary部分,oat尾,elf尾。写入模块306具体包括:加密子模块3061,用于在dex内容部分被写入oat文件之前,对待写入的dex内容部分进行加密处理。写入子模块3062,用于将加密后的dex内容部分写入文件系统中。
进一步地,加密处理包括:对称加密,或者白盒黑盒加密。
进一步地,映射模块303包括:捕获子模块3031,用于采用钩子hook程序捕获映射操作。获取子模块3032,用于获取映射操作对应的内存首地址和长度信息。映射子模块3033,用于将密文oat文件映射到内存首地址和长度信息所限定的内存空间中。
本实施例的软件加固装置,可以用于执行图1、图2所示方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
本实施例的基于ART模式的软件加固装置,进一步通过在APK文件运行的首次进行dex2oat操作,将字节码转换为机器码,并加密存储该机器码,提高了应用软件下次运行时的运行速度,具体根据密文dex文件路径在文件系统中调取密文dex文件,将密文dex文件映射到内存系统中,对密文dex文件进行解密操作,得到明文dex文件;对明文dex文件进行代码优化dex2oat,得到代码优化后的oat文件,将代码优化后的oat文件加密并写入文件系统中,再返回执行运行二次加载dexclassloader函数,判断是否存在oat文件路径的步骤,从而运行oat文件启动应用软件。该方法不但实现ART模式下对软件进行加固处理,使攻击者难于获取到攻击软件的明文字节码文件,有效保护安卓应用软件的安全,还对转换后的机器码进行了加密及存储,有效提高软件运行的效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种基于ART模式的软件加固方法,其特征在于,包括:
运行二次加载dexclassloader函数,判断是否存在oat文件路径;
若存在,则根据所述oat文件路径在文件系统中调取密文oat文件;
将所述密文oat文件映射到内存系统中,对所述密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件;
所述判断是否存在oat文件路径之后还包括:
若不存在,则根据密文dex文件路径在文件系统中调取密文dex文件;
将所述密文dex文件映射到内存系统中,对所述密文dex文件进行解密操作,得到明文dex文件;
对所述明文dex文件进行代码优化dex2oat,得到代码优化后的oat文件;
将所述代码优化后的oat文件加密并写入文件系统中;
返回执行所述运行二次加载dexclassloader函数,判断是否存在oat文件路径的步骤。
2.根据权利要求1所述的方法,其特征在于,所述oat文件包括:elf头,oat头,dex内容,binary部分,oat尾,elf尾;所述将所述代码优化后的oat文件加密并写入文件系统中,包括:
所述dex内容部分被写入所述oat文件之前,对待写入的dex内容部分进行加密处理,并将所述加密后的dex内容部分写入文件系统中。
3.根据权利要求2所述的方法,其特征在于,所述加密处理包括:对称加密,或者白盒黑盒加密。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述将所述密文oat文件映射到内存系统中,包括:
采用钩子hook程序捕获所述映射的操作过程,获取所述映射对应的内存首地址和长度信息;
将所述密文oat文件映射到所述内存首地址和长度信息所限定的内存空间中。
5.一种基于ART模式的软件加固装置,其特征在于,包括:
二次加载模块,用于运行二次加载dexclassloader函数,判断是否存在oat文件路径;
调取模块,用于当所述二次加载模块判断存在oat文件路径时,根据所述oat文件路径在文件系统中调取密文oat文件;
映射模块,用于将所述密文oat文件映射到内存系统中;
解密模块,用于对所述密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件;
所述调取模块,还用于当所述二次加载模块判断不存在oat文件路径时,根据密文dex文件路径在文件系统中调取密文dex文件;
所述映射模块,还用于将所述密文dex文件映射到内存系统中;
所述解密模块,还用于对所述密文dex文件进行解密操作,得到明文dex文件;
所述装置还包括:
代码优化模块,用于对所述明文dex文件进行代码优化dex2oat,得到代码优化后的oat文件;
写入模块,用于将所述代码优化后的oat文件加密并写入文件系统中,返回到所述二次加载模块。
6.根据权利要求5所述的装置,其特征在于,所述oat文件包括:elf头,oat头,dex内容,binary部分,oat尾,elf尾;所述写入模块包括:
加密子模块,用于在所述dex内容部分被写入所述oat文件之前,对待写入的dex内容部分进行加密处理;
写入子模块,用于将所述加密后的dex内容部分写入文件系统中。
7.根据权利要求6所述的装置,其特征在于,所述加密处理包括:对称加密,或者白盒黑盒加密。
8.根据权利要求5~7任一项所述的装置,其特征在于,所述映射模块包括:
捕获子模块,用于采用钩子hook程序捕获所述映射的操作过程;
获取子模块,用于获取所述映射对应的内存首地址和长度信息;
映射子模块,用于将所述密文oat文件映射到所述内存首地址和长度信息所限定的内存空间中。
CN201510703597.0A 2015-10-26 2015-10-26 基于art模式的软件加固方法及装置 Active CN105303072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510703597.0A CN105303072B (zh) 2015-10-26 2015-10-26 基于art模式的软件加固方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510703597.0A CN105303072B (zh) 2015-10-26 2015-10-26 基于art模式的软件加固方法及装置

Publications (2)

Publication Number Publication Date
CN105303072A CN105303072A (zh) 2016-02-03
CN105303072B true CN105303072B (zh) 2018-04-17

Family

ID=55200334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510703597.0A Active CN105303072B (zh) 2015-10-26 2015-10-26 基于art模式的软件加固方法及装置

Country Status (1)

Country Link
CN (1) CN105303072B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106066686B (zh) 2016-05-31 2019-02-05 Oppo广东移动通信有限公司 一种信息处理方法及终端设备
CN106228041B (zh) * 2016-07-21 2018-11-20 北京理工大学 一种针对Android预编译的代码保护方法
CN106778088A (zh) * 2016-11-28 2017-05-31 四川长虹电器股份有限公司 基于Hook技术的动态加载方法
CN106648755B (zh) * 2016-11-29 2020-02-25 北京奇虎科技有限公司 一种在安卓art环境中动态加载dex的方法及装置
CN107066886A (zh) * 2017-04-13 2017-08-18 深圳海云安网络安全技术有限公司 一种Android加固脱壳的检测方法
CN108021357B (zh) * 2017-11-20 2022-03-11 北京奇虎科技有限公司 程序调用的优化方法及装置
CN108154011A (zh) * 2018-01-12 2018-06-12 广州汇智通信技术有限公司 基于art模式的脱壳方法、系统、设备及可读存储介质
CN109344577A (zh) * 2018-09-25 2019-02-15 四川大学 一种art下使用自修改技术进行软件保护的方法
CN109933381B (zh) * 2019-03-06 2021-07-16 腾讯科技(深圳)有限公司 一种内核的加载方法及装置
CN111934860B (zh) * 2020-08-06 2024-01-05 山东省计算中心(国家超级计算济南中心) 一种用于移动端密钥存储的实现方法和系统
CN112579206B (zh) * 2020-12-24 2023-03-28 青岛海信移动通信技术股份有限公司 应用启动性能优化方法及终端设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101477050B1 (ko) * 2014-05-28 2015-01-08 충남대학교산학협력단 메모리 덤프 기법을 이용한 어플리케이션의 실행코드 추출 방법
CN104484585A (zh) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 一种应用程序安装包的处理方法、装置及移动设备
CN104866739A (zh) * 2015-06-04 2015-08-26 上海斐讯数据通信技术有限公司 安卓系统中应用程序加密方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101477050B1 (ko) * 2014-05-28 2015-01-08 충남대학교산학협력단 메모리 덤프 기법을 이용한 어플리케이션의 실행코드 추출 방법
CN104484585A (zh) * 2014-11-26 2015-04-01 北京奇虎科技有限公司 一种应用程序安装包的处理方法、装置及移动设备
CN104866739A (zh) * 2015-06-04 2015-08-26 上海斐讯数据通信技术有限公司 安卓系统中应用程序加密方法及系统

Also Published As

Publication number Publication date
CN105303072A (zh) 2016-02-03

Similar Documents

Publication Publication Date Title
CN105303072B (zh) 基于art模式的软件加固方法及装置
KR101471589B1 (ko) 공통중간언어 기반 프로그램을 위한 보안 제공 방법
CN103914637B (zh) 一种安卓平台的可执行程序加密方法
CN102760219B (zh) 一种Android平台软件保护系统、方法及设备
US11507669B1 (en) Characterizing, detecting and healing vulnerabilities in computer code
CN102592082B (zh) 通过操作码随机化的安全
CN108491235B (zh) 结合动态加载和函数Native化的DEX保护方法
US8615735B2 (en) System and method for blurring instructions and data via binary obfuscation
US20080270806A1 (en) Execution Device
Lu et al. AutoD: Intelligent blockchain application unpacking based on JNI layer deception call
US20160239671A1 (en) Method and device for protecting an application and method and device for executing a protected application thus protected
JPWO2006009081A1 (ja) アプリケーション実行装置及びアプリケーション実行装置のアプリケーション実行方法
CN104239757A (zh) 应用程序防止逆向的方法及装置、运行方法及终端
WO2020177430A1 (zh) 应用加固的方法、装置、计算设备及计算机存储介质
JP2007233426A (ja) アプリケーション実行装置
CN106775843B (zh) 基于内存加载的dalvik字节码优化方法
Van Strydonck et al. CHERI-TrEE: Flexible enclaves on capability machines
CN108170433A (zh) 一种Java代码的混淆方法、恢复方法及其装置
CN110597496B (zh) 应用程序的字节码文件获取方法及装置
KR101667774B1 (ko) 스크립트 프로그램을 위한 보안 제공 장치 및 방법
CN110348206B (zh) 应用于安卓安装包apk的保护方法、介质、装置和计算设备
CN110109717A (zh) 一种安卓插件的加载控制方法、装置和计算机设备
KR101863325B1 (ko) 역공학 방지 방법 및 장치
Bogad et al. Harzer roller: Linker-based instrumentation for enhanced embedded security testing
Brown Over-the-Air (OTA) Updates in Embedded Microcontroller Applications: Design Trade-Offs and Lessons Learned

Legal Events

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

Effective date of registration: 20211217

Address after: 324022 room 501-83, building 28, xinnongdu, Quzhou, Qujiang District, Quzhou City, Zhejiang Province

Patentee after: Zhejiang zhuanzhuzhilian Technology Co.,Ltd.

Address before: 100876 Beijing city Haidian District Xitucheng Road No. 10 Beijing University of Posts and Telecommunications Hongtong building 509

Patentee before: Li Hui

Patentee before: Zhang Wen