CN106650330A - 一种基于Dex加载器的Android应用软件加固保护方法 - Google Patents
一种基于Dex加载器的Android应用软件加固保护方法 Download PDFInfo
- Publication number
- CN106650330A CN106650330A CN201611199104.5A CN201611199104A CN106650330A CN 106650330 A CN106650330 A CN 106650330A CN 201611199104 A CN201611199104 A CN 201611199104A CN 106650330 A CN106650330 A CN 106650330A
- Authority
- CN
- China
- Prior art keywords
- dex
- files
- application
- android
- apk
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000002787 reinforcement Effects 0.000 title abstract description 7
- 230000003014 reinforcing effect Effects 0.000 claims description 31
- 235000014510 cooky Nutrition 0.000 claims description 6
- 238000003491 array Methods 0.000 claims description 5
- 238000012856 packing Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000002715 modification method Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 abstract description 7
- 239000012634 fragment Substances 0.000 abstract description 3
- 238000005728 strengthening Methods 0.000 description 6
- 238000007596 consolidation process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method 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
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- 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
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明在于提供一种基于DexClassLoader实现Dex内存加载的方法,在PC端进行apk加固操作,加固后的应用在Android终端安装,脱壳,加载并启动,加固后的dex结构和传统dex文件的结构完全不同,不能被成功反编译为具有可读性的源文件,加固方案成功保护了关键数据的机密性,起到了防反编译的效果,利用ZjDroid脱壳工具对加固后的apk进行脱壳操作,不能获取到任何原apk的源码文件和dex碎片,本发明提供的内存加载过程对防止java层Hook有很好的效果,同时也避免了dex明文出现在磁盘上被攻击者劫取,相对于传统的磁盘加载方式安全性有很大的提高。
Description
技术领域
本发明属于信息安全领域,涉及移动应用软件安全保护技术,具体涉及一种Android平台下基于Dex加载器的一种改进优化的应用软件加固保护方法。
背景技术
Android应用有Java语言编译而成,而Java语言编译成的二进制代码后很容易被反编译,代码的安全性受到极大威胁,同时也为盗版提供了可乘之机。攻击者下载合法应用,通过反编译修改配置文件甚至植入恶意代码,然后利用打包工具对应用进行重打包,最后使用自己的密钥对应用进行重签名并发布到应用市场。对于普通手机用户,这种重打包的应用很难辨别,盗版或恶意应用很容易被安装到用户手机上,任意获取用户隐私信息,偷跑流量,恶意扣费等,给用户带了很大的损失。
针对这种恶意攻击,传统的防护措施如代码混淆,数字水印技术,Android签名机制等保护方式安全性非常有限。无论采用上述哪种方式,最终攻击者都能在适当地时机获取到程序源码,攻击者可以使用静态的分析工具或者将应用程序置于动态分析的模拟器中获得代码,这些保护措施的效果不佳。
Android应用加固是针对应用重打包的有效防范措施,应用加固是对Android应用程序源代码的加密保护过程,通过利用Android开放的加载机制,动态启动被加密后的代码文件。通过加固的应用,源代码以密文方式保存在Apk中,攻击者在不知道加密算法和密钥的前提下,无从直接获取源码。到目前为止,Android应用加固已经有了一定的技术积累,但是随着Android系统版本一直在迭代更新,现有的Android加固技术也面临着一些挑战:加固应用的启动速度有待优化;加固流程效率低下有待提升;加固程序自身的安全尚未得到重视等。
传统的基于Dex加载器(DexClassLoader)的加固技术是近期使用最广泛的加固方法,该方法需要将Apk中的classes.dex文件加密隐藏,将原Dex文件保存在assets文件夹中,assets文件夹中可以存放不限类型的文件,这样能避免Dex嵌入加固技术对Art虚拟机加固不兼容的问题。如图3所示,其加固流程大致如下:
1)使用反编译软件对目标Apk进行解包,获取其中的classes.dex文件以及AndroidManifest.xml;
2)加密压缩classes.dex文件,存放到assets目录中;
3)将自定义的DexClassLoader编译成壳classes.dex文件放在应用的根目录中以替换目标应用的classes.dex;
4)修改Manifest,将程序入口改为壳程序;
5)打包签名发布。
相应的,如图4所示,系统运行加固后的流程分析如下:
1)系统运行时首先从Manifest文件中读取程序入口,加载并启动壳程序;
2)壳程序对assets中的密文Dex进行解密和完整性校验;
3)壳程序动态加载解密生成的Dex明文文件,将程序的控制权交还给原程序。
发明内容
为解决上述技术问题,本发明提供了一种基于Dex加载器的Android应用软件加固保护方法,其包括以下步骤:
S1:解包原应用Apk文件,得到AndroidManifest.xml,classes.dex文件以及assets,META_INF,libs文件夹;
S2:生成随机密钥KEY,使用随机密钥KEY对Apk中的Dex文件使用128bit的AES算法加密,生成密文文件Reinforce.dex;
S3:将Reinforce.dex移动到在assets文件夹中保存,图示删除classes.dex明文文件;
S4:替换加密核心库libcorn.so中Key密钥区域,并将库文件libcorn.so并保存在libs文件夹中;
S5:将壳源码编译成classes.dex文件,并将壳文件dex放在根目录下替代原程序的classes.dex;
S6:将Manifest中程序入口修改为壳程序具体修改方法为:
a)<application>标签下的android:name属性值改为壳程序名称;
b)建立标签<meta-data>,在<meta-data>标签下添加属性android:name和android:value;
c)将android:name的值设置为APPLICATION_CLASS_NAME;后者的值设置为原<application>标签下android:name属性的值,若该原始值不存在,则取系统的缺省程序入口android.app.Application;若该原始值以“.”开头,则在其前加上包名取完成路径;
S7:删除原apk签名信息META-INF;
S8:用apktool打包文件夹,用自己的密钥对新打包的apk进行签名;
经过以上的步骤,加固完毕,生成了一个全新的apk文件,加固后的应用和加固前的应用相比,asssts文件家中多了加密Dex文件,classes.dex是替换的壳文件,并且在lib库中多了用于加载解密的核心so库。
较佳地,还包括以下步骤:
S9:加固壳应用启动,壳程序中加载核心so库文件libcorn.so;
S10:从libcorn.so的密钥区域恢复出密钥KEY。
S11:调用libcorn.so的解密函数解密assets文件夹中的Dex文件到内存,得到一个字节数组byte[];
S12:使用自定义的Native层的DexClassLoader调用libdvm.so中接口Dalvik_dalvik_system_DexFile_openDexFile_bytearray()装载上一步得到的byte数组并得到一个标记dex的cookie值;
S13:调用libdvm.so中接口
Dalvik_dalvik_system_DexFile_defineClassNative,根据上一步得到的cookie值加载原程序;
S14:将系统中运行的应用信息状态信息替换为原应用,将程序的控制全交还给原应用,实现原应用程序的正常启动。
本发明具有以下有益效果:
本发明提供的基于Dex加载器的Android应用软件加固保护方法在加固后的dex结构和传统dex文件的结构完全不同,不能被成功反编译为具有可读性的源文件。加固方案成功保护了关键数据的机密性,起到了防反编译的效果。利用ZjDroid脱壳工具对加固后的apk进行脱壳操作,不能获取到任何原apk的源码文件和dex碎片,说明我们的内存加载过程对防止java层Hook有很好的效果,同时也避免了dex明文出现在磁盘上被攻击者劫取。相对于传统的磁盘加载方式安全性有很大的提高。
针对Android的不同版本,不同的系统架构对传统dex加固方式和本文实现的加固方式做一个横向的对比。传统磁盘加载由于各种因素,只能在一定时间段完成加固任务,在Android5.0系统以后,传统的方法将彻底失效。采用我们提出的dex加载方式加固的应用,能在当前所有主流版本,主流架构的终端上正常运行,适配性强。
此外经过本文实现的加固处理后的应用启动时间明显比传统加固处理后应用的启动时间要短。相比原应用,加载时间增量完全在可接受的范围内。加载效率相比传统加固方法有明显提高。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统DexClassLoader加固流程图;
图2为传统DexClassLoader加固程序执行流程图;
图3为本发明实施例提供的加固流程示意图;
图4为本发明实施例提供的加固应用启动流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于Dex加载器的Android应用软件加固保护方法,其包括以下步骤:
S1:解包原应用Apk文件,得到AndroidManifest.xml,classes.dex文件以及assets,META_INF,libs文件夹;
S2:生成随机密钥KEY,使用随机密钥KEY对Apk中的Dex文件使用128bit的AES算法加密,生成密文文件Reinforce.dex;
S3:将Reinforce.dex移动到在assets文件夹中保存,图示删除classes.dex明文文件;
S4:替换加密核心库libcorn.so中Key密钥区域,并将库文件libcorn.so并保存在libs文件夹中;
S5:将壳源码编译成classes.dex文件,并将壳文件dex放在根目录下替代原程序的classes.dex;
S6:将Manifest中程序入口修改为壳程序具体修改方法为:
a)<application>标签下的android:name属性值改为壳程序名称;
b)建立标签<meta-data>,在<meta-data>标签下添加属性android:name和android:value;
c)将android:name的值设置为APPLICATION_CLASS_NAME;后者的值设置为原<application>标签下android:name属性的值,若该原始值不存在,则取系统的缺省程序入口android.app.Application;若该原始值以“.”开头,则在其前加上包名取完成路径;
S7:删除原apk签名信息META-INF;
S8:用apktool打包文件夹,用自己的密钥对新打包的apk进行签名;
经过以上的步骤,加固完毕,生成了一个全新的apk文件,加固后的应用和加固前的应用相比,asssts文件家中多了加密Dex文件,classes.dex是替换的壳文件,并且在lib库中多了用于加载解密的核心so库。
如图2所示,还包括以下步骤:
S9:加固壳应用启动,壳程序中加载核心so库文件libcorn.so;
S10:从libcorn.so的密钥区域恢复出密钥KEY。
S11:调用libcorn.so的解密函数解密assets文件夹中的Dex文件到内存,得到一个字节数组byte[];
S12:使用自定义的Native层的DexClassLoader调用libdvm.so中接口Dalvik_dalvik_system_DexFile_openDexFile_bytearray()装载上一步得到的byte数组并得到一个标记dex的cookie值;
S13:调用libdvm.so中接口
Dalvik_dalvik_system_DexFile_defineClassNative,根据上一步得到的cookie值加载原程序;
S14:将系统中运行的应用信息状态信息替换为原应用,将程序的控制全交还给原应用,实现原应用程序的正常启动。
本发明提供的基于Dex加载器的Android应用软件加固保护方法在加固后的dex结构和传统dex文件的结构完全不同,不能被成功反编译为具有可读性的源文件。加固方案成功保护了关键数据的机密性,起到了防反编译的效果。利用ZjDroid脱壳工具对加固后的apk进行脱壳操作,不能获取到任何原apk的源码文件和dex碎片,说明我们的内存加载过程对防止java层Hook有很好的效果,同时也避免了dex明文出现在磁盘上被攻击者劫取。相对于传统的磁盘加载方式安全性有很大的提高。
针对Android的不同版本,不同的系统架构对传统dex加固方式和本文实现的加固方式做一个横向的对比。传统磁盘加载由于各种因素,只能在一定时间段完成加固任务,在Android5.0系统以后,传统的方法将彻底失效。采用我们提出的dex加载方式加固的应用,能在当前所有主流版本,主流架构的终端上正常运行,适配性强。
此外经过本文实现的加固处理后的应用启动时间明显比传统加固处理后应用的启动时间要短。相比原应用,加载时间增量完全在可接受的范围内。加载效率相比传统加固方法有明显提高。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (2)
1.一种基于Dex加载器的Android应用软件加固保护方法,其特征在于,包括以下步骤:
S1:解包原应用Apk文件,得到AndroidManifest.xml,classes.dex文件以及assets,META_INF,libs文件夹;
S2:生成随机密钥KEY,使用随机密钥KEY对Apk中的Dex文件使用128bit的AES算法加密,生成密文文件Reinforce.dex;
S3:将Reinforce.dex移动到在assets文件夹中保存,图示删除classes.dex明文文件;
S4:替换加密核心库libcorn.so中Key密钥区域,并将库文件libcorn.so并保存在libs文件夹中;
S5:将壳源码编译成classes.dex文件,并将壳文件dex放在根目录下替代原程序的classes.dex;
S6:将Manifest中程序入口修改为壳程序具体修改方法为:
a)<application>标签下的android:name属性值改为壳程序名称;
b)建立标签<meta-data>,在<meta-data>标签下添加属性android:name和android:value;
c)将android:name的值设置为APPLICATION_CLASS_NAME;后者的值设置为原<application>标签下android:name属性的值,若该原始值不存在,则取系统的缺省程序入口android.app.Application;若该原始值以“.”开头,则在其前加上包名取完成路径;
S7:删除原apk签名信息META-INF;
S8:用apktool打包文件夹,用自己的密钥对新打包的apk进行签名;
经过以上的步骤,加固完毕,生成了一个全新的apk文件,加固后的应用和加固前的应用相比,asssts文件家中多了加密Dex文件,classes.dex是替换的壳文件,并且在lib库中多了用于加载解密的核心so库。
2.如权利要求1所述的基于Dex加载器的Android应用软件加固保护方法,其特征在于,还包括以下步骤:
S9:加固壳应用启动,壳程序中加载核心so库文件libcorn.so;
S10:从libcorn.so的密钥区域恢复出密钥KEY。
S11:调用libcorn.so的解密函数解密assets文件夹中的Dex文件到内存,得到一个字节数组byte[];
S12:使用自定义的Native层的DexClassLoader调用libdvm.so中接口Dalvik_dalvik_system_DexFile_openDexFile_bytearray()装载上一步得到的byte数组并得到一个标记dex的cookie值;
S13:调用libdvm.so中接口
Dalvik_dalvik_system_DexFile_defineClassNative,根据上一步得到的cookie值加载原程序;
S14:将系统中运行的应用信息状态信息替换为原应用,将程序的控制全交还给原应用,实现原应用程序的正常启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611199104.5A CN106650330A (zh) | 2016-12-22 | 2016-12-22 | 一种基于Dex加载器的Android应用软件加固保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611199104.5A CN106650330A (zh) | 2016-12-22 | 2016-12-22 | 一种基于Dex加载器的Android应用软件加固保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106650330A true CN106650330A (zh) | 2017-05-10 |
Family
ID=58833999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611199104.5A Pending CN106650330A (zh) | 2016-12-22 | 2016-12-22 | 一种基于Dex加载器的Android应用软件加固保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106650330A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169324A (zh) * | 2017-05-12 | 2017-09-15 | 北京理工大学 | 一种基于动态加解密的Android应用加固方法 |
CN107609394A (zh) * | 2017-08-28 | 2018-01-19 | 上海移卓网络科技有限公司 | Android安装包的防篡改方法、存储设备及装置 |
CN107977553A (zh) * | 2017-12-25 | 2018-05-01 | 中国电子产品可靠性与环境试验研究所 | 移动应用程序的安全加固的方法及装置 |
CN108256326A (zh) * | 2017-12-14 | 2018-07-06 | 捷开通讯(深圳)有限公司 | 一种阻止恶意代码编译的方法、存储介质及电子装置 |
CN108491235A (zh) * | 2018-03-21 | 2018-09-04 | 北京理工大学 | 结合动态加载和函数Native化的DEX保护方法 |
CN108710800A (zh) * | 2018-05-22 | 2018-10-26 | 国家计算机网络与信息安全管理中心 | 一种安卓应用程序的加壳识别方法 |
CN109145619A (zh) * | 2018-08-13 | 2019-01-04 | 中金金融认证中心有限公司 | 一种Android应用程序资源加固方法及系统 |
CN109740311A (zh) * | 2019-01-07 | 2019-05-10 | 广州小鹏汽车科技有限公司 | 安卓应用的安全加固方法及装置 |
CN109918872A (zh) * | 2019-01-28 | 2019-06-21 | 中国科学院数据与通信保护研究教育中心 | Android应用加固方法 |
CN110765424A (zh) * | 2019-10-22 | 2020-02-07 | 福州汇思博信息技术有限公司 | 一种android应用加固方法及计算机设备 |
CN112667975A (zh) * | 2020-12-29 | 2021-04-16 | 西北工业大学 | 一种基于混合加固Android系统应用软件安全防护方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886230A (zh) * | 2014-02-24 | 2014-06-25 | 四川长虹电器股份有限公司 | android系统的软件版权保护方法及其系统 |
CN104317625A (zh) * | 2014-11-09 | 2015-01-28 | 刘鹏 | 一种apk文件的动态加载方法 |
CN104408337A (zh) * | 2014-11-18 | 2015-03-11 | 刘鹏 | 一种apk文件防逆向的加固方法 |
CN104462880A (zh) * | 2014-11-28 | 2015-03-25 | 北京奇虎科技有限公司 | 应用程序加壳配置方法与装置 |
-
2016
- 2016-12-22 CN CN201611199104.5A patent/CN106650330A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886230A (zh) * | 2014-02-24 | 2014-06-25 | 四川长虹电器股份有限公司 | android系统的软件版权保护方法及其系统 |
CN104317625A (zh) * | 2014-11-09 | 2015-01-28 | 刘鹏 | 一种apk文件的动态加载方法 |
CN104408337A (zh) * | 2014-11-18 | 2015-03-11 | 刘鹏 | 一种apk文件防逆向的加固方法 |
CN104462880A (zh) * | 2014-11-28 | 2015-03-25 | 北京奇虎科技有限公司 | 应用程序加壳配置方法与装置 |
Non-Patent Citations (1)
Title |
---|
秦建平: "《ANDROID编程宝典》", 31 March 2013 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169324A (zh) * | 2017-05-12 | 2017-09-15 | 北京理工大学 | 一种基于动态加解密的Android应用加固方法 |
CN107609394A (zh) * | 2017-08-28 | 2018-01-19 | 上海移卓网络科技有限公司 | Android安装包的防篡改方法、存储设备及装置 |
WO2019114812A1 (zh) * | 2017-12-14 | 2019-06-20 | 捷开通讯(深圳)有限公司 | 一种阻止恶意代码编译的方法、存储介质及电子装置 |
CN108256326A (zh) * | 2017-12-14 | 2018-07-06 | 捷开通讯(深圳)有限公司 | 一种阻止恶意代码编译的方法、存储介质及电子装置 |
CN107977553A (zh) * | 2017-12-25 | 2018-05-01 | 中国电子产品可靠性与环境试验研究所 | 移动应用程序的安全加固的方法及装置 |
CN108491235A (zh) * | 2018-03-21 | 2018-09-04 | 北京理工大学 | 结合动态加载和函数Native化的DEX保护方法 |
CN108710800A (zh) * | 2018-05-22 | 2018-10-26 | 国家计算机网络与信息安全管理中心 | 一种安卓应用程序的加壳识别方法 |
CN109145619A (zh) * | 2018-08-13 | 2019-01-04 | 中金金融认证中心有限公司 | 一种Android应用程序资源加固方法及系统 |
CN109740311A (zh) * | 2019-01-07 | 2019-05-10 | 广州小鹏汽车科技有限公司 | 安卓应用的安全加固方法及装置 |
CN109918872A (zh) * | 2019-01-28 | 2019-06-21 | 中国科学院数据与通信保护研究教育中心 | Android应用加固方法 |
CN110765424A (zh) * | 2019-10-22 | 2020-02-07 | 福州汇思博信息技术有限公司 | 一种android应用加固方法及计算机设备 |
CN110765424B (zh) * | 2019-10-22 | 2021-07-09 | 福州汇思博信息技术有限公司 | 一种android应用加固方法及计算机设备 |
CN112667975A (zh) * | 2020-12-29 | 2021-04-16 | 西北工业大学 | 一种基于混合加固Android系统应用软件安全防护方法 |
CN112667975B (zh) * | 2020-12-29 | 2024-04-26 | 西北工业大学 | 一种基于混合加固Android系统应用软件安全防护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106650330A (zh) | 一种基于Dex加载器的Android应用软件加固保护方法 | |
CN107977553B (zh) | 移动应用程序的安全加固的方法及装置 | |
CN102890758B (zh) | 一种保护可执行文件的方法及系统 | |
CN105426708B (zh) | 一种Android系统的应用程序的加固方法 | |
KR101471589B1 (ko) | 공통중간언어 기반 프로그램을 위한 보안 제공 방법 | |
JP6227772B2 (ja) | 動的ライブラリを保護する方法及び装置 | |
CN111143869B (zh) | 应用程序包处理方法、装置、电子设备及存储介质 | |
US20080263366A1 (en) | Self-verifying software to prevent reverse engineering and piracy | |
US20120192283A1 (en) | Interlocked Binary Protection Using Whitebox Cryptography | |
WO2016078130A1 (zh) | 一种防逆向apk文件的动态加载方法 | |
CN104408337A (zh) | 一种apk文件防逆向的加固方法 | |
WO2015150391A1 (en) | Software protection | |
WO2015192637A1 (zh) | 软件安装包的加固保护方法和装置 | |
JPWO2006009081A1 (ja) | アプリケーション実行装置及びアプリケーション実行装置のアプリケーション実行方法 | |
Piao et al. | Server‐based code obfuscation scheme for APK tamper detection | |
JP2011227897A (ja) | 自己修正計算機コードのチェックサム検証のための方法、装置およびコンピュータ・プログラム担体 | |
CN107273723B (zh) | 一种基于so文件加壳的Android平台应用软件保护方法 | |
CN101814124A (zh) | 一种基于Java的软件安全性加强的方法 | |
CN111475824A (zh) | 数据访问方法、装置、设备和存储介质 | |
JP2011170847A (ja) | ソフトウェアのインテグリティを実行中に確かめる方法及び装置、並びにこのようなソフトウェアを生成する装置 | |
CN111191195A (zh) | 一种用于保护apk的方法和装置 | |
CN103971034A (zh) | 一种保护Java软件的方法及装置 | |
CN105760721B (zh) | 一种软件加固方法和系统 | |
JP5575950B2 (ja) | 無線端末装置およびシステム保護方法 | |
CN117313046A (zh) | 一种代码加固方法、代码加载方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170818 Address after: 230000 Anhui city of Hefei Province Economic and Technological Development Zone Cuiwei Road No. 6 Haiheng building room 568 Applicant after: Net (Hefei) Technology Co., Ltd. Address before: Shushan District of Hefei City, Anhui province 230000 North Road Feibin farmers market 1 buildings 202-203 Applicant before: Hefei Guoxin vehicle Networking Research Institute Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |