CN104408337A - 一种apk文件防逆向的加固方法 - Google Patents

一种apk文件防逆向的加固方法 Download PDF

Info

Publication number
CN104408337A
CN104408337A CN201410663308.4A CN201410663308A CN104408337A CN 104408337 A CN104408337 A CN 104408337A CN 201410663308 A CN201410663308 A CN 201410663308A CN 104408337 A CN104408337 A CN 104408337A
Authority
CN
China
Prior art keywords
file
classes
dex
apk
encrypt
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.)
Pending
Application number
CN201410663308.4A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201410663308.4A priority Critical patent/CN104408337A/zh
Publication of CN104408337A publication Critical patent/CN104408337A/zh
Pending legal-status Critical Current

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
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

本发明公开一种APK文件防逆向的加固方法,其包括步骤:将原Classes.dex删除源代码后得到第一Classes.dex文件;将原Classes.dex文件加密处理得到第二Classes.dex文件;生成用于解密第二Classes.dex文件的Encrypt.so文件,二次加密得到Encrypt’.so文件;生成可将Encrypt’.so文件;修改源程序入口指向;以第一Classes.dex文件、AndroidManifest’.xml文件分别替换待加固的APK文件中原Classes.dex文件和原AndroidManifest.xml文件,然后将第二Classes.dex文件及Encrypt’.so文件存放在待加固的APK文件的指定文件目录下,打包封装处理后,完成了APK文件的加固处理。本发明可以规避现有Android逆向工具的反编译,增加反编译的难度,从而可以极大程度地提高APK文件的安全性。

Description

一种APK文件防逆向的加固方法
技术领域
本发明涉及移动终端应用安全领域,特别涉及一种APK文件防逆向的加固的方法。
背景技术
APK(Android PacKage的缩写)即Android安装包。将APK文件(即APK应用程序)直接传到Android模拟器或Android操作系统的终端设备(比如安卓智能手机)中执行即可安装。APK文件其实是zip格式,但后缀名被修改为apk,在windows系统上可以通过解压缩工具(比如winrar软件)直接解压查看。解压APK文件后,一般的可看到的目录结构如下表1所示:
表1
Android应用程序开发的最后阶段是打包签名,生成APK文件供用户下载安装,打包封装成APK文件如图1所示。由此可以看出,如果能够对Dex文件和AndroidManifest.XML进行逆向,即可还原出应用APK文件的源代码,若在源代码的基础上加入恶意代码,重新签名打包,即可生成携带恶意代码的APK文件。
随着Android移动终端平台的日益发展,第三方应用程序大量涌现,对第三方应用的盗版和重打包现象日益严重。由于Android平台软件使用的编程语言是Java,而Java源代码编译后的二进制代码极易被反编译,导致其破解难度远小于其他使用编译性语言编写的程序。鉴于Android下APK文件能够很容易的由dex2jar和JD-GUI、JAD等反编译工具反编译为易于阅读的JAVA代码,从而代码中的明文字符串、库函数调用、核心功能函数等都一目了然,使得非法开发者对第三方应用程序的盗版或者核心功能的逆向工程变得更加容易。
发明内容
为了降低APK文件被逆向的风险,本发明提供了一种APK文件防逆向的加固方法,解决了APK文件(即APK应用程序)易于被反编译显示的问题,能够使第三方应用程序加固,最大化保护APK应用程序的安全。
本发明采用如下技术方案实现:一种APK文件防逆向的加固方法,其包括步骤:
将待加固的APK文件中原Classes.dex文件复制一份,在复制所得的Classes.dex文件中删除APK文件的功能源代码后,保存得到第一Classes.dex文件;
将原Classes.dex文件用预设的加密解密算法进行加密处理,得到第二Classes.dex文件;
生成用于解密第二Classes.dex文件的Encrypt.so文件,对该Encrypt.so文件进行二次加密,得到Encrypt’.so文件;
生成可将Encrypt’.so文件解密为Encrypt.so文件的Entry.so文件;
将待加固的APK文件中原AndroidManifest.xml文件的源程序入口指向,由指向原Classes.dex文件更改为指向第一Classes.dex文件,修改处理后的文件记为AndroidManifest’.xml文件;
以第一Classes.dex文件、AndroidManifest’.xml文件分别替换待加固的APK文件中原Classes.dex文件和原AndroidManifest.xml文件,然后将第二Classes.dex文件及Encrypt’.so文件存放在待加固的APK文件的指定文件目录下,打包封装处理后,完成了APK文件的加固处理。
其中,将第二Classes.dex文件及Encrypt’.so文件存放在待加固的APK文件的文件目录res之下。
其中,打包封装处理的步骤至少包括使用Android SDK中提供的签名工具对封装文件进行签名的步骤。
其中,预设的加密解密算法为标准或已知任意一种文件加密解密算法。
与现有技术相比,本发明具有如下有益效果:
利用上述加固方法进行加固的APK文件,分别使用目前最流行的Android逆向工具dex2jar与apktool进行逆向编译,由于逆向编译出来的第一Classes.dex文件中并没有源代码,而实现一个APK文件主要功能的源代码仍存放在原Classes.dex文件,但该原Classes.dex文件被加密成第二Classes.dex文件后得以存放在指定的文件目录下,利用逆向工具dex2jar与apktool很难找到解密后的第二Classes.dex文件,即使找到第二Classes.dex文件,由于无法找到解密第二Classes.dex文件的Encrypt’.so文件而无法进行解密,从而可以有效防止APK文件被逆向修改后泄密。由此可见,利用本申请提到的加固方法加固处理后,实现了APK文件的源代码的加密隐藏,可以规避现有Android逆向工具的反编译,从而可以极大程度地提高APK文件的安全性。
附图说明
图1是APK文件的打包封装流程示意图。
图2是本发明APK文件防逆向的加固方法的流程示意图。
图3是APK文件加固前后的文件目录结构的对比示意图。
图4是加固后APK文件实现动态加载的流程示意图。
具体实施方式
为了便于理解本申请的技术方案,申请人先对APK文件目录结构中classes.dex文件先做进一步的详细介绍:
classes.dex文件是java源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样。classes.dex文件由文件头、索引区和数据区三大部分组成。其中,classes.dex文件头部分结构定义如下表2所示。
字段名称 说明
checksum 校验码
signature SHA-1签名
file_size Dex文件的总长度
data_size 数据段的大小,必须以4字节对齐
data_off 数据段基地址
表2
在Android源码中,Dalvik虚拟机的实现位于dalvik/目录下,其中dalvik/vm是虚拟机的实现部分,将会编译成libdvm.so;而dalvik/libdex将会编译成libdex.a静态库作为dex工具;dalvik/dexdump是.dex文件的反编译工具;虚拟机的可执行程序位于dalvik/dalvikvm中,将会编译成dalvikvm可执行文件。
在Android平台运行APK文件时,先由Dalvik虚拟机(在Android源码中,Dalvik虚拟机的实现位于dalvik/目录下)加载解压APK文件并校验完整性,提取Classes.dex文件,然后执行classes.dex文件中的字节码。在执行classes.dex文件时,Dalvik虚拟机首先会检查其文件头部分的checksum字段和siganature字段,确保classes.dex文件没有被损坏或篡改,然后才根据文件头里定义的其他结构的偏移地址和长度信息进行寻址解析与执行。最后dalvik虚拟机会从classes.dex文件中读取指令和数据,进而运行该APK文件的程序逻辑。
结合图2所示,本发明的一个优选实施例包括如下实现步骤:
步骤S11、将待加固的APK文件中原Classes.dex文件复制一份,在复制所得的Classes.dex文件中删除APK文件的功能源代码后,保存得到第一Classes.dex文件。因此,第一Classes.dex文件中只保留了原Classes.dex文件的文件头部结构,并未包含APK文件的功能代码。
步骤S12、将原Classes.dex文件用预设的加密解密算法进行加密处理,得到第二Classes.dex文件。因此,APK文件主要的功能代码仍在第二Classes.dex文件之中,隐藏、保护第二Classes.dex文件是加固APK文件的关系,也是防止APK文件被逆向的重要环节。
步骤S13、生成用于解密第二Classes.dex文件的Encrypt.so文件,对该Encrypt.so文件进行二次加密,得到Encrypt’.so文件。
步骤S14、生成Entry.so文件,该Entry.so文件是在APK文件运行时的入口文件,通过调用入口文件Entry.so中的native方法将Encrypt’.so文件解密为Encrypt.so文件。
步骤S15、将待加固的APK文件中原AndroidManifest.xml文件的源程序入口指向,由指向原Classes.dex文件更改为指向第一Classes.dex文件,修改处理后的文件记为AndroidManifest’.xml文件。
步骤S16、将第二Classes.dex文件及Encrypt’.so文件存放在文件目录res之下,将Entry.so文件存放在文件目录libs之下,以第一Classes.dex文件、AndroidManifest’.xml文件、文件目录res、文件目录libs及resources.ars文件进行打包封装后封装文件,再使用Android SDK中提供的签名工具对封装文件进行签名,即完成了APK文件的加固处理。具体来说,加固前后的APK文件的文件目录结构对比示意图如图3所示。
加固后的APK文件运行时,结合图4所示,加载运行过程包括如下步骤:
步骤S21、根据AndroidManifest’.xml文件中的源程序入口指向,加固后的APK文件运行时,先由Dalvik虚拟机加载第一Classes.dex文件。
步骤S22、由第一Classes.dex文件调用Entry.so文件,利用Entry.so文件对存放在文件目录res之下的Encrypt’.so文件进行解密处理,得到解密后的Encrypt.so文件。
步骤S23、利用Entry.so文件按照预设的加密解密算法对存放在文件目录res之下的第二Classes.dex文件进行解密,从而得到加固处理前APK文件中的原Classes.dex文件。
步骤S24、利用第一Classes.dex文件的文件头结构所包含字段信息,对解密获得的原Classes.dex文件进行完整性检查,通过完整性检查后进入步骤S26。
步骤S25、由Dalvik虚拟机根据Android类动态加载技术(DexClassLoader程序)对原Classes.dex文件进行动态加载。具体过程是,新建一个带有源程序Classes.dex的DexClassLoader对象,通过反射的方式替换到系统默认的加载类中的属性mClassLoader。
步骤S26、根据原Classes.dex文件中文件头部结构中data_size字段及data_off字段信息,找到存放APK文件功能的源代码的物理地址,将源代码动态加载至内存。具体来说,利用自定义的onCreate方法,通过AndroidManifest中application中的meta-data属性,找到源代码的物理地址,从而替换成源程序的Application;将现有的“第一Application文件”从系统调用集合中移除,并新建一个Application对象app,将原Classes.dex文件的属性绑定至app,再把app加入到系统调用集合中;最后,由于组件Provider在onCreate方法前就被系统注册,因此把app绑定到源程序中Provider的context上,然后启动系统级onCreate方法。
步骤S27、从系统的物理内存上删除解密后的原Classes.dex文件,防止被攻击者窃取。
利用上述加固方法进行加固的APK文件,分别使用目前最流行的Android逆向工具dex2jar与apktool进行逆向编译,由于逆向编译出来的第一Classes.dex文件中并没有源代码,而实现一个APK文件主要功能的源代码仍存放在原Classes.dex文件,但该原Classes.dex文件被加密成第二Classes.dex文件后得以存放在指定的文件目录下,利用逆向工具dex2jar与apktool很难找到解密后的第二Classes.dex文件,即使找到第二Classes.dex文件,由于无法找到解密第二Classes.dex文件的Encrypt’.so文件而无法进行解密,从而可以有效防止APK文件被逆向修改后泄密。由此可见,利用本申请提到的加固方法加固处理后,实现了APK文件的源代码的加密隐藏,可以规避现有Android逆向工具的反编译,从而可以极大程度地提高APK文件的安全性。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、安卓系统的数字电视接收装置、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种APK文件防逆向的加固方法,其特征在于,包括步骤:
将待加固的APK文件中原Classes.dex文件复制一份,在复制所得的Classes.dex文件中删除APK文件的功能源代码后,保存得到第一Classes.dex文件;
将原Classes.dex文件用预设的加密解密算法进行加密处理,得到第二Classes.dex文件;
生成用于解密第二Classes.dex文件的Encrypt.so文件,对该Encrypt.so文件进行二次加密,得到Encrypt’.so文件;
生成可将Encrypt’.so文件解密为Encrypt.so文件的Entry.so文件;
将待加固的APK文件中原AndroidManifest.xml文件的源程序入口指向,由指向原Classes.dex文件更改为指向第一Classes.dex文件,修改处理后的文件记为AndroidManifest’.xml文件;
以第一Classes.dex文件、AndroidManifest’.xml文件分别替换待加固的APK文件中原Classes.dex文件和原AndroidManifest.xml文件,然后将第二Classes.dex文件及Encrypt’.so文件存放在待加固的APK文件的指定文件目录下,打包封装处理后,完成了APK文件的加固处理。
2.根据权利要求1所述一种APK文件防逆向的加固方法,其特征在于,将第二Classes.dex文件及Encrypt’.so文件存放在待加固的APK文件的文件目录res之下。
3.根据权利要求1所述一种APK文件防逆向的加固方法,其特征在于,打包封装处理的步骤至少包括使用Android SDK中提供的签名工具对封装文件进行签名的步骤。
4.根据权利要求1所述一种APK文件防逆向的加固方法,其特征在于,预设的加密解密算法为标准或已知任意一种文件加密解密算法。
CN201410663308.4A 2014-11-18 2014-11-18 一种apk文件防逆向的加固方法 Pending CN104408337A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410663308.4A CN104408337A (zh) 2014-11-18 2014-11-18 一种apk文件防逆向的加固方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410663308.4A CN104408337A (zh) 2014-11-18 2014-11-18 一种apk文件防逆向的加固方法

Publications (1)

Publication Number Publication Date
CN104408337A true CN104408337A (zh) 2015-03-11

Family

ID=52645968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410663308.4A Pending CN104408337A (zh) 2014-11-18 2014-11-18 一种apk文件防逆向的加固方法

Country Status (1)

Country Link
CN (1) CN104408337A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932902A (zh) * 2015-07-09 2015-09-23 魅族科技(中国)有限公司 一种生成apk文件的方法及终端
CN105631251A (zh) * 2015-12-25 2016-06-01 北京奇虎科技有限公司 一种apk加固保护方法及系统
CN105740708A (zh) * 2016-01-28 2016-07-06 博雅网信(北京)科技有限公司 一种基于Java反射机制的安卓应用自动脱壳方法
CN106650330A (zh) * 2016-12-22 2017-05-10 合肥国信车联网研究院有限公司 一种基于Dex加载器的Android应用软件加固保护方法
CN106650341A (zh) * 2016-11-18 2017-05-10 湖南鼎源蓝剑信息科技有限公司 基于smali流程混淆技术的Android应用加固方法
CN107122635A (zh) * 2017-04-27 2017-09-01 北京洋浦伟业科技发展有限公司 一种so文件的加固方法、装置和apk的加固方法
CN107145781A (zh) * 2017-04-18 2017-09-08 北京思特奇信息技术股份有限公司 一种对应用程序进行安全检测的方法及装置
CN107169324A (zh) * 2017-05-12 2017-09-15 北京理工大学 一种基于动态加解密的Android应用加固方法
CN107480479A (zh) * 2017-08-15 2017-12-15 北京奇虎科技有限公司 应用程序的加固方法及装置、计算设备、计算机存储介质
CN107609394A (zh) * 2017-08-28 2018-01-19 上海移卓网络科技有限公司 Android安装包的防篡改方法、存储设备及装置
CN108460276A (zh) * 2016-12-09 2018-08-28 北京奇虎科技有限公司 一种安卓安装包的动态链接库so文件的处理方法和装置
CN109145619A (zh) * 2018-08-13 2019-01-04 中金金融认证中心有限公司 一种Android应用程序资源加固方法及系统
CN109409037A (zh) * 2018-09-29 2019-03-01 阿里巴巴集团控股有限公司 一种数据混淆规则的生成方法、装置及设备
CN110135164A (zh) * 2019-03-28 2019-08-16 江苏通付盾信息安全技术有限公司 一种基于iOS应用的安全检测方法、装置及系统
CN112084469A (zh) * 2020-08-06 2020-12-15 华帝股份有限公司 防止应用程序被逆向工程的加密方法
CN112115430A (zh) * 2020-09-03 2020-12-22 深圳创维-Rgb电子有限公司 一种apk的加固方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087605A (zh) * 2011-01-28 2011-06-08 宇龙计算机通信科技(深圳)有限公司 一种基于android平台应用安装控制方法及系统
CN102236757A (zh) * 2011-06-30 2011-11-09 北京邮电大学 一种适用于Android系统的软件保护方法及系统
KR101284676B1 (ko) * 2012-02-28 2013-08-23 건국대학교 산학협력단 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템 및 그 방법
CN103746992A (zh) * 2014-01-06 2014-04-23 武汉虹旭信息技术有限责任公司 基于逆向的入侵检测系统及其方法
CN104111832A (zh) * 2014-07-03 2014-10-22 北京思特奇信息技术股份有限公司 一种安卓应用程序安装包加壳方法及系统及解壳方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087605A (zh) * 2011-01-28 2011-06-08 宇龙计算机通信科技(深圳)有限公司 一种基于android平台应用安装控制方法及系统
CN102236757A (zh) * 2011-06-30 2011-11-09 北京邮电大学 一种适用于Android系统的软件保护方法及系统
KR101284676B1 (ko) * 2012-02-28 2013-08-23 건국대학교 산학협력단 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템 및 그 방법
CN103746992A (zh) * 2014-01-06 2014-04-23 武汉虹旭信息技术有限责任公司 基于逆向的入侵检测系统及其方法
CN104111832A (zh) * 2014-07-03 2014-10-22 北京思特奇信息技术股份有限公司 一种安卓应用程序安装包加壳方法及系统及解壳方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932902A (zh) * 2015-07-09 2015-09-23 魅族科技(中国)有限公司 一种生成apk文件的方法及终端
CN105631251A (zh) * 2015-12-25 2016-06-01 北京奇虎科技有限公司 一种apk加固保护方法及系统
CN105631251B (zh) * 2015-12-25 2018-07-24 北京奇虎科技有限公司 一种apk加固保护方法及系统
CN105740708A (zh) * 2016-01-28 2016-07-06 博雅网信(北京)科技有限公司 一种基于Java反射机制的安卓应用自动脱壳方法
CN106650341A (zh) * 2016-11-18 2017-05-10 湖南鼎源蓝剑信息科技有限公司 基于smali流程混淆技术的Android应用加固方法
CN108460276A (zh) * 2016-12-09 2018-08-28 北京奇虎科技有限公司 一种安卓安装包的动态链接库so文件的处理方法和装置
CN108460276B (zh) * 2016-12-09 2022-01-25 北京奇虎科技有限公司 一种安卓安装包的动态链接库so文件的处理方法和装置
CN106650330A (zh) * 2016-12-22 2017-05-10 合肥国信车联网研究院有限公司 一种基于Dex加载器的Android应用软件加固保护方法
CN107145781A (zh) * 2017-04-18 2017-09-08 北京思特奇信息技术股份有限公司 一种对应用程序进行安全检测的方法及装置
CN107122635A (zh) * 2017-04-27 2017-09-01 北京洋浦伟业科技发展有限公司 一种so文件的加固方法、装置和apk的加固方法
CN107169324A (zh) * 2017-05-12 2017-09-15 北京理工大学 一种基于动态加解密的Android应用加固方法
CN107480479A (zh) * 2017-08-15 2017-12-15 北京奇虎科技有限公司 应用程序的加固方法及装置、计算设备、计算机存储介质
CN107480479B (zh) * 2017-08-15 2020-08-07 北京奇虎科技有限公司 应用程序的加固方法及装置、计算设备、计算机存储介质
CN107609394A (zh) * 2017-08-28 2018-01-19 上海移卓网络科技有限公司 Android安装包的防篡改方法、存储设备及装置
CN109145619A (zh) * 2018-08-13 2019-01-04 中金金融认证中心有限公司 一种Android应用程序资源加固方法及系统
CN109409037A (zh) * 2018-09-29 2019-03-01 阿里巴巴集团控股有限公司 一种数据混淆规则的生成方法、装置及设备
CN110135164A (zh) * 2019-03-28 2019-08-16 江苏通付盾信息安全技术有限公司 一种基于iOS应用的安全检测方法、装置及系统
CN112084469A (zh) * 2020-08-06 2020-12-15 华帝股份有限公司 防止应用程序被逆向工程的加密方法
CN112115430A (zh) * 2020-09-03 2020-12-22 深圳创维-Rgb电子有限公司 一种apk的加固方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN104408337A (zh) 一种apk文件防逆向的加固方法
CN104318155A (zh) 一种防逆向apk文件的动态加载方法
KR101471589B1 (ko) 공통중간언어 기반 프로그램을 위한 보안 제공 방법
CN104317625A (zh) 一种apk文件的动态加载方法
CN106203006A (zh) 基于dex与so文件动态执行的Android应用加固方法
CN104239757A (zh) 应用程序防止逆向的方法及装置、运行方法及终端
KR101695639B1 (ko) 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
CN104539432A (zh) 一种对文件进行签名的方法和装置
CN107273723B (zh) 一种基于so文件加壳的Android平台应用软件保护方法
CN103902858A (zh) 一种apk应用加固的方法及系统
CN104866739A (zh) 安卓系统中应用程序加密方法及系统
CN106650330A (zh) 一种基于Dex加载器的Android应用软件加固保护方法
CN105930695A (zh) 一种软件开发工具包的保护方法及装置
CN107609394A (zh) Android安装包的防篡改方法、存储设备及装置
Kim et al. Android Application Protection against Static Reverse Engineering based on Multidexing.
US10867017B2 (en) Apparatus and method of providing security and apparatus and method of executing security for common intermediate language
US9292708B2 (en) Protection of interpreted source code in virtual appliances
KR101734663B1 (ko) 안드로이드 어플리케이션의 역공학 방지 방법 및 이를 수행하는 장치
CN104462883A (zh) 一种apk文件加固的方法
KR20160117183A (ko) Dll 파일 암호화 방법, 이를 수행하는 dll 파일 암호화 시스템, 및 이를 저장하는 기록매체
WO2015058639A1 (zh) 一种应用程序保护系统和方法
KR101667774B1 (ko) 스크립트 프로그램을 위한 보안 제공 장치 및 방법
KR101749209B1 (ko) 애플리케이션의 정보 은닉 방법 및 장치, 및 애플리케이션 실행 방법 및 장치
TW201804349A (zh) 隨選碼解密
CN112115430A (zh) 一种apk的加固方法、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150311