CN109241707A - 应用程序的混淆方法、装置和服务器 - Google Patents
应用程序的混淆方法、装置和服务器 Download PDFInfo
- Publication number
- CN109241707A CN109241707A CN201811112084.2A CN201811112084A CN109241707A CN 109241707 A CN109241707 A CN 109241707A CN 201811112084 A CN201811112084 A CN 201811112084A CN 109241707 A CN109241707 A CN 109241707A
- Authority
- CN
- China
- Prior art keywords
- file
- class
- dex
- updated
- application program
- 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 93
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000005538 encapsulation Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000006837 decompression Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000012856 packing Methods 0.000 claims description 4
- 238000000151 deposition Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 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/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
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)
- Stored Programmes (AREA)
Abstract
本发明提供了一种应用程序的混淆方法、装置和服务器,其中该方法包括解析应用程序的APK文件,得到dex文件;该dex文件中包含至少一个class文件;采用预设的代码,对class文件的指定区域进行混淆处理,得到处理后的class文件;封装处理后的class文件,得到更新的dex文件;打包更新后的dex文件,得到更新的APK文件。本发明以可执行文件dex文件进行混淆,提高了应用程序混淆算法的通用性,同时也提高了应用软件的安全性。
Description
技术领域
本发明涉及软件安全技术领域,尤其是涉及一种应用程序的混淆方法、装置和服务器。
背景技术
现有的混淆技术,只能针对某一种或某一类特殊的代码,混淆目标有限,且通用性较差。而近年来,应用商店所维护的移动应用逐年递增,在海量应用的背景下,应用数量增长的同时,一批不法分子趁机窃取应用代码进行篡改、仿造、添加恶意代码等操作,给应用开发者及应用用户的财产安全带来损失,隐私安全造成了极大的威胁,因此这种方式无法满足大规模移动应用的安全防护。
发明内容
有鉴于此,本发明的目的在于提供一种应用程序的混淆方法、装置和服务器,以提高应用程序混淆算法的通用性和应用软件的安全性。
第一方面,本发明实施例提供了一种应用程序的混淆方法,该方法包括:解析应用程序的APK文件,得到dex文件;dex文件中包含至少一个class文件;采用预设的代码,对class文件的指定区域进行混淆处理,得到处理后的class文件;封装处理后的class文件,得到更新的dex文件;打包更新后的dex文件,得到更新的APK文件。
进一步地,上述解析应用程序的APK文件,得到dex文件的步骤,包括:对应用程序的APK文件进行解压处理,得到class.dex文件;将class.dex文件转换为class.jar包;class.jar包中包括至少一个class文件。
进一步地,上述采用预设的代码,对class文件的指定区域进行混淆处理的步骤,包括:识别class文件的java代码的方法部分;采用预设的代码,对方法部分的指定位置进行混淆处理。
进一步地,上述方法部分的指定位置包括方法部分的开头部分和/或结尾部分;采用预设的代码,对方法部分的指定位置进行混淆处理的步骤,还包括:将伪指令序列插入至方法部分的指定位置。
进一步地,上述封装处理后的class文件,得到更新的dex文件的步骤之后,方法还包括:更新dex文件中的总和校验码和文件签名。
进一步地,上述打包更新后的dex文件,得到更新的APK文件的步骤,包括:打包更新后的dex文件、总和校验码和签名文件,得到更新的APK文件;对更新的APK文件进行签名处理,得到签名后的APK文件。
进一步地,上述方法还包括:在应用程序的执行过程中,通过不透明谓词判断dex文件中的当前代码是否是伪序列指令;如果否,执行当前代码。
第二方面,本发明实施例提供了一种应用程序的混淆的装置,该装置包括:解析模块用于解析应用程序的APK文件,得到dex文件;dex文件中包含至少一个class文件;混淆模块用于采用预设的代码,对class文件的指定区域进行混淆处理,得到处理后的class文件;封装模块用于封装处理后的class文件,得到更新的dex文件;打包模块用于打包更新后的dex文件,得到更新的APK文件。
进一步地,上述解析模块还用于:对应用程序的APK文件进行解压处理,得到class.dex文件;将class.dex文件转换为class.jar包;class.jar包中包括至少一个class文件。
第三方面,本发明实施例提供了一种服务器,包括存储器和处理器;存储器用于存储支持处理器执行上述方法的程序,处理器被配置为用于执行存储器中存储的程序。
本发明实施例带来了以下有益效果:
本发明提供了一种应用程序的混淆方法、装置和服务器,通过解析应用程序的APK文件,得到包含class文件的dex文件;采用预设的代码,对class文件的指定区域进行混淆处理,再封装混淆处理后的class文件,得到更新的dex文件;最后打包更新后的dex文件,得到更新的APK文件。该方式以可执行文件dex文件进行混淆,提高了应用程序混淆算法的通用性,同时也提高了应用软件的安全性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用程序的混淆方法的流程图;
图2为本发明实施例提供另一种应用程序的混淆方法的流程图;
图3为本发明实施例提供的插入垃圾代码后,数据流向示意图;
图4为本发明实施例提供的一种应用程序的混淆方法的数据流向示意图;
图5为本发明实施例提供的一种应用程序的混淆装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
混淆算法属于软件安全保护中的一个方法,而对APK应用的保护有以下几种方式:完整性校验、源码加壳、白盒加密、代码混淆;其中完整性校验是在保证APK应用完整性的基础上,防止代码被人非法篡改;而源码加壳是指对代码部分加上所谓的“外壳”,以此来防止程序被跟踪和调试;白盒加密用于替换软件中传统密码算法的黑盒实现方式,实现无密钥泄露的密码算法运算,使得攻击者无法获得任何密钥数据;代码混淆主要针对字符串或者某一小段代码进行混淆,使得处理后的代码与处理前代码完成相同的功能,而代码混淆后很难被反编译。从软件安全保护的角度而言,完整性校验、源码加壳、白盒加密的发挥的作用巨大,但代码混淆同样必不可少。
现有的代码混淆技术作用范围太小,只能针对某一种或某一类特殊的代码,缺乏广泛性,且没有混淆目标是整个APK应用或者APK应用中某个文件的混淆算法。考虑到现有的混淆技术的混淆目标有限,且通用性较差的问题,本发明实施例提供了一种应用程序的混淆方法、装置和服务器,该技术可以应用于Android系统的应用程序或其他相关系统下的应用程序,该技术可以采用相关的软件或硬件实现,下面通过实施例进行描述。
参见图1所示的一种应用程序的混淆方法的流程图;该方法包括如下步骤:
步骤S102,解析应用程序的APK(AndroidPackage,Android安装包)文件,得到dex文件;该dex文件中包含至少一个class文件;
由于Android系统的大部分程序都是java编写而成,Android的应用必须使用java来开发,因此应用程序的代码混淆需要应用于java代码。上述APK文件是AndroidPackage的缩写,即Android安装包,将APK文件直接上传到Android模拟器或Android手机中执行即可安装。APK文件经过解析后,拆分成如下述表1所示的结构:
表1
文件 | 含义 |
assets目录 | 存放需要打包到APK中的静态文件 |
lib目录 | 程序依赖的native库 |
res目录 | 存放应用程序的资源 |
META-INF目录 | 存放应用程序签名和证书 |
AndroidManifest.xml | 应用程序的配置文件 |
classes.dex | dex可执行文件 |
resources.arsc | 资源配置文件 |
APK文件经过解析后,拆分成assets目录、lib目录、res目录、META-INF目录、AndroidManifest.xml、classes.dex、resources.arsc。上述dex文件即classes.dex为应用程序的APK文件中提取出来的可执行文件;上述class文件为java编译后的目标文件。
步骤S104,采用预设的代码,对class文件的指定区域进行混淆处理,得到处理后的class文件;
上述预设的代码可以为垃圾代码,插入在java字节码数组中,在java程序运行过程能被执行,同时还能不改变程序的运行结果。上述指定区域为垃圾代码混淆区域,可以为class文件java代码中方法部分的开头部分或结尾部分,也可以为class文件中的其他部分。
上述的混淆即是代码混淆,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式行为;代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。
步骤S106,封装处理后的class文件,得到更新的dex文件;
上述封装是将class文件封装成jar文件,是通过使用JDK中bin目录里的jar.exe将class文件进行压缩实现的。
步骤S108,打包更新后的dex文件,得到更新的APK文件。
上述打包更新后的dex文件需要打包AndroidManifest.xml文件、dex文件、资源文件等文件。
本发明提供了一种应用程序的混淆方法,通过解析应用程序的APK文件,得到包含class文件的dex文件;采用预设的代码,对class文件的指定区域进行混淆处理,再封装混淆处理后的class文件,得到更新的dex文件;最后打包更新后的dex文件,得到更新的APK文件。该方式以可执行文件dex文件进行混淆,提高了应用程序混淆算法的通用性,同时也提高了应用软件的安全性。
参见图2所示的另一种应用程序的混淆方法的流程图;该方法在图1所示方法的基础上实现的,该方法包括如下步骤:
步骤S202,对应用程序的APK文件进行解压处理,得到class.dex文件;
步骤S204,将class.dex文件转换为class.jar包;该class.jar包中包括至少一个class文件;
上述对APK文件进行解压后,获得对应的class.dex文件。通常使用dex2jar等工具将class.dex文件转换成class.jar,jar包里存放着class文件。
步骤S206,识别class文件的java代码的方法部分;
只有确定了混淆的区域,才能开始进行代码的相关混淆工作。选取的混淆区域是java代码中的方法部分,具体原因如下:
java是一门面向对象的语言,其主体是类,而每个有具体作用的类中都包含着方法,往往代码中的核心功能都存放在这些方法中,因此如果我们想实现代码的混淆,就必须针对类中的方法进行混淆。
与此同时,获取的文件为class文件,而通过现有技术能识别类中的各个方法,并进行区分,因此可直接在class文件中插入混淆,而不用再对class文件进行反编译,极大地提高了混淆的效率,缩短混淆时间。
步骤S208,采用预设的代码,对方法部分的指定位置进行混淆处理,得到处理后的class文件;该方法部分的指定位置包括方法部分的开头部分和/或结尾部分;
上述指定位置可以为方法部分的开头部分和结尾部分,也可以分别为方法部分的开头部分和结尾部分。对方法的具体代码内容进行解析时,发现不同dex文件对应多个class文件,不同的class文件对应的java代码的方法内容和结构差别很大,因此想要对方法进行解析并且在方法中间部分进行混淆,无论从时间效率,还是从实现难度上,都过于困难。
上述采用预设的代码,对方法部分的指定位置进行混淆处理的步骤,还包括:将伪指令序列插入至方法部分的指定位置;上述伪指令序列是插入垃圾代码后才产生的,可对恶意应用的开发者反编译造成干扰,提高应用软件的安全性。
上述采用预设的代码,对方法部分的指定位置进行混淆处理的方法还包括:
在应用程序的执行过程中,通过不透明谓词判断dex文件中的当前代码是否是伪序列指令;如果否,执行当前代码。
上述不透明谓词是一种判断条件,计算机很难识别,当不法分子对程序进行反编译时,会进入到伪序列指令的执行。执行伪序列指令后,程序会显示执行出错。
通过上述的判断,应用开发者可以顺利执行应用程序;恶意开发者则无法判断执行指令。如图3所示为插入垃圾代码后,数据流向示意图;在执行语句A和执行语句B之间插入垃圾代码,即加入了一个判断条件(不透明谓词),判断条件不会影响程序的正常执行,但会给代码反编译带来难度,反编译过程无法识别正常的流程是执行语句B还是执行伪指令序列。
步骤S210,封装处理后的class文件,得到更新的dex文件;
步骤S212,更新所述dex文件中的总和校验码和文件签名。
上述总和检验码,在数据处理和数据通信领域中,用于校验目的的一组数据项的和。这些数据项可以是数字或在计算检验总和过程中看作数字的其它字符串。上述文件签名为对文件的数字签名,是加密技术中不可缺少的一种技术,可防止软件被不法分子恶意篡改,危害公众财产和安全。
步骤S214,打包更新后的dex文件、所述总和校验码和所述签名文件,得到更新的APK文件;
步骤S216,对更新的APK文件进行签名处理,得到签名后的APK文件。
上述的签名即是对Android应用软件的数字签名,与消息摘要相对应,对APK文件进行签名主要有以下目的:一是能确定消息是由开发者签名并发布出来的;二是数字签名能确定消息的完整性,由于数字签名代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化,不同的文件将得到不同的数字摘要。
参见图4所示的一种应用程序的混淆方法的数据流向示意图;解压APK文件夹后,获取dex文件;解析dex文件,解析成多个class文件,对class文件java代码的方法部分插入垃圾代码进行混淆;重组dex文件,更新checksum(总和校验码)以及signature(签名)等数据,打包APK,重新签名。
上述通过在java代码的开头部分和/或结尾部分插入垃圾代码,以可执行文件dex文件进行混淆,提高了应用程序混淆算法的通用性,同时也提高了应用软件的安全性。
对应于上述方法实施例,参见图5所示的一种应用程序的混淆装置的结构示意图;该装置包括:
解析模块50,用于解析应用程序的APK文件,得到dex文件;该dex文件中包含至少一个class文件;
混淆模块51,用于采用预设的代码,对class文件的指定区域进行混淆处理,得到处理后的class文件;
封装模块52,用于封装处理后的class文件,得到更新的dex文件;
打包模块53,用于打包更新后的dex文件,得到更新的APK文件。
具体体现时,上述解析模块50还用于对应用程序的APK文件进行解压处理,得到class.dex文件;将class.dex文件转换为class.jar包;该class.jar包中包括至少一个class文件。
本发明实施例提供了一种应用程序的混淆装置,通过解析应用程序的APK文件,得到包含class文件的dex文件;采用预设的代码,对class文件的指定区域进行混淆处理,再封装混淆处理后的class文件,得到更新的dex文件;最后打包更新后的dex文件,得到更新的APK文件。该方式以可执行文件dex文件进行混淆,提高了应用程序混淆算法的通用性,同时也提高了应用软件的安全性。
本发明实施例提供的应用程序的混淆装置,与上述实施例提供的应用程序的混淆方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例提供了一种服务器,包括存储器和处理器;存储器用于存储支持处理器执行上述应用程序的混淆方法的程序,处理器被配置为用于执行所述存储器中存储的程序。
本发明实施例所提供的应用程序的混淆方法、装置和服务器计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种应用程序的混淆方法,其特征在于,所述方法包括:
解析应用程序的APK文件,得到dex文件;所述dex文件中包含至少一个class文件;
采用预设的代码,对所述class文件的指定区域进行混淆处理,得到处理后的class文件;
封装处理后的class文件,得到更新的dex文件;
打包更新后的dex文件,得到更新的APK文件。
2.根据权利要求1所述的方法,其特征在于,所述解析应用程序的APK文件,得到dex文件的步骤,包括:
对应用程序的APK文件进行解压处理,得到class.dex文件;
将所述class.dex文件转换为class.jar包;所述class.jar包中包括至少一个class文件。
3.根据权利要求1所述的方法,其特征在于,所述采用预设的代码,对所述class文件的指定区域进行混淆处理的步骤,包括:
识别所述class文件的java代码的方法部分;
采用预设的代码,对所述方法部分的指定位置进行混淆处理。
4.根据权利要求3所述的方法,其特征在于,所述方法部分的指定位置包括所述方法部分的开头部分和/或结尾部分;
所述采用预设的代码,对所述方法部分的指定位置进行混淆处理的步骤,还包括:将所述伪指令序列插入至所述方法部分的指定位置。
5.根据权利要求1所述的方法,其特征在于,所述封装处理后的class文件,得到更新的dex文件的步骤之后,所述方法还包括:
更新所述dex文件中的总和校验码和文件签名。
6.根据权利要求5所述的方法,其特征在于,所述打包更新后的dex文件,得到更新的APK文件的步骤,包括:
打包更新后的dex文件、所述总和校验码和所述签名文件,得到更新的APK文件;
对更新的APK文件进行签名处理,得到签名后的APK文件。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述应用程序的执行过程中,通过不透明谓词判断所述dex文件中的当前代码是否是伪序列指令;
如果否,执行所述当前代码。
8.一种应用程序的混淆装置,其特征在于,所述装置包括:
解析模块用于解析应用程序的APK文件,得到dex文件;所述dex文件中包含至少一个class文件;
混淆模块用于采用预设的代码,对所述class文件的指定区域进行混淆处理,得到处理后的class文件;
封装模块用于封装处理后的class文件,得到更新的dex文件;
打包模块用于打包更新后的dex文件,得到更新的APK文件。
9.根据权利要求8所述的装置,其特征在于,所述解析模块还用于:
对应用程序的APK文件进行解压处理,得到class.dex文件;
将所述class.dex文件转换为class.jar包;所述class.jar包中包括至少一个class文件。
10.一种服务器,其特征在于,包括存储器和处理器;所述存储器用于存储支持处理器执行权利要求1至7任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810908092 | 2018-08-09 | ||
CN2018109080921 | 2018-08-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109241707A true CN109241707A (zh) | 2019-01-18 |
Family
ID=65057146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811112084.2A Pending CN109241707A (zh) | 2018-08-09 | 2018-09-21 | 应用程序的混淆方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241707A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830261A (zh) * | 2019-10-12 | 2020-02-21 | 平安普惠企业管理有限公司 | 加密方法、装置、计算机设备及存储介质 |
CN111049897A (zh) * | 2019-12-10 | 2020-04-21 | 北京百度网讯科技有限公司 | 小程序包的加密上传和解密部署方法、装置、设备和介质 |
CN111274556A (zh) * | 2020-02-27 | 2020-06-12 | 北京小米移动软件有限公司 | 代码混淆方法、装置及存储介质 |
CN111274057A (zh) * | 2020-01-13 | 2020-06-12 | 北京字节跳动网络技术有限公司 | 一种内存泄露链路的处理方法、装置、介质和电子设备 |
CN113656765A (zh) * | 2021-08-17 | 2021-11-16 | 平安国际智慧城市科技股份有限公司 | java程序安全处理方法、装置、计算机设备及存储介质 |
CN113760294A (zh) * | 2021-06-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 应用软件加密部署方法和系统 |
CN114924749A (zh) * | 2022-06-01 | 2022-08-19 | 国网冀北电力有限公司信息通信分公司 | 一种智能终端代码混淆方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103413075A (zh) * | 2013-07-10 | 2013-11-27 | 北京深思数盾科技有限公司 | 一种通过虚拟机保护java可执行程序的方法及设备 |
CN103544414A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种Android系统应用的深度代码混淆方法 |
CN105550583A (zh) * | 2015-12-22 | 2016-05-04 | 电子科技大学 | 基于随机森林分类方法的Android平台恶意应用检测方法 |
CN105631342A (zh) * | 2015-12-22 | 2016-06-01 | 北京无线电计量测试研究所 | 一种针对地下管线移动地理信息安全的渗透测试方法 |
CN106650341A (zh) * | 2016-11-18 | 2017-05-10 | 湖南鼎源蓝剑信息科技有限公司 | 基于smali流程混淆技术的Android应用加固方法 |
CN107122629A (zh) * | 2017-04-19 | 2017-09-01 | 山东省计算中心(国家超级计算济南中心) | 一种基于随机混淆的Android软件协同加固方法 |
-
2018
- 2018-09-21 CN CN201811112084.2A patent/CN109241707A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103413075A (zh) * | 2013-07-10 | 2013-11-27 | 北京深思数盾科技有限公司 | 一种通过虚拟机保护java可执行程序的方法及设备 |
CN103544414A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种Android系统应用的深度代码混淆方法 |
CN105550583A (zh) * | 2015-12-22 | 2016-05-04 | 电子科技大学 | 基于随机森林分类方法的Android平台恶意应用检测方法 |
CN105631342A (zh) * | 2015-12-22 | 2016-06-01 | 北京无线电计量测试研究所 | 一种针对地下管线移动地理信息安全的渗透测试方法 |
CN106650341A (zh) * | 2016-11-18 | 2017-05-10 | 湖南鼎源蓝剑信息科技有限公司 | 基于smali流程混淆技术的Android应用加固方法 |
CN107122629A (zh) * | 2017-04-19 | 2017-09-01 | 山东省计算中心(国家超级计算济南中心) | 一种基于随机混淆的Android软件协同加固方法 |
Non-Patent Citations (2)
Title |
---|
YANHUI GUO: "Research on the technology of shelling of android reinforced application", 《2016 IEEE INTERNATIONAL CONFERENCE ON NETWORK INFRASTRUCTURE AND DIGITAL CONTENT (IC-NIDC)》 * |
焦涌 等: "Java防反编译技术研究", 《移动通信》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830261A (zh) * | 2019-10-12 | 2020-02-21 | 平安普惠企业管理有限公司 | 加密方法、装置、计算机设备及存储介质 |
CN111049897A (zh) * | 2019-12-10 | 2020-04-21 | 北京百度网讯科技有限公司 | 小程序包的加密上传和解密部署方法、装置、设备和介质 |
CN111049897B (zh) * | 2019-12-10 | 2023-02-17 | 北京百度网讯科技有限公司 | 小程序包的加密上传和解密部署方法、装置、设备和介质 |
CN111274057A (zh) * | 2020-01-13 | 2020-06-12 | 北京字节跳动网络技术有限公司 | 一种内存泄露链路的处理方法、装置、介质和电子设备 |
CN111274556A (zh) * | 2020-02-27 | 2020-06-12 | 北京小米移动软件有限公司 | 代码混淆方法、装置及存储介质 |
CN113760294A (zh) * | 2021-06-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 应用软件加密部署方法和系统 |
CN113656765A (zh) * | 2021-08-17 | 2021-11-16 | 平安国际智慧城市科技股份有限公司 | java程序安全处理方法、装置、计算机设备及存储介质 |
CN113656765B (zh) * | 2021-08-17 | 2024-07-05 | 平安国际智慧城市科技股份有限公司 | java程序安全处理方法、装置、计算机设备及存储介质 |
CN114924749A (zh) * | 2022-06-01 | 2022-08-19 | 国网冀北电力有限公司信息通信分公司 | 一种智能终端代码混淆方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241707A (zh) | 应用程序的混淆方法、装置和服务器 | |
KR101471589B1 (ko) | 공통중간언어 기반 프로그램을 위한 보안 제공 방법 | |
Chen et al. | Detecting android malware using clone detection | |
US9792433B2 (en) | Method and device for detecting malicious code in an intelligent terminal | |
CN105683990B (zh) | 用于保护动态库的方法和装置 | |
KR101518420B1 (ko) | 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법 | |
US10586026B2 (en) | Simple obfuscation of text data in binary files | |
CN107273723B (zh) | 一种基于so文件加壳的Android平台应用软件保护方法 | |
CN107077540B (zh) | 用于提供基于云的应用安全服务的方法和系统 | |
CN104317625A (zh) | 一种apk文件的动态加载方法 | |
CN112231702B (zh) | 应用保护方法、装置、设备及介质 | |
CN111191195A (zh) | 一种用于保护apk的方法和装置 | |
CN107609394A (zh) | Android安装包的防篡改方法、存储设备及装置 | |
CN103823751A (zh) | 一种基于特征注入的仿冒应用程序监测方法 | |
Chen et al. | Semantic-integrated software watermarking with tamper-proofing | |
KR101557455B1 (ko) | 응용 프로그램 코드 분석 장치 및 그것을 이용한 코드 분석 방법 | |
Patsakis et al. | Assessing llms in malicious code deobfuscation of real-world malware campaigns | |
JP6698775B2 (ja) | 共有オブジェクトのコード保護のための保安提供装置と方法、及び保安実行装置と方法 | |
Baset et al. | Identifying android library dependencies in the presence of code obfuscation and minimization | |
Niu et al. | Clone analysis and detection in android applications | |
CN110147655A (zh) | 应用程序的安全防护系统及方法 | |
CN117009931A (zh) | 水印添加和水印应用方法、装置、设备及存储介质 | |
CN114139117A (zh) | 应用程序加固方法、装置、电子设备及存储介质 | |
Zeng et al. | LMDGW: a novel matrix based dynamic graph watermark | |
CN109492392B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190118 |
|
WD01 | Invention patent application deemed withdrawn after publication |