CN105303072A - 基于art模式的软件加固方法及装置 - Google Patents
基于art模式的软件加固方法及装置 Download PDFInfo
- Publication number
- CN105303072A CN105303072A CN201510703597.0A CN201510703597A CN105303072A CN 105303072 A CN105303072 A CN 105303072A CN 201510703597 A CN201510703597 A CN 201510703597A CN 105303072 A CN105303072 A CN 105303072A
- Authority
- CN
- China
- Prior art keywords
- file
- oat
- dex
- ciphertext
- oat file
- 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 39
- 238000013507 mapping Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims abstract description 22
- 238000005457 optimization Methods 0.000 claims description 33
- 230000002787 reinforcement Effects 0.000 claims description 16
- 238000013461 design Methods 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 13
- 238000007596 consolidation process Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation 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
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
本发明提供了一种基于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模式的英文全称为:Androidruntime,其是谷歌Android4.4系统新增的一种应用运行模式,与传统的Dalvik模式不同,ART模式可以实现更为流畅的安卓系统体验。ART与Dalvik的虚拟机模式不同,外在的体现是两者使用了不同的库文件,一个是libart.so另一个则是libdvm.so。两个模式在APK(APK是AndroidPackage的缩写,即安卓安装包)文件安装时采用的代码优化方式也不一样,Dalvik模式采用dexopt的代码优化方式;ART模式采用dexoat的代码优化方式。Google选择ART模式的原因是使应用在启动时更迅速,对内存RAM的占用少等。然而改进也是要有一些其他代价的,比如ART模式下,应用的安装时长会变长、对ROM的占用会变大。而上述问题的原因可以理解为进行ART模式下dex2oat操作的代码优化时间要比Dalvik模式下dex2opt操作的代码优化时间长。dex2oat会将dex字节码翻译成本地机器码,而dex2opt则是将dex字节码翻译成优化后的字节码,在APK文件运行时再转换成能运行的JITcache。对于软件加固而言,在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映射,得到内存首地址和长度,然后通过文件描述符(filedescriptor,简称“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的magicnumber来判断)部分替换成密文的或伪造的内容,最后调用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 (10)
1.一种基于ART模式的软件加固方法,其特征在于,包括:
运行二次加载dexclassloader函数,判断是否存在oat文件路径;
若存在,则根据所述oat文件路径在文件系统中调取密文oat文件;
将所述密文oat文件映射到内存系统中,对所述密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。
2.根据权利要求1所述的方法,其特征在于,所述判断是否存在oat文件路径之后还包括:
若不存在,则根据密文dex文件路径在文件系统中调取密文dex文件;
将所述密文dex文件映射到内存系统中,对所述密文dex文件进行解密操作,得到明文dex文件;
对所述明文dex文件进行代码优化dex2oat,得到代码优化后的oat文件;
将所述代码优化后的oat文件加密并写入文件系统中;
返回执行所述运行二次加载dexclassloader函数,判断是否存在oat文件路径的步骤。
3.根据权利要求2所述的方法,其特征在于,所述oat文件包括:elf头,oat头,dex内容,binary部分,oat尾,elf尾;所述将所述代码优化后的oat文件加密并写入文件系统中,包括:
所述dex内容部分被写入所述oat文件之前,对待写入的dex内容部分进行加密处理,并将所述加密后的dex内容部分写入文件系统中。
4.根据权利要求3所述的方法,其特征在于,所述加密处理包括:对称加密,或者白盒黑盒加密。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述将所述密文oat文件映射到内存系统中,包括:
采用钩子hook程序捕获所述映射的操作过程,获取所述映射对应的内存首地址和长度信息;
将所述密文oat文件映射到所述内存首地址和长度信息所限定的内存空间中。
6.一种基于ART模式的软件加固装置,其特征在于,包括:
二次加载模块,用于运行二次加载dexclassloader函数,判断是否存在oat文件路径;
调取模块,用于当所述二次加载模块判断存在oat文件路径时,根据所述oat文件路径在文件系统中调取密文oat文件;
映射模块,用于将所述密文oat文件映射到内存系统中;
解密模块,用于对所述密文oat文件进行解密操作,得到解密后的明文oat文件,以运行所述明文oat文件对应的软件。
7.根据权利要求6所述的装置,其特征在于,
所述调取模块,还用于当所述二次加载模块判断不存在oat文件路径时,根据密文dex文件路径在文件系统中调取密文dex文件;
所述映射模块,还用于将所述密文dex文件映射到内存系统中;
所述解密模块,还用于对所述密文dex文件进行解密操作,得到明文dex文件;
所述装置还包括:
代码优化模块,用于对所述明文dex文件进行代码优化dex2oat,得到代码优化后的oat文件;
写入模块,用于将所述代码优化后的oat文件加密并写入文件系统中,返回到所述二次加载模块。
8.根据权利要求7所述的装置,其特征在于,所述oat文件包括:elf头,oat头,dex内容,binary部分,oat尾,elf尾;所述写入模块包括:
加密子模块,用于在所述dex内容部分被写入所述oat文件之前,对待写入的dex内容部分进行加密处理;
写入子模块,用于将所述加密后的dex内容部分写入文件系统中。
9.根据权利要求8所述的装置,其特征在于,所述加密处理包括:对称加密,或者白盒黑盒加密。
10.根据权利要求6~9任一项所述的装置,其特征在于,所述映射模块包括:
捕获子模块,用于采用钩子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 true CN105303072A (zh) | 2016-02-03 |
CN105303072B 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) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106066686A (zh) * | 2016-05-31 | 2016-11-02 | 广东欧珀移动通信有限公司 | 一种信息处理方法及终端设备 |
CN106228041A (zh) * | 2016-07-21 | 2016-12-14 | 北京理工大学 | 一种针对Android预编译的代码保护方法 |
CN106648755A (zh) * | 2016-11-29 | 2017-05-10 | 北京奇虎科技有限公司 | 一种在安卓art环境中动态加载dex的方法及装置 |
CN106778088A (zh) * | 2016-11-28 | 2017-05-31 | 四川长虹电器股份有限公司 | 基于Hook技术的动态加载方法 |
CN107066886A (zh) * | 2017-04-13 | 2017-08-18 | 深圳海云安网络安全技术有限公司 | 一种Android加固脱壳的检测方法 |
CN108021357A (zh) * | 2017-11-20 | 2018-05-11 | 北京奇虎科技有限公司 | 程序调用的优化方法及装置 |
CN108154011A (zh) * | 2018-01-12 | 2018-06-12 | 广州汇智通信技术有限公司 | 基于art模式的脱壳方法、系统、设备及可读存储介质 |
CN109344577A (zh) * | 2018-09-25 | 2019-02-15 | 四川大学 | 一种art下使用自修改技术进行软件保护的方法 |
CN109933381A (zh) * | 2019-03-06 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 一种内核的加载方法及装置 |
CN111934860A (zh) * | 2020-08-06 | 2020-11-13 | 山东省计算中心(国家超级计算济南中心) | 一种用于移动端密钥存储的实现方法和系统 |
CN112579206A (zh) * | 2020-12-24 | 2021-03-30 | 青岛海信移动通信技术股份有限公司 | 应用启动性能优化方法及终端设备 |
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 | 上海斐讯数据通信技术有限公司 | 安卓系统中应用程序加密方法及系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017206899A1 (zh) * | 2016-05-31 | 2017-12-07 | 广东欧珀移动通信有限公司 | 信息处理方法及相关设备 |
US11016860B2 (en) | 2016-05-31 | 2021-05-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for information processing and related device |
US10628271B2 (en) | 2016-05-31 | 2020-04-21 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for information processing and related device |
CN106066686B (zh) * | 2016-05-31 | 2019-02-05 | Oppo广东移动通信有限公司 | 一种信息处理方法及终端设备 |
CN106066686A (zh) * | 2016-05-31 | 2016-11-02 | 广东欧珀移动通信有限公司 | 一种信息处理方法及终端设备 |
CN106228041B (zh) * | 2016-07-21 | 2018-11-20 | 北京理工大学 | 一种针对Android预编译的代码保护方法 |
CN106228041A (zh) * | 2016-07-21 | 2016-12-14 | 北京理工大学 | 一种针对Android预编译的代码保护方法 |
CN106778088A (zh) * | 2016-11-28 | 2017-05-31 | 四川长虹电器股份有限公司 | 基于Hook技术的动态加载方法 |
CN106648755A (zh) * | 2016-11-29 | 2017-05-10 | 北京奇虎科技有限公司 | 一种在安卓art环境中动态加载dex的方法及装置 |
CN107066886A (zh) * | 2017-04-13 | 2017-08-18 | 深圳海云安网络安全技术有限公司 | 一种Android加固脱壳的检测方法 |
CN108021357A (zh) * | 2017-11-20 | 2018-05-11 | 北京奇虎科技有限公司 | 程序调用的优化方法及装置 |
CN108154011A (zh) * | 2018-01-12 | 2018-06-12 | 广州汇智通信技术有限公司 | 基于art模式的脱壳方法、系统、设备及可读存储介质 |
CN109344577A (zh) * | 2018-09-25 | 2019-02-15 | 四川大学 | 一种art下使用自修改技术进行软件保护的方法 |
CN109933381A (zh) * | 2019-03-06 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 一种内核的加载方法及装置 |
CN109933381B (zh) * | 2019-03-06 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 一种内核的加载方法及装置 |
CN111934860A (zh) * | 2020-08-06 | 2020-11-13 | 山东省计算中心(国家超级计算济南中心) | 一种用于移动端密钥存储的实现方法和系统 |
CN111934860B (zh) * | 2020-08-06 | 2024-01-05 | 山东省计算中心(国家超级计算济南中心) | 一种用于移动端密钥存储的实现方法和系统 |
CN112579206A (zh) * | 2020-12-24 | 2021-03-30 | 青岛海信移动通信技术股份有限公司 | 应用启动性能优化方法及终端设备 |
CN112579206B (zh) * | 2020-12-24 | 2023-03-28 | 青岛海信移动通信技术股份有限公司 | 应用启动性能优化方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105303072B (zh) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105303072A (zh) | 基于art模式的软件加固方法及装置 | |
KR101471589B1 (ko) | 공통중간언어 기반 프로그램을 위한 보안 제공 방법 | |
US9213826B2 (en) | System and method to protect Java bytecode code against static and dynamic attacks within hostile execution environments | |
US10148442B2 (en) | End-to-end security for hardware running verified software | |
CN111770206B (zh) | 一种部署智能合约的方法、区块链节点和存储介质 | |
CN103914637B (zh) | 一种安卓平台的可执行程序加密方法 | |
CN102760219B (zh) | 一种Android平台软件保护系统、方法及设备 | |
US9411964B1 (en) | Characterizing, detecting and healing vulnerabilities in computer code | |
US20140195824A1 (en) | Protecting method and system of java source code | |
US20160239671A1 (en) | Method and device for protecting an application and method and device for executing a protected application thus protected | |
WO2021217980A1 (zh) | java代码的加壳方法与系统 | |
EP3126973A1 (en) | Method, apparatus, and computer-readable medium for obfuscating execution of application on virtual machine | |
CN104866739A (zh) | 安卓系统中应用程序加密方法及系统 | |
WO2020177430A1 (zh) | 应用加固的方法、装置、计算设备及计算机存储介质 | |
Sun et al. | Blender: Self-randomizing address space layout for android apps | |
CN113626773B (zh) | 一种基于中间语言的代码保护方法 | |
KR101667774B1 (ko) | 스크립트 프로그램을 위한 보안 제공 장치 및 방법 | |
CN104751026A (zh) | 安卓系统的软件保护方法、软件应用方法及相关装置 | |
CN116235174A (zh) | 用于执行加密算法的设备和方法 | |
KR20180028666A (ko) | 역공학 방지 방법 및 장치 | |
CN112115477A (zh) | 内核修复方法、装置、电子设备及存储介质 | |
Drake | Exploiting Memory Corruption Vulnerabilities in the Java Runtime | |
CN117150515B (zh) | Eda二次开发源代码的安全保护方法、电子设备及存储介质 | |
US11977760B1 (en) | Secure data and instruction loading | |
CN117910005A (zh) | 一种Java字节码的加载方法、装置、设备及存储介质 |
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 |
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 |
|
TR01 | Transfer of patent right |