CN105303072B - 基于art模式的软件加固方法及装置 - Google Patents
基于art模式的软件加固方法及装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000002787 reinforcement Effects 0.000 title claims abstract description 17
- 238000013507 mapping Methods 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 20
- 238000005457 optimization Methods 0.000 claims description 32
- 238000013461 design Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 238000007596 consolidation process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003612 virological effect Effects 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
Abstract
本发明提供了一种基于ART模式的软件加固方法及装置,通过运行二次加载dexclassloader函数,判断是否存在oat文件路径;若存在,则根据该oat文件路径在文件系统中调取密文oat文件;并将密文oat文件映射到内存系统中,对该密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。从而实现在ART模式下对软件进行加固处理,使攻击者难于获取到攻击软件的明文字节码,有效保护安卓应用软件的安全。
Description
技术领域
本发明涉及应用软件及数据的安全领域,尤其涉及一种基于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文件映射到所述内存首地址和长度信息所限定的内存空间中。
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)
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)
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 | 上海斐讯数据通信技术有限公司 | 安卓系统中应用程序加密方法及系统 |
-
2015
- 2015-10-26 CN CN201510703597.0A patent/CN105303072B/zh active Active
Patent Citations (3)
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 |