CN110502874B - 一种基于文件自修改的Android App加固方法 - Google Patents
一种基于文件自修改的Android App加固方法 Download PDFInfo
- Publication number
- CN110502874B CN110502874B CN201910657068.XA CN201910657068A CN110502874B CN 110502874 B CN110502874 B CN 110502874B CN 201910657068 A CN201910657068 A CN 201910657068A CN 110502874 B CN110502874 B CN 110502874B
- Authority
- CN
- China
- Prior art keywords
- function
- file
- software
- instruction
- code
- 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 76
- 230000002787 reinforcement Effects 0.000 title claims abstract description 26
- 238000012986 modification Methods 0.000 title claims abstract description 18
- 230000006870 function Effects 0.000 claims abstract description 127
- 230000008569 process Effects 0.000 claims description 16
- 230000009191 jumping Effects 0.000 claims description 12
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 230000003014 reinforcing effect Effects 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
Images
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于文件自修改的Android app加固方法,针对so文件中的函数容易被反汇编,整体加载的情况会出现完整的明文代码的情况,对so文件中的方法进行加固可以使其在被加载之后也是明文只有在该方法需要运行时,对其进行解密,当其运行结束之后可以对其进行加密,保证函数代码的安全性,将软件加密保护的级别降低到函数级别,使加密单位更小,更加密集,更加灵活,本文的加固方案可以保证软件在在运行函数之前保持密文,所有的函数如果不运行是不会被解密,而且本加固方案可以在软件函数运行之后对函数进行重新加密,这样保证了软件在任何时刻运行都不会存在完整的明文文件。本加固方法能极大的增加软件的安全性,防止软件被反汇编,静态分析。
Description
技术领域
本发明属于Android应用技术领域,涉及一种基于文件自修改的Android App加固方法。
背景技术
移动应用越来越普及,覆盖了人们生活的方方面面,如社交、新闻、娱乐、游戏等等。在移动应用快速发展的今天,越来越多的恶意应用逆向人员通过逆向手段破解移动应用,然后通过修改或者复用应用代码为自己谋取私利,严重破坏了正版应用开发人员的利益,侵害了用户的个人隐私,对移动应用的市场造成了极大的破坏,普通的客户并不具备区别正版移动应用与盗版移动应用的能力,更加促进了恶意盗版应用的发展和传播。目前的移动应用保护方案有很多,主要是是代码混淆、软件加壳、资源混淆、动态加载等技术,通常这些软件加固方案都有各自的优缺点。最主要的还是软件加壳,但是软件加壳有其固定短板,在软件源码文件进入内存中之前需要对软件源码进行解密。基于文件自修改的app加固方法可以使软件明文出现时间大大推迟,极大的保障了软件的安全。
发明内容
本发明的目的是提供一种基于文件自修改的Android App加固方法,具有使app文件中的源码在内存中推迟以明文形式出现,在不需要软件源码的情况下,实现对app中的方法进行加密。
本发明的技术方案,一种基于文件自修改的Android app加固方法,按照以下步骤实施:
步骤1、使用Androidkiller对app应用进行反编译,反编译之后的文件包括dex文件和so文件,将so文件存放在lib文件夹;
步骤2、解析需要加固的so文件,获取so文件中的方法列表,对获取到的列表进行过滤,排除系统函数和库函数,尽量缩小方法列表数量;
步骤3、将函数列表提供给软件开发人员,供软件开发人员选择需要加固的函数,主要是涉及程序核心逻辑或者涉及隐私内容等,并提交给系统;
步骤4、生成Hook功能,确定代码插入位置,使用跳转指令跳转到目标代码,进行指令恢复,然后跳转回原函数;
步骤5、解析so文件,确定so文件中需要加固的方法位置,保存该函数的函数指令,并使用错误指令集代替;
步骤6、生成自修改代码,用于恢复so文件中的固定函数,通过定位文件加载进入内存的位置计算出函数的起始位置和大小,对函数指令进行恢复;
步骤7、在Hook功能中注册待加固的函数和需要跳转的目标函数,在软件运行之后,需要调用加密的方法时,函数会自动跳转到解密函数进行解密,之后在跳转到函数的开始位置执行,执行完毕之后返回加密方法,对函数进行加密,并将返回值返回给程序正常使用。
步骤8、编译生成编译文件自修改代码,生成用于解密加密的so文件。
步骤9、修改dex文件,在程序运行开始插入步骤8中生成的so文件,以便程序运行过程中可以对软件中的加密模块进行解密。
步骤10、将软件重新打包,签名。
步骤11、将软件进行发布,之后系统安装正常使用。
步骤4中,Hook模块的具体步骤为,先验证该地址是否合法,主要看是否是可执行代码,是否已经注册,然后创建跳转指令并将源地址和跳转指令进行保存,接着创建返回源地址的跳转指令,最后将源地址指令替换为跳转指令。
步骤5中,so文件的加密具体流程为:
解析程序头表,定位到.dynamic节,然后再解析该节区,根据函数名计算出函数的hash值在.dynsym和.dynstr中查找函数的起始地址和大小,如果函数的大小小于12个字节则无法使用,如果函数的大小大于12字节,则可以将原指令进行保存,并使用随机生成的字符填充该大小的内容。
该加密方法只能替换函数体内容不能改变函数大小之外的任何数据,否则会导致so文件错误。
解密流程为在运行过程中如果运行需要解密的方法,则会跳转到自修改解密代码,根据加密的原理定位到方法的起始位置和大小,将保存的原始指令进行写入,程序的源代码恢复正常,运行结束之后,将返回结果保存,并使用随机字符再填充。
本发明的有益效果是,将软件加密保护的级别降低到函数级别,使加密单位更小,更加密集,更加灵活,本文的加固方案可以保证软件在在运行函数之前保持密文,所有的函数如果不运行是不会被解密,而且本加固方案可以在软件函数运行之后对函数进行重新加密,这样保证了软件在任何时刻运行都不会存在完整的明文文件。本加固方法能极大的增加软件的安全性,防止软件被反汇编,静态分析。
附图说明
图1为本发明一种基于文件自修改的Android app加固方法的总体活动图;
图2为本发明一种基于文件自修改的Android app加固方法中Hook模块的流程图;
图3为本发明一种基于文件自修改的Android app加固方法中so文件的加密流程图;
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明的方法主要是针对so文件中的函数容易被反汇编,整体加载的情况会出现完整的明文代码的情况,对so文件中的方法进行加固可以使其在被加载之后也是明文只有在该方法需要运行时,对其进行解密,当其运行结束之后可以对其进行加密,保证函数代码的安全性。
参照图1,一种基于文件自修改的Android app加固方法,按照以下步骤实施:
步骤1、使用Androidkiller对app应用进行反编译,反编译之后的文件包括dex文件和so文件,将so文件存放在lib文件夹;
步骤2、解析需要加固的so文件,获取so文件中的方法列表,对获取到的列表进行过滤,排除系统函数和库函数,尽量缩小方法列表数量;
步骤3、将函数列表提供给软件开发人员,供软件开发人员选择需要加固的函数,主要是涉及程序核心逻辑或者涉及隐私内容等,并提交给系统;
步骤4、生成Hook功能,确定代码插入位置,使用跳转指令跳转到目标代码,进行指令恢复,然后跳转回原函数;
步骤5、解析so文件,确定so文件中需要加固的方法位置,保存该函数的函数指令,并使用错误指令集代替;
步骤6、生成自修改代码,用于恢复so文件中的固定函数,通过定位文件加载进入内存的位置计算出函数的起始位置和大小,对函数指令进行恢复;
步骤7、在Hook功能中注册待加固的函数和需要跳转的目标函数,在软件运行之后,需要调用加密的方法时,函数会自动跳转到解密函数进行解密,之后在跳转到函数的开始位置执行,执行完毕之后返回加密方法,对函数进行加密,并将返回值返回给程序正常使用。
步骤8、编译生成编译文件自修改代码,生成用于解密加密的so文件。
步骤9、修改dex文件,在程序运行开始插入步骤8中生成的so文件,以便程序运行过程中可以对软件中的加密模块进行解密。
步骤10、将软件重新打包,签名。
步骤11、将软件进行发布,之后系统安装正常使用。
步骤4中,Hook模块的具体步骤为,先验证该地址是否合法,主要看是否是可执行代码,是否已经注册,然后创建跳转指令并将源地址和跳转指令进行保存,接着创建返回源地址的跳转指令,最后将源地址指令替换为跳转指令。
步骤5中,so文件的加密具体流程为:
解析程序头表,定位到.dynamic节,然后再解析该节区,根据函数名计算出函数的hash值在.dynsym和.dynstr中查找函数的起始地址和大小,如果函数的大小小于12个字节则无法使用,如果函数的大小大于12字节,则可以将原指令进行保存,并使用随机生成的字符填充该大小的内容。
该加密方法只能替换函数体内容不能改变函数大小之外的任何数据,否则会导致so文件错误。
解密流程为在运行过程中如果运行需要解密的方法,则会跳转到自修改解密代码,根据加密的原理定位到方法的起始位置和大小,将保存的原始指令进行写入,程序的源代码恢复正常,运行结束之后,将返回结果保存,并使用随机字符再填充。本发明方法的软件加固,是对so文件中的函数进行修改加密,之后在程序运行过程中,在运行函数之前进行解密,在程序运行之后对函数进行加密的app应用软件保护方法。
以下对so文件中的方法进行加密的实施例进行详述。
步骤1、使用Androidkiller对app应用进行反编译,反编译之后的文件包括dex文件和so文件,本加固方法针对so文件进行加固,so文件存放在lib文件夹。
步骤2、解析需要加固的so文件,获取so文件中的方法列表,由于so文件中的字符串位置包含的内容很多,所以需要对获取到的列表进行过滤,尽量缩小方法列表数量。
步骤3、将函数列表提供给软件开发人员,供软件开发人员根据经验选择需要加固的函数,并提交给系统。
步骤4、生成Hook功能,确定代码插入位置,使用跳转指令跳转到目标代码,进行指令恢复,跳转回原函数。
步骤5、解析so文件,确定so文件中需要加固的方法的位置,保存该函数的函数指令,并使用错误指令集代替,此处注意只能替换函数体内容不能改变函数大小之外的任何数据,否则会导致so文件错误。
步骤6、生成自修改代码,用于恢复so文件中的固定函数,其解密流程与加密流程相同,通过定位文件加载进入内存的位置计算出函数的起始位置和大小,对函数指令进行恢复。
步骤7、在Hook功能中注册待加固的函数和需要跳转的目标函数,在软件运行之后,需要调用加密的方法时,函数会自动跳转到解密函数进行解密,之后在跳转到函数的开始位置执行,执行完毕之后返回加密方法,对函数进行加密,并将返回值返回给程序正常使用。
步骤8、编译生成编译文件自修改代码,生成so文件。
步骤9、修改dex文件在程序运行开始插入步骤8中生成的so文件,以便程序运行过程中可以对软件中的加密模块进行解密。
步骤10、将软件重新打包,签名。
步骤11、将软件进行发布,之后系统安装正常使用。
从上面的实施例可以看出,通过本发明的加固方法可以对so文件进行很好的保护,阻止了恶意软件逆向人员通过dump内存对内存中的so文件进行整体下载,并对so文件进行反汇编,静态分析的操作。因为so文件中的所有的加密函数在同一时间内保证不会全部出现明文信息。极大的增加了逆向工作的难度。保证了代码规范的同时增加了程序的安全性,并且代码在正常运行的时候可以自动恢复原样,不会影响应用运行效果。
Claims (4)
1.一种基于文件自修改的Android app加固方法,其特征在于,按照以下步骤实施:
步骤1、使用Androidkiller对app应用进行反编译,反编译之后的文件包括dex文件和so文件,将so文件存放在lib文件夹;
步骤2、解析需要加固的so文件,获取so文件中的方法列表,对获取到的列表进行过滤,排除系统函数和库函数,尽量缩小方法列表数量;
步骤3、将函数列表提供给软件开发人员,供软件开发人员选择需要加固的函数,主要是涉及程序核心逻辑或者涉及隐私内容等,并提交给系统;
步骤4、生成Hook功能,确定代码插入位置,使用跳转指令跳转到目标代码,进行指令恢复,然后跳转回原函数;
步骤5、解析so文件,确定so文件中需要加固的方法位置,保存该函数的函数指令,并使用错误指令集代替;
所述步骤5中,so文件的加密具体流程为:
解析程序头表,定位到.dynamic节,然后再解析所述.dynamic节所在的节区,根据函数名计算出函数的hash值在.dynsym和.dynstr中查找函数的起始地址和大小,如果函数的大小小于12个字节则无法使用,如果函数的大小大于12字节,则可以将原指令进行保存,并使用随机生成的字符填充该大小的内容;
步骤6、生成自修改代码,用于恢复so文件中的固定函数,通过定位文件加载进入内存的位置计算出函数的起始位置和大小,对函数指令进行恢复;
步骤7、在Hook功能中注册待加固的函数和需要跳转的目标函数,在软件运行之后,需要调用加密的方法时,函数会自动跳转到解密函数进行解密,之后在跳转到函数的开始位置执行,执行完毕之后返回加密方法,对函数进行加密,并将返回值返回给程序正常使用;
步骤8、编译生成编译文件自修改代码,生成用于解密加密的so文件;
步骤9、修改dex文件,在程序运行开始插入步骤8中生成的so文件,以便程序运行过程中可以对软件中的加密模块进行解密;
步骤10、将软件重新打包,签名;
步骤11、将软件进行发布,之后系统安装正常使用。
2.根据权利要求1所述的一种基于文件自修改的Android app加固方法,其特征在于,
所述步骤4中,Hook模块的具体步骤为,先验证所述代码插入位置的地址是否合法,主要看是否是可执行代码,是否已经注册,然后创建跳转指令并将源地址和跳转指令进行保存,接着创建返回源地址的跳转指令,最后将源地址指令替换为跳转指令。
3.根据权利要求1所述的一种基于文件自修改的Android app加固方法,其特征在于,所述加密方法只能替换函数体内容不能改变函数大小之外的任何数据,否则会导致so文件错误。
4.根据权利要求1所述的一种基于文件自修改的Android app加固方法,其特征在于,所述步骤7中解密的具体流程为,在运行过程中如果运行需要解密的方法,则会跳转到自修改解密代码,根据加密的原理定位到方法的起始位置和大小,将保存的原始指令进行写入,程序的源代码恢复正常,运行结束之后,将返回结果保存,并使用随机字符再填充。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910657068.XA CN110502874B (zh) | 2019-07-19 | 2019-07-19 | 一种基于文件自修改的Android App加固方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910657068.XA CN110502874B (zh) | 2019-07-19 | 2019-07-19 | 一种基于文件自修改的Android App加固方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110502874A CN110502874A (zh) | 2019-11-26 |
CN110502874B true CN110502874B (zh) | 2021-05-25 |
Family
ID=68586388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910657068.XA Active CN110502874B (zh) | 2019-07-19 | 2019-07-19 | 一种基于文件自修改的Android App加固方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502874B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191195A (zh) * | 2019-12-10 | 2020-05-22 | 航天信息股份有限公司 | 一种用于保护apk的方法和装置 |
CN113536328A (zh) * | 2020-04-21 | 2021-10-22 | 中国移动通信集团重庆有限公司 | 链接库文件加密的方法、装置及计算设备 |
CN113569269B (zh) * | 2021-09-23 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种代码混淆的加密方法、装置、设备及可读介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708322A (zh) * | 2012-05-12 | 2012-10-03 | 北京深思洛克软件技术股份有限公司 | 安卓系统中java应用程序的保护方法 |
CN103413076A (zh) * | 2013-08-27 | 2013-11-27 | 北京理工大学 | 一种Android应用程序分块保护的方法 |
CN104298932A (zh) * | 2014-10-27 | 2015-01-21 | 中国建设银行股份有限公司 | 一种so文件的调用方法及装置 |
CN104392181A (zh) * | 2014-11-18 | 2015-03-04 | 北京奇虎科技有限公司 | So文件的保护方法、装置及安卓安装包的加固方法和系统 |
CN104751052A (zh) * | 2013-12-30 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 基于svm算法的移动智能终端软件的动态行为分析方法 |
CN104866739A (zh) * | 2015-06-04 | 2015-08-26 | 上海斐讯数据通信技术有限公司 | 安卓系统中应用程序加密方法及系统 |
CN105426708A (zh) * | 2016-01-19 | 2016-03-23 | 北京鼎源科技有限公司 | 一种Android系统的应用程序的加固方法 |
CN105608346A (zh) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | 基于arm指令虚拟化的elf文件保护方法及系统 |
CN106203006A (zh) * | 2016-08-31 | 2016-12-07 | 北京鼎源科技有限公司 | 基于dex与so文件动态执行的Android应用加固方法 |
CN106650327A (zh) * | 2016-11-24 | 2017-05-10 | 湖南鼎源蓝剑信息科技有限公司 | 基于动态恢复so文件的Android应用加固方法 |
CN106778226A (zh) * | 2016-11-24 | 2017-05-31 | 四川无声信息技术有限公司 | 文件壳脱壳方法及装置 |
CN108491235A (zh) * | 2018-03-21 | 2018-09-04 | 北京理工大学 | 结合动态加载和函数Native化的DEX保护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101521765B1 (ko) * | 2015-01-08 | 2015-05-20 | 숭실대학교산학협력단 | 분간이 난해한 식별자 변환을 이용한 코드 난독화 장치 및 방법 |
-
2019
- 2019-07-19 CN CN201910657068.XA patent/CN110502874B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708322A (zh) * | 2012-05-12 | 2012-10-03 | 北京深思洛克软件技术股份有限公司 | 安卓系统中java应用程序的保护方法 |
CN103413076A (zh) * | 2013-08-27 | 2013-11-27 | 北京理工大学 | 一种Android应用程序分块保护的方法 |
CN104751052A (zh) * | 2013-12-30 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 基于svm算法的移动智能终端软件的动态行为分析方法 |
CN104298932A (zh) * | 2014-10-27 | 2015-01-21 | 中国建设银行股份有限公司 | 一种so文件的调用方法及装置 |
CN104392181A (zh) * | 2014-11-18 | 2015-03-04 | 北京奇虎科技有限公司 | So文件的保护方法、装置及安卓安装包的加固方法和系统 |
CN104866739A (zh) * | 2015-06-04 | 2015-08-26 | 上海斐讯数据通信技术有限公司 | 安卓系统中应用程序加密方法及系统 |
CN105608346A (zh) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | 基于arm指令虚拟化的elf文件保护方法及系统 |
CN105426708A (zh) * | 2016-01-19 | 2016-03-23 | 北京鼎源科技有限公司 | 一种Android系统的应用程序的加固方法 |
CN106203006A (zh) * | 2016-08-31 | 2016-12-07 | 北京鼎源科技有限公司 | 基于dex与so文件动态执行的Android应用加固方法 |
CN106650327A (zh) * | 2016-11-24 | 2017-05-10 | 湖南鼎源蓝剑信息科技有限公司 | 基于动态恢复so文件的Android应用加固方法 |
CN106778226A (zh) * | 2016-11-24 | 2017-05-31 | 四川无声信息技术有限公司 | 文件壳脱壳方法及装置 |
CN108491235A (zh) * | 2018-03-21 | 2018-09-04 | 北京理工大学 | 结合动态加载和函数Native化的DEX保护方法 |
Non-Patent Citations (1)
Title |
---|
基于自修改与动态加载的Android应用保护技术研究;王恺;《信息科技辑 中国优秀硕士学位论文》;20180831;第2-5章节 * |
Also Published As
Publication number | Publication date |
---|---|
CN110502874A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101471589B1 (ko) | 공통중간언어 기반 프로그램을 위한 보안 제공 방법 | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
CN110502874B (zh) | 一种基于文件自修改的Android App加固方法 | |
EP2854070A1 (en) | Method and apparatus of creating application package, method and apparatus of executing application package, and recording medium storing application package | |
WO2015058620A1 (en) | Method and apparatus for generating installation package corresponding to an application and executing application | |
CN109313677B (zh) | 用于动态可执行验证的方法和装置 | |
CN105095771B (zh) | 一种共享目标文件的保护方法及装置 | |
CN103530535A (zh) | 一种Android平台应用程序保护的加脱壳方法 | |
CN108399319B (zh) | 源代码保护方法、应用服务器及计算机可读存储介质 | |
CN105512521A (zh) | 一种软件安装包的加固保护方法和系统 | |
US10296728B2 (en) | Method and system for providing cloud-based application security service | |
CN105354009B (zh) | 一种用于固件的保护方法 | |
CN112052461B (zh) | 一种基于指令注入的代码处理方法、终端及存储介质 | |
CN105760721B (zh) | 一种软件加固方法和系统 | |
KR102459774B1 (ko) | Dll 파일 암호화 방법, 이를 수행하는 dll 파일 암호화 시스템, 및 이를 저장하는 기록매체 | |
KR101734663B1 (ko) | 안드로이드 어플리케이션의 역공학 방지 방법 및 이를 수행하는 장치 | |
CN112363771B (zh) | 应用程序的处理方法及相关产品 | |
JP4727366B2 (ja) | 情報処理装置、情報処理システム、プログラムおよび記録媒体 | |
CN110457872B (zh) | 一种Android App应用资源的隐藏加固方法 | |
CN102855439B (zh) | 一种执行文件自校验方法及装置 | |
CN106295327B (zh) | 可执行文件的加固方法和装置 | |
CN117313046A (zh) | 一种代码加固方法、代码加载方法、设备及介质 | |
WO2016188134A1 (zh) | 一种实现应用加固的方法及装置 | |
CN105278954A (zh) | 反破解安卓app及其运行方式 | |
CN111522555A (zh) | apk文件的加固方法、解密方法及相关装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Chengbei oak forest center, No. 88, Section 1, Jiefang Road, Jinniu District, Chengdu, Sichuan 610000 Patentee after: Sichuan Digital Economy Industry Development Research Institute Address before: 710048 Shaanxi province Xi'an Beilin District Jinhua Road No. 5 Patentee before: XI'AN University OF TECHNOLOGY |