CN104318155A - 一种防逆向apk文件的动态加载方法 - Google Patents

一种防逆向apk文件的动态加载方法 Download PDF

Info

Publication number
CN104318155A
CN104318155A CN201410663307.XA CN201410663307A CN104318155A CN 104318155 A CN104318155 A CN 104318155A CN 201410663307 A CN201410663307 A CN 201410663307A CN 104318155 A CN104318155 A CN 104318155A
Authority
CN
China
Prior art keywords
file
classes
dex
apk
dex 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.)
Pending
Application number
CN201410663307.XA
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 CN201410663307.XA priority Critical patent/CN104318155A/zh
Priority to PCT/CN2014/092643 priority patent/WO2016078130A1/zh
Publication of CN104318155A publication Critical patent/CN104318155A/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种防逆向APK文件的动态加载方法,其包括步骤:加载第一Classes.dex文件,调用Entry.so文件,利用Entry.so文件对Encrypt’.so文件进行解密处理,得到解密后的Encrypt.so文件;利用Entry.so文件对第二Classes.dex文件进行解密,得到加固处理前的APK文件中的原Classes.dex文件;对原Classes.dex文件进行动态加载,并找到存放APK文件功能的源代码的物理地址,将源代码动态加载至内存;从物理内存上删除解密后的原Classes.dex文件。本发明可以规避现有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文件的动态加载方法,其包括步骤:加载第一Classes.dex文件,调用Entry.so文件,利用Entry.so文件对Encrypt’.so文件进行解密处理,得到解密后的Encrypt.so文件;
利用Entry.so文件对第二Classes.dex文件进行解密,得到加固处理前的APK文件中的原Classes.dex文件;
对原Classes.dex文件进行动态加载,并找到存放APK文件功能的源代码的物理地址,将源代码动态加载至内存;
从物理内存上删除解密后的原Classes.dex文件;
其中,第一Classes.dex文件中仅包含原Classes.dex文件的的文件头部结构,第二Classes.dex文件及Encrypt’.so文件存放在文件目录res之下,Entry.so文件存放在文件目录libs之下,由第一Classes.dex文件、AndroidManifest’.xml文件、文件目录res、文件目录libs及resources.ars文件封装后形成所述防逆向APK文件。
其中,对第二Classes.dex文件进行解密之前还包括对原Classes.dex文件进行完整性检查的步骤。
其中,利用第一Classes.dex文件的文件头结构所包含字段信息,对解密获得的原Classes.dex文件进行完整性检查。
其中,对原Classes.dex文件进行动态加载的具体包括:新建一个带有源程序Classes.dex的DexClassLoader对象,通过反射的方式替换到***默认的加载类中的属性mClassLoader。
其中,根据原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方法。
现有技术相比,本发明具有如下有益效果:
利用上述加固方法进行加固的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 (6)

1.一种防逆向APK文件的动态加载方法,其特征在于,包括步骤:
加载第一Classes.dex文件,调用Entry.so文件,利用Entry.so文件对Encrypt’.so文件进行解密处理,得到解密后的Encrypt.so文件;
利用Entry.so文件对第二Classes.dex文件进行解密,得到加固处理前的APK文件中的原Classes.dex文件;
对原Classes.dex文件进行动态加载,并找到存放APK文件功能的源代码的物理地址,将源代码动态加载至内存;
从物理内存上删除解密后的原Classes.dex文件;
其中,第一Classes.dex文件中仅包含原Classes.dex文件的的文件头部结构,第二Classes.dex文件及Encrypt’.so文件存放在文件目录res之下,Entry.so文件存放在文件目录libs之下,由第一Classes.dex文件、AndroidManifest’.xml文件、文件目录res、文件目录libs及resources.ars文件封装后形成所述防逆向APK文件。
2.根据权利要求1所述一种防逆向APK文件的动态加载方法,其特征在于,对第二Classes.dex文件进行解密之前还包括对原Classes.dex文件进行完整性检查的步骤。
3.根据权利要求2所述一种防逆向APK文件的动态加载方法,其特征在于,利用第一Classes.dex文件的文件头结构所包含字段信息,对解密获得的原Classes.dex文件进行完整性检查。
4.根据权利要求1所述一种防逆向APK文件的动态加载方法,其特征在于,对原Classes.dex文件进行动态加载的具体包括:新建一个带有源程序Classes.dex的DexClassLoader对象,通过反射的方式替换到***默认的加载类中的属性mClassLoader。
5.根据权利要求1所述一种防逆向APK文件的动态加载方法,其特征在于,根据原Classes.dex文件中文件头部结构中data_size字段及data_off字段信息,并找到存放APK文件功能的源代码的物理地址。
6.根据权利要求1所述一种防逆向APK文件的动态加载方法,其特征在于,将源代码动态加载至内存的步骤具体包括:
利用自定义的onCreate方法,通过AndroidManifest中application中的meta-data属性,找到源代码的物理地址,从而替换成源程序的Application;
将内存中现有的“第一Application文件”从调用集合中移除,并新建一个Application对象app,将原Classes.dex文件的属性绑定至app,再把app加入到内存的调用集合中;
由于组件Provider在onCreate方法前就被***注册,因此把app绑定到源程序中Provider的context上,然后启动***级onCreate方法。
CN201410663307.XA 2014-11-18 2014-11-18 一种防逆向apk文件的动态加载方法 Pending CN104318155A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410663307.XA CN104318155A (zh) 2014-11-18 2014-11-18 一种防逆向apk文件的动态加载方法
PCT/CN2014/092643 WO2016078130A1 (zh) 2014-11-18 2014-12-01 一种防逆向apk文件的动态加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410663307.XA CN104318155A (zh) 2014-11-18 2014-11-18 一种防逆向apk文件的动态加载方法

Publications (1)

Publication Number Publication Date
CN104318155A true CN104318155A (zh) 2015-01-28

Family

ID=52373386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410663307.XA Pending CN104318155A (zh) 2014-11-18 2014-11-18 一种防逆向apk文件的动态加载方法

Country Status (2)

Country Link
CN (1) CN104318155A (zh)
WO (1) WO2016078130A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740708A (zh) * 2016-01-28 2016-07-06 博雅网信(北京)科技有限公司 一种基于Java反射机制的安卓应用自动脱壳方法
CN106528255A (zh) * 2016-12-19 2017-03-22 北京小米移动软件有限公司 类加载方法及装置
CN106843919A (zh) * 2016-12-12 2017-06-13 北京奇虎科技有限公司 一种dex文件的存储方法和装置
CN106845166A (zh) * 2016-12-12 2017-06-13 北京奇虎科技有限公司 一种dex文件的存储方法和装置
CN106897587A (zh) * 2017-02-27 2017-06-27 百度在线网络技术(北京)有限公司 加固应用、加载加固应用的方法和装置
CN107169324A (zh) * 2017-05-12 2017-09-15 北京理工大学 一种基于动态加解密的Android应用加固方法
CN109033765A (zh) * 2018-08-07 2018-12-18 麒麟合盛网络技术股份有限公司 应用安装包的处理方法和装置
CN110610097A (zh) * 2019-09-09 2019-12-24 杭州天宽科技有限公司 一种基于安卓应用的文件传输保密***
CN113094665A (zh) * 2021-04-09 2021-07-09 每日互动股份有限公司 一种防止java程序被反编译的***

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122634B (zh) * 2017-04-26 2020-03-17 北京梆梆安全科技有限公司 软件安装包的加固保护方法及装置
CN107122632A (zh) * 2017-04-26 2017-09-01 北京洋浦伟业科技发展有限公司 软件安装包的加密方法及装置
CN107122635A (zh) * 2017-04-27 2017-09-01 北京洋浦伟业科技发展有限公司 一种so文件的加固方法、装置和apk的加固方法
CN109933325A (zh) * 2017-12-15 2019-06-25 阿里巴巴集团控股有限公司 一种dex文件构建方法、装置及***
CN111488557B (zh) * 2019-01-28 2024-01-12 ***通信有限公司研究院 一种加解密方法、装置、电子设备及可读存储介质
CN112083970A (zh) * 2020-09-10 2020-12-15 南京烽火星空通信发展有限公司 基于动态加载技术的移动终端数字取证方法和设备
CN112667975B (zh) * 2020-12-29 2024-04-26 西北工业大学 一种基于混合加固Android***应用软件安全防护方法
CN112765608B (zh) * 2021-01-20 2023-05-12 每日互动股份有限公司 目标apk源代码获取方法、电子设备和介质
CN113641426A (zh) * 2021-08-31 2021-11-12 福建省天奕网络科技有限公司 一种安卓端基于源码修改的脱壳查找与实现方法及***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102087605B (zh) * 2011-01-28 2014-05-07 宇龙计算机通信科技(深圳)有限公司 一种基于android平台应用安装控制方法及***
CN102236757A (zh) * 2011-06-30 2011-11-09 北京邮电大学 一种适用于Android***的软件保护方法及***
CN102760219B (zh) * 2011-12-20 2015-12-16 北京安天电子设备有限公司 一种Android平台软件保护***、方法及设备
KR101383010B1 (ko) * 2012-09-04 2014-04-07 주식회사 인프라웨어테크놀러지 안드로이드 운영체제에서 apk 파일의 시그니처 추출 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
CN103761457A (zh) * 2013-12-27 2014-04-30 华为技术有限公司 一种软件保护方法、装置及***

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740708A (zh) * 2016-01-28 2016-07-06 博雅网信(北京)科技有限公司 一种基于Java反射机制的安卓应用自动脱壳方法
CN106843919A (zh) * 2016-12-12 2017-06-13 北京奇虎科技有限公司 一种dex文件的存储方法和装置
CN106845166A (zh) * 2016-12-12 2017-06-13 北京奇虎科技有限公司 一种dex文件的存储方法和装置
CN106843919B (zh) * 2016-12-12 2021-02-23 北京奇虎科技有限公司 一种dex文件的存储方法和装置
CN106528255A (zh) * 2016-12-19 2017-03-22 北京小米移动软件有限公司 类加载方法及装置
CN106528255B (zh) * 2016-12-19 2019-07-12 北京小米移动软件有限公司 类加载方法及装置
CN106897587A (zh) * 2017-02-27 2017-06-27 百度在线网络技术(北京)有限公司 加固应用、加载加固应用的方法和装置
CN107169324A (zh) * 2017-05-12 2017-09-15 北京理工大学 一种基于动态加解密的Android应用加固方法
CN109033765A (zh) * 2018-08-07 2018-12-18 麒麟合盛网络技术股份有限公司 应用安装包的处理方法和装置
CN110610097A (zh) * 2019-09-09 2019-12-24 杭州天宽科技有限公司 一种基于安卓应用的文件传输保密***
CN113094665A (zh) * 2021-04-09 2021-07-09 每日互动股份有限公司 一种防止java程序被反编译的***

Also Published As

Publication number Publication date
WO2016078130A1 (zh) 2016-05-26

Similar Documents

Publication Publication Date Title
CN104318155A (zh) 一种防逆向apk文件的动态加载方法
CN104408337A (zh) 一种apk文件防逆向的加固方法
US10853270B2 (en) Cryptographic pointer address encoding
CN104317625A (zh) 一种apk文件的动态加载方法
KR101471589B1 (ko) 공통중간언어 기반 프로그램을 위한 보안 제공 방법
CN106203006A (zh) 基于dex与so文件动态执行的Android应用加固方法
KR101695639B1 (ko) 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템
CN104239757A (zh) 应用程序防止逆向的方法及装置、运行方法及终端
CN103902858A (zh) 一种apk应用加固的方法及***
CN104866739A (zh) 安卓***中应用程序加密方法及***
CN107609394A (zh) Android安装包的防篡改方法、存储设备及装置
US10867017B2 (en) Apparatus and method of providing security and apparatus and method of executing security for common intermediate language
Kim et al. Android Application Protection against Static Reverse Engineering based on Multidexing.
US9292708B2 (en) Protection of interpreted source code in virtual appliances
CN104462883A (zh) 一种apk文件加固的方法
KR20160117183A (ko) Dll 파일 암호화 방법, 이를 수행하는 dll 파일 암호화 시스템, 및 이를 저장하는 기록매체
KR101749209B1 (ko) 애플리케이션의 정보 은닉 방법 및 장치, 및 애플리케이션 실행 방법 및 장치
KR101863325B1 (ko) 역공학 방지 방법 및 장치
WO2015058639A1 (zh) 一种应用程序保护***和方法
KR101667774B1 (ko) 스크립트 프로그램을 위한 보안 제공 장치 및 방법
CN116235174A (zh) 用于执行加密算法的设备和方法
KR102039380B1 (ko) 공유 오브젝트의 코드 보호를 위한 보안 제공 장치와 방법, 및 보안 실행 장치와 방법
JP6215468B2 (ja) プログラム保護装置
CN111338664A (zh) 映像文件打包方法及映像文件打包***
CN104021321A (zh) 软件安装包的加固保护方法和装置

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

Application publication date: 20150128

WD01 Invention patent application deemed withdrawn after publication