CN104992083A - 应用程序的代码混淆方法和系统 - Google Patents
应用程序的代码混淆方法和系统 Download PDFInfo
- Publication number
- CN104992083A CN104992083A CN201510402610.9A CN201510402610A CN104992083A CN 104992083 A CN104992083 A CN 104992083A CN 201510402610 A CN201510402610 A CN 201510402610A CN 104992083 A CN104992083 A CN 104992083A
- Authority
- CN
- China
- Prior art keywords
- rule
- key word
- application program
- code
- obscure
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000003780 insertion Methods 0.000 claims description 11
- 230000037431 insertion Effects 0.000 claims description 11
- 230000000875 corresponding effect Effects 0.000 description 50
- 238000010586 diagram Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000005728 strengthening 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/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
本发明涉及一种应用程序的代码混淆方法和系统,其中应用程序的代码混淆方法,包括如下步骤:获取预设的混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字;确定需要进行代码混淆的应用程序中类的关键字,从混淆规则库中查找与所述应用程序中类的关键字对应的规则关键字,并确定所述规则关键字对应的混淆规则;根据所述混淆规则向所述应用程序的类代码中插入该关键字对应的混淆代码。上述应用程序的代码混淆方法和系统,使对同样类代码的混淆处理无需多次重复设计混淆规则,提高了应用程序的相关代码混淆处理的效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种应用程序的代码混淆方法和系统。
背景技术
随着软件相关技术的飞速发展,人们的生活和工作对应用程序的依赖度也随之提高,其安全意识更在逐渐增强。应用程序在发布后,容易被反编译而暴露其源代码,致使该应用程序所携带的信息不安全,这时,需要对相关应用程序所涉及的代码通过混淆处理,实现对其有效代码的隐藏。现有技术的应用程序代码混淆处理中,需要每次对各类代码添加混淆规则,使相关混淆处理的效率低。
发明内容
基于此,有必要针对现有技术中相关混淆处理效率低的技术问题,提供一种应用程序的代码混淆方法和系统。
一种应用程序的代码混淆方法,包括如下步骤:
获取预设的混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字;
确定需要进行代码混淆的应用程序中类的关键字,从混淆规则库中查找与所述应用程序中类的关键字对应的规则关键字,并确定所述规则关键字对应的混淆规则;
根据所述混淆规则向所述应用程序的类代码中插入该关键字对应的混淆代码。
一种应用程序的代码混淆系统,包括:
第一获取模块,用于获取预设的混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字;
查询模块,用于确定需要进行代码混淆的应用程序中类的关键字,从混淆规则库中查找与所述应用程序中类的关键字对应的规则关键字,并确定所述规则关键字对应的混淆规则;
第一插入模块,用于根据所述混淆规则向所述应用程序的类代码中插入该关键字对应的混淆代码。
上述应用程序的代码混淆方法和系统,在对相关应用程序代码进行混淆处理时,可以根据应用程序中的类对应的关键字从预设的混淆规则库中获取所述关键字对应的混淆规则,并将相应的类代码根据上述混淆规则进行混淆处理,使对同样类代码的混淆处理无需多次重复设计混淆规则,提高了应用程序的相关代码混淆处理的效率。
附图说明
图1为一个实施例的应用程序的代码混淆方法流程图;
图2为一个实施例的应用程序的代码混淆系统的结构示意图。
具体实施方式
下面结合附图对本发明提供的应用程序的代码混淆方法和系统的具体实施方式作详细描述。
参考图1,图1所示为一个实施例的应用程序的代码混淆方法流程图,包括如下步骤:
S30,获取预设的混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字;
上述步骤S30中,在对应用程序中不同类代码进行混淆处理前,可以先预设一个混淆规则库,上述预设的规则库可以存入不同类对应的混淆规则,以便后续需要进行代码混淆的应用程序可以直接使用混淆规则库中的混淆规则,无需每次针对具体的代码均重新确定一次混淆规则,能够减少重复的工作量,降低所确定的混淆规则的错误率。该混淆规则库中包含各种类型的应用程序中不同类对应的混淆规则,上述某一类的混淆规则可以包括插入该类代码的混淆代码,以及这些混淆代码插入上述类代码中的具体位置;其中,上述类为一种面向对象计算机编程语言的构造,是创建对象的蓝图,可以描述所创建的对象共同的属性和方法。
上述混淆规则库可以为一个xml(可扩展标记语言)文件,其文件名可以根据所涉及到的应用程序的类型或者其他应用环境因素进行命名,其组成可以通过如下代码实现:
混淆规则是混淆规则库的基本组成单元,其与应用程序中的类是一一对应的,可以根据类的关键字对其进行搜索,上述混淆规则的格式可以为:
“<confusion name="com.activeandroid">
-keep class com.activeandroid.**{*;}
</confusion>”
应用程序一般包含一个或者多个类,类名可以为“xxx.xxxClassName”,其中,类名中,“ClassName”前面部分的“xxx.xxx”为类名的关键字,比如“com.activeandroid”、“com.baidu”等,上述关键字与类是一一对应的,不同的类不会有相同的关键字。
S40,确定需要进行代码混淆的应用程序中类的关键字,从混淆规则库中查找与所述应用程序中类的关键字对应的规则关键字,并确定所述规则关键字对应的混淆规则;
S50,根据所述混淆规则向所述应用程序的类代码中插入该关键字对应的混淆代码。
上述步骤中,可以根据混淆规则生成混淆配置文件,上述混淆配置文件中包括了需要插入的应用程序的类、插入相应类的混淆代码以及混淆代码插入类代码中的位置,其名称可以为“proguard-rules.txt”;利用上述混淆配置文件对需要进行代码混淆的应用程序进行混淆处理,即在相应应用程序的类代码中插入对应的混淆代码,使应用程序可以正常的编译、运行,其原始代码又通过混淆代码的保护,不易被反编译而致其暴露,保证了推广相关应用程序的安全性。
本实施例提供的应用程序的代码混淆方法,在对相关应用程序代码进行混淆处理时,可以根据应用程序中的类对应的关键字从预设的混淆规则库中获取所述关键字对应的混淆规则,并将相应的类代码根据上述混淆规则进行混淆处理,使对同样类代码的混淆处理无需多次重复设计混淆规则,提高了应用程序的相关代码混淆处理的效率。
在一个实施例中,上述获取预设混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字的步骤后还可以包括:
建立关键字集合;
将各个混淆规则对应的规则关键字存入关键字集合;
查询关键字集合中是否存在与存入的规则关键字重复的规则关键字;若存在,则将重复的规则关键字合并为一个规则关键字。
作为一个实施例,上述应用程序的代码混淆方法,还可以包括:
从混淆规则库中获取重复的规则关键字对应的混淆规则,得到重复的混淆规则;
将重复的混淆规则合并为一个混淆规则,更新混淆规则库。
本实施例中,建立关键字集合,并在上述关键字集合中存入各个混淆规则对应的规则关键字,可以利用需要进行代码混淆的应用程序中类的关键字直接在关键字集合中查找相应的规则关键字,进而确定相应的混淆规则,可以提高混淆规则的查找效率。
查询关键字集合中重复的规则关键字,并将重复的规则关键字合并为一个规则关键字,使关键字集合中不含重复的规则关键字,可以减小关键字的存储空间,提高在该关键字集合中查询相关关键字的效率。将重复的混淆规则合并为一个混淆规则,使混淆规则库中的混淆规则只出现一次,不重复出现,可以进一步提高从混淆规则库中获取相关关键字对应的混淆规则的效率。
在一个实施例中,上述应用程序的代码混淆方法,还可以包括:
获取所述应用程序的历史运行信息;
根据所述历史运行信息解析应用程序的映射文件;
根据所述映射文件定位出现错误的故障类,将所述故障类的代码还原得到故障类的原代码,并获取所述故障类的关键字;
根据所述故障类的关键字从混淆规则库中获取所述关键字对应的混淆规则;
根据所述混淆规则,向所述故障类的原代码中插入所述混淆代码。
本实施例中,上述历史运行信息为包括该应用程序的创建、修改以及运行状态的信息。在对某个应用程序进行代码混淆后,该应用程序出现编译失败、运行崩溃或者运行结果与预期不一致等编译或者运行方面的状况时,可以根据其历史运行信息解析应用程序的映射文件,定位出现错误的故障类,将所述故障类的代码在相应的位置去除混淆代码还原得到故障类的原代码,并根据故障类的关键字从混淆规则库中获取相应的混淆规则对上述故障类的原代码重新进行混淆处理,使该应用程序上次混淆处理过程中出现的相关错误能够通过代码还原得到纠正,并重新根据混淆规则库中的相应的混淆规则进行代码的混淆,使经过代码混淆后的应用程序可以正常的编译、运行。
作为一个实施例,上述根据所述故障类的关键字从混淆规则库中获取所述关键字对应的混淆规则的步骤后可以包括:
若混淆规则库中不存在所述关键字对应的混淆规则,则根据所述关键字对应的故障类代码建立相应的混淆规则;
根据所述建立的混淆规则向故障类的原代码中插入所述混淆代码,并将所述故障类对应的混淆规则存入混淆规则库。
本实施例中,若混淆规则库中不含某一关键字对应的混淆规则,可以根据该关键字对应的类的原代码确定相应的混淆规则,在进行相关代码混淆后,将新确定的混淆规则存入混淆规则库中,供后续相应的代码混淆用。
作为一个实施例,上述应用程序的代码混淆方法,还可以包括:
编译或者运行所述应用程序,若出现编译失败或运行故障的状况,删除混淆规则库中所述故障类对应的混淆规则;
重新建立所述故障类代码对应的混淆规则;
根据所述混淆规则向故障类的原代码中插入所述混淆代码,并将所述重新建立的混淆规则存入混淆规则库。
本实施例中,若出现编译失败、运行崩溃或者运行结果与预期不一致等运行故障时,应用程序经代码还原、重新进行代码混淆后仍然出现上述编译失败、运行故障的状况,则说明混淆规则库中的混淆规则存在问题,可以删除混淆规则库中相应的混淆规则,并重新建立上述故障类的原代码对应的混淆规则,用正确的混淆规则对相应的类代码重新混淆,并将新建立的混淆规则存入混淆规则库中,保证其中的混淆规则的正确性。
在一个实施例中,上述获取混淆规则库中各个混淆规则对应的类名的关键字,形成关键字集合的步骤前还可以包括:
获取各种类型的应用程序中类的混淆代码及其添加至类代码的插入位置;
根据所述混淆代码和插入位置确定所述类对应的混淆规则,将所述混淆规则存入混淆规则库。
应用程序中的类均包括相应的类代码,类代码一般包括其有效代码,比如类的源代码,和为了隐藏其有效代码而设置的混淆代码;类的混淆规则根据类中混淆代码以及其插入位置所确定,可以保证所确定的混淆规则的准确性,从而提高混淆规则库所存入的混淆规则的有效性。
参考图2,图2所示为一个实施例的应用程序的代码混淆系统的结构示意图,包括:
第一获取模块30,用于获取预设的混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字;
查询模块40,用于确定需要进行代码混淆的应用程序中类的关键字,从混淆规则库中查找与所述应用程序中类的关键字对应的规则关键字,并确定所述规则关键字对应的混淆规则;
第一插入模块50,用于根据所述混淆规则向所述应用程序的类代码中插入该关键字对应的混淆代码。
在一个实施例中,上述应用程序的代码混淆系统还可以包括:
第二获取模块,用于获取所述应用程序的历史运行信息;
解析模块,用于根据所述历史运行信息解析应用程序的映射文件;
定位模块,用于根据所述映射文件定位出现错误的故障类,将所述故障类的代码还原得到故障类的原代码,并获取所述故障类的关键字;
第三获取模块,用于根据所述故障类的关键字从混淆规则库中获取所述关键字对应的混淆规则;
第二插入模块,用于根据所述混淆规则,向所述故障类的原代码中插入所述混淆代码。
在一个实施例中,上述第一获取模块前还可以包括:
第四获取模块,用于获取各种类型的应用程序中类的混淆代码及其添加至类代码的插入位置;
确定模块,用于根据所述混淆代码和插入位置确定所述类对应的混淆规则,将所述混淆规则存入混淆规则库。
本发明的应用程序的代码混淆系统与本发明的应用程序的代码混淆方法一一对应,在上述应用程序的代码混淆方法的实施例阐述的技术特征及其有益效果均适用于应用程序的代码混淆系统的实施例中,特此声明。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序的代码混淆方法,其特征在于,包括如下步骤:
获取预设的混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字;
确定需要进行代码混淆的应用程序中类的关键字,从混淆规则库中查找与所述应用程序中类的关键字对应的规则关键字,并确定所述规则关键字对应的混淆规则;
根据所述混淆规则向所述应用程序的类代码中插入该关键字对应的混淆代码。
2.根据权利要求1所述的应用程序的代码混淆方法,其特征在于,所述获取预设混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字的步骤后还包括:
建立关键字集合;
将各个混淆规则对应的规则关键字存入关键字集合;
查询关键字集合中是否存在与存入的规则关键字重复的规则关键字;若存在,则将重复的规则关键字合并为一个规则关键字。
3.根据权利要求2所述的应用程序的代码混淆方法,其特征在于,还包括:
从混淆规则库中获取重复的规则关键字对应的混淆规则,得到重复的混淆规则;
将重复的混淆规则合并为一个混淆规则,更新混淆规则库。
4.根据权利要求1所述的应用程序的代码混淆方法,其特征在于,还包括:
获取所述应用程序的历史运行信息;
根据所述历史运行信息解析应用程序的映射文件;
根据所述映射文件定位出现错误的故障类,将所述故障类的代码还原得到故障类的原代码,并获取所述故障类的关键字;
根据所述故障类的关键字从混淆规则库中获取所述关键字对应的混淆规则;
根据所述混淆规则,向所述故障类的原代码中插入所述混淆代码。
5.根据权利要求4所述的应用程序的代码混淆方法,其特征在于,所述根据所述故障类的关键字从混淆规则库中获取所述关键字对应的混淆规则的步骤后包括:
若混淆规则库中不存在所述关键字对应的混淆规则,则根据所述关键字对应的故障类代码建立相应的混淆规则;
根据所述建立的混淆规则向故障类的原代码中插入所述混淆代码,并将所述故障类对应的混淆规则存入混淆规则库。
6.根据权利要求4所述的应用程序的代码混淆方法,其特征在于,还包括:
编译或者运行所述应用程序,若出现编译失败或运行故障的状况,删除混淆规则库中所述故障类对应的混淆规则;
重新建立所述故障类的原代码对应的混淆规则;
根据所述混淆规则向故障类的原代码中插入所述混淆代码,并将所述重新建立的混淆规则存入混淆规则库。
7.根据权利要求1所述的应用程序的代码混淆方法,其特征在于,所述获取预设混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字的步骤前还包括:
获取各种类型的应用程序中类的混淆代码及其添加至类代码的插入位置;
根据所述混淆代码和插入位置确定所述类对应的混淆规则,将所述混淆规则存入混淆规则库。
8.一种应用程序的代码混淆系统,其特征在于,包括:
第一获取模块,用于获取预设的混淆规则库中各个混淆规则对应的类名的关键字,得到规则关键字;
查询模块,用于确定需要进行代码混淆的应用程序中类的关键字,从混淆规则库中查找与所述应用程序中类的关键字对应的规则关键字,并确定所述规则关键字对应的混淆规则;
第一插入模块,用于根据所述混淆规则向所述应用程序的类代码中插入该关键字对应的混淆代码。
9.根据权利要求8所述的应用程序的代码混淆系统,其特征在于,还包括:
第二获取模块,用于获取所述应用程序的历史运行信息;
解析模块,用于根据所述历史运行信息解析应用程序的映射文件;
定位模块,用于根据所述映射文件定位出现错误的故障类,将所述故障类的代码还原得到故障类的原代码,并获取所述故障类的关键字;
第三获取模块,用于根据所述故障类的关键字从混淆规则库中获取所述关键字对应的混淆规则;
第二插入模块,用于根据所述混淆规则,向所述故障类的原代码中插入所述混淆代码。
10.根据权利要求8所述的应用程序的代码混淆系统,其特征在于,所述第一获取模块前还包括:
第四获取模块,用于获取各种类型的应用程序中类的混淆代码及其添加至类代码的插入位置;
确定模块,用于根据所述混淆代码和插入位置确定所述类对应的混淆规则,将所述混淆规则存入混淆规则库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510402610.9A CN104992083B (zh) | 2015-07-09 | 2015-07-09 | 应用程序的代码混淆方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510402610.9A CN104992083B (zh) | 2015-07-09 | 2015-07-09 | 应用程序的代码混淆方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104992083A true CN104992083A (zh) | 2015-10-21 |
CN104992083B CN104992083B (zh) | 2018-02-16 |
Family
ID=54303896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510402610.9A Active CN104992083B (zh) | 2015-07-09 | 2015-07-09 | 应用程序的代码混淆方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104992083B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569868A (zh) * | 2016-11-09 | 2017-04-19 | 腾讯音乐娱乐(深圳)有限公司 | 一种基于Gradle的编译优化方法及装置 |
CN106657361A (zh) * | 2016-12-30 | 2017-05-10 | 歌尔科技有限公司 | 一种代码添加混淆的安卓安装包ota升级方法 |
CN107103213A (zh) * | 2017-03-23 | 2017-08-29 | 中国航天系统科学与工程研究院 | 一种基于遗传算法的软件代码混淆操作选择方法 |
CN108197440A (zh) * | 2017-11-28 | 2018-06-22 | 五八有限公司 | 一种代码混淆方法、设备及计算机可读存储介质 |
CN108647500A (zh) * | 2018-05-11 | 2018-10-12 | 北京奇虎科技有限公司 | 一种基于对抗逆向的程序加固方法及装置 |
CN105912466B (zh) * | 2016-04-07 | 2018-11-09 | 百度在线网络技术(北京)有限公司 | 应用异常信息的处理方法及装置 |
CN109614771A (zh) * | 2018-10-31 | 2019-04-12 | 同盾控股有限公司 | 一种基于Java代码的混淆方法和装置 |
CN110647329A (zh) * | 2019-08-13 | 2020-01-03 | 平安科技(深圳)有限公司 | 代码混淆方法、装置、计算机设备和存储介质 |
CN111274556A (zh) * | 2020-02-27 | 2020-06-12 | 北京小米移动软件有限公司 | 代码混淆方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103404A1 (en) * | 2002-11-25 | 2004-05-27 | Gleb Naumovich | Class coalescence for obfuscation of object-oriented software |
CN101031859A (zh) * | 2004-09-30 | 2007-09-05 | Ttpcom有限公司 | 程序源代码保护 |
CN101807239A (zh) * | 2010-03-29 | 2010-08-18 | 山东高效能服务器和存储研究院 | 一种防止源代码反编译的方法 |
CN103544414A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种Android系统应用的深度代码混淆方法 |
CN103927164A (zh) * | 2014-03-10 | 2014-07-16 | 珠海市君天电子科技有限公司 | 一种脚本混淆方法及系统 |
-
2015
- 2015-07-09 CN CN201510402610.9A patent/CN104992083B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103404A1 (en) * | 2002-11-25 | 2004-05-27 | Gleb Naumovich | Class coalescence for obfuscation of object-oriented software |
CN101031859A (zh) * | 2004-09-30 | 2007-09-05 | Ttpcom有限公司 | 程序源代码保护 |
CN101807239A (zh) * | 2010-03-29 | 2010-08-18 | 山东高效能服务器和存储研究院 | 一种防止源代码反编译的方法 |
CN103544414A (zh) * | 2013-10-25 | 2014-01-29 | 苏州通付盾信息技术有限公司 | 一种Android系统应用的深度代码混淆方法 |
CN103927164A (zh) * | 2014-03-10 | 2014-07-16 | 珠海市君天电子科技有限公司 | 一种脚本混淆方法及系统 |
Non-Patent Citations (1)
Title |
---|
徐剑等: "面向Android应用程序的代码保护方法研究", 《信息网络安全》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912466B (zh) * | 2016-04-07 | 2018-11-09 | 百度在线网络技术(北京)有限公司 | 应用异常信息的处理方法及装置 |
CN106569868A (zh) * | 2016-11-09 | 2017-04-19 | 腾讯音乐娱乐(深圳)有限公司 | 一种基于Gradle的编译优化方法及装置 |
CN106569868B (zh) * | 2016-11-09 | 2019-12-31 | 腾讯音乐娱乐(深圳)有限公司 | 一种基于Gradle的编译优化方法及装置 |
CN106657361A (zh) * | 2016-12-30 | 2017-05-10 | 歌尔科技有限公司 | 一种代码添加混淆的安卓安装包ota升级方法 |
CN106657361B (zh) * | 2016-12-30 | 2019-09-13 | 歌尔科技有限公司 | 一种代码添加混淆的安卓安装包ota升级方法 |
CN107103213A (zh) * | 2017-03-23 | 2017-08-29 | 中国航天系统科学与工程研究院 | 一种基于遗传算法的软件代码混淆操作选择方法 |
CN108197440A (zh) * | 2017-11-28 | 2018-06-22 | 五八有限公司 | 一种代码混淆方法、设备及计算机可读存储介质 |
CN108647500A (zh) * | 2018-05-11 | 2018-10-12 | 北京奇虎科技有限公司 | 一种基于对抗逆向的程序加固方法及装置 |
CN109614771A (zh) * | 2018-10-31 | 2019-04-12 | 同盾控股有限公司 | 一种基于Java代码的混淆方法和装置 |
CN109614771B (zh) * | 2018-10-31 | 2020-07-03 | 同盾控股有限公司 | 一种基于Java代码的混淆方法和装置 |
CN110647329A (zh) * | 2019-08-13 | 2020-01-03 | 平安科技(深圳)有限公司 | 代码混淆方法、装置、计算机设备和存储介质 |
CN111274556A (zh) * | 2020-02-27 | 2020-06-12 | 北京小米移动软件有限公司 | 代码混淆方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104992083B (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104992083A (zh) | 应用程序的代码混淆方法和系统 | |
EP3014479B1 (en) | Omega names: name generation and derivation | |
US7562356B2 (en) | Automatically resolving patch dependencies for a path bundle | |
US10878086B2 (en) | Dynamic code extraction-based automatic anti analysis evasion and code logic analysis apparatus | |
US10043012B2 (en) | Method of correlating static and dynamic application security testing results for a web application | |
US10043004B2 (en) | Method of correlating static and dynamic application security testing results for a web and mobile application | |
Sternagel et al. | Conditional confluence (system description) | |
CN112379917B (zh) | 浏览器兼容性提升方法、装置、设备及存储介质 | |
CN111966346B (zh) | 应用系统的污点分析方法及装置 | |
CN104320312A (zh) | 网络应用安全测试工具及模糊测试用例生成方法和系统 | |
US10409572B2 (en) | Compiled file normalization | |
US20180025162A1 (en) | Application program analysis apparatus and method | |
Møller | Technical perspective: WebAssembly: A quiet revolution of the Web | |
CN116560642A (zh) | 代码生成方法及其装置、电子设备及存储介质 | |
US8219966B2 (en) | Method and system for integrating an application floorplan and an external service | |
SG182015A1 (en) | Method and system for protecting intellectual property in software | |
CN105447342A (zh) | 脚本加密方法、解密方法及引擎 | |
CN116432185A (zh) | 一种异常检测方法、装置、可读存储介质及电子设备 | |
CN112632946A (zh) | 自动建表的方法、装置、计算机设备和存储介质 | |
JP6116983B2 (ja) | エントリーポイント抽出装置 | |
Abadi et al. | Automatically fixing security vulnerabilities in java code | |
CN113448584B (zh) | 一种app版本管理方法、装置、介质及计算机设备 | |
WO2012133606A1 (ja) | プログラムの影響範囲設定装置、並びにこれを用いた影響範囲特定方法及び影響波及のあるプログラムの抽出方法 | |
CN105487846A (zh) | 快速开发x86/x64平台shellcode的方法及系统 | |
EP2661704A1 (en) | Translation of universal plug and play search criteria |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |