CN110765425A - 一种对ios应用程序源代码进行混淆保护的方法及系统 - Google Patents
一种对ios应用程序源代码进行混淆保护的方法及系统 Download PDFInfo
- Publication number
- CN110765425A CN110765425A CN201911021718.8A CN201911021718A CN110765425A CN 110765425 A CN110765425 A CN 110765425A CN 201911021718 A CN201911021718 A CN 201911021718A CN 110765425 A CN110765425 A CN 110765425A
- Authority
- CN
- China
- Prior art keywords
- code
- name
- class
- codes
- source 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect 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
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种对ios应用程序源代码进行混淆保护的方法,包括以下步骤:获取ios应用程序源代码中的待混淆代码;利用Clang工具对待混淆代码进行编译,得到抽象语法树;根据预设标记遍历抽象语法树,得到所有的类名代码、方法名代码和变量名代码;将类名代码、方法名代码和变量名代码替换为随机字符串;根据随机字符串生成对应于待混淆代码的安全代码。在本发明的技术方案中,其能够将ios应用程序中的源代码逻辑进行混淆,从而保护源代码,混淆过后,即使黑客能够通过反编译工具把类名和方法名dump下来,也无法解析出代码的逻辑,从而避免安全风险。
Description
技术领域
本发明涉及代码混淆技术领域,尤其涉及一种对ios应用程序源代码进行混淆保护的方法及系统。
背景技术
随着移动开发的越来越普遍,APP暴露出来的安全问题越来越多。所以对于APP的安全性的要求就越来越高,一些核心的代码逻辑如果泄露,黑客就可以利用代码中的漏洞进行攻击,而对于商用软件开发者的权利也应该进行很好的保护,所以手机软件的安全性就越发重要。
3、目前市面上的iOS应用基本上是没有使用类名方法名混淆的,所以只要我们使用class-dump把应用的类和方法定义dump下来,然后根据方法名就能够判断很多程序的处理函数是在哪。从而进行hook等操作。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提供一种对ios应用程序源代码进行混淆保护的方法,其能够将ios应用程序中的源代码逻辑进行混淆,从而保护源代码,混淆过后,即使黑客能够通过反编译工具把类名和方法名dump下来,也无法解析出代码的逻辑,从而避免安全风险。
本发明的另一个目的在于提供一种对ios应用程序源代码进行混淆保护的系统,其能够将ios应用程序中的源代码逻辑进行混淆,从而保护源代码,混淆过后,即使黑客能够通过反编译工具把类名和方法名dump下来,也无法解析出代码的逻辑,从而避免安全风险。
为实现上述目的,本发明第一方面的技术方案提供了一种对ios应用程序源代码进行混淆保护的方法,包括以下步骤:获取ios应用程序源代码中的待混淆代码;利用Clang工具对待混淆代码进行编译,得到抽象语法树;根据预设标记遍历抽象语法树,得到所有的类名代码、方法名代码和变量名代码;将类名代码、方法名代码和变量名代码替换为随机字符串;根据随机字符串生成对应于待混淆代码的安全代码。
在该技术方案中,通过在源代码中的所有类名、方法名和变量名上添加预设标记,便于在代码混淆过程中能够解析出所有类名等信息,然后用随机字符串进行宏定义替换。将宏定义头文件代码导入项目中,进行编译后,源代码代码中的类名和方法名都已经替换成无意义的符号了,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
在上述技术方案中,优选的,还包括以下步骤:获取ios应用程序的源代码;利用class-dump遍历源代码,得到所有的类名源代码、方法名源代码和变量名源代码;根据预设标记对类名源代码、方法名源代码和变量名源代码进行标记,得到类名代码、方法名代码和变量名代码。
在该技术方案中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的预设标记,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用随机字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
在上述任一技术方案中,优选的,预设标记为设置在类名、方法名和变量名上的前缀或后缀。
在该技术方案中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的前缀或者后缀,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用随机字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
在上述任一技术方案中,优选的,ios应用程序源代码为ios系统中的Objective-C语言的源代码。
在该技术方案中,将基于ios系统的应用程序中的源代码逻辑进行混淆,从而保护源代码,混淆过后,就是通过反编译工具把类名和方法名dump下来,由于经过了混淆,也就看不出来代码的逻辑,让黑客无从下手,填补了目前市面上的ios应用基本上是没有使用类名方法名混淆的空白。
在上述任一技术方案中,优选的,随机字符串为无意义字符串。
在该技术方案中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的前缀或者后缀,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用无意义字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
本发明第二方面的技术方案提供了一种对ios应用程序源代码进行混淆保护的系统,包括:第一获取模块,被设置为用于获取ios应用程序源代码中的待混淆代码;编译模块,被设置为用于利用Clang工具对待混淆代码进行编译,得到抽象语法树;遍历模块,被设置为用于根据预设标记遍历抽象语法树,得到所有的类名代码、方法名代码和变量名代码;替换模块,被设置为用于将类名代码、方法名代码和变量名代码替换为随机字符串;混淆模块,被设置为用于根据随机字符串生成对应于待混淆代码的安全代码。
在该技术方案中,通过在源代码中的所有类名、方法名和变量名上添加预设标记,便于在代码混淆过程中能够解析出所有类名等信息,然后用随机字符串进行宏定义替换。将宏定义头文件代码导入项目中,进行编译后,源代码代码中的类名和方法名都已经替换成无意义的符号了,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
在上述技术方案中,优选的,还包括:第二获取模块,被设置为用于获取ios应用程序的源代码;class-dump模块,被设置为用于利用class-dump工具遍历源代码,得到所有的类名源代码、方法名源代码和变量名源代码;标记模块,被设置为用于根据预设标记对类名源代码、方法名源代码和变量名源代码进行标记,得到类名代码、方法名代码和变量名代码。
在该技术方案中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的预设标记,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用随机字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
在上述任一技术方案中,优选的,预设标记为设置在类名、方法名和变量名上的前缀或后缀。
在该技术方案中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的前缀或者后缀,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用随机字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
在上述任一技术方案中,优选的,ios应用程序源代码为ios系统中的Objective-C语言的源代码。
在该技术方案中,将基于ios系统的应用程序中的源代码逻辑进行混淆,从而保护源代码,混淆过后,就是通过反编译工具把类名和方法名dump下来,由于经过了混淆,也就看不出来代码的逻辑,让黑客无从下手,填补了目前市面上的ios应用基本上是没有使用类名方法名混淆的空白。
在上述任一技术方案中,优选的,随机字符串为无意义字符串。
在该技术方案中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的前缀或者后缀,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用无意义字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明一个实施例所涉及的方法的流程框图;
图2示出了本发明另一个实施例所涉及的方法的流程框图;
图3示出了本发明第三个实施例所涉及的系统的结构框图;
图4示出了本发明第四个实施例所涉及的方法的流程框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
下面参照图1至图4描述根据本发明一些实施例的。
如图1所示,按照本发明一个实施例的对ios应用程序源代码进行混淆保护的方法,包括以下步骤:
S400,获取ios应用程序源代码中的待混淆代码;
S500,利用Clang工具对待混淆代码进行编译,得到抽象语法树;
S600,根据预设标记遍历抽象语法树,得到所有的类名代码、方法名代码和变量名代码;
S700,将类名代码、方法名代码和变量名代码替换为随机字符串;
S800,根据随机字符串生成对应于待混淆代码的安全代码。
在该实施例中,通过在源代码中的所有类名、方法名和变量名上添加预设标记,便于在代码混淆过程中能够解析出所有类名等信息,然后用随机字符串进行宏定义替换。将宏定义头文件代码导入项目中,进行编译后,源代码代码中的类名和方法名都已经替换成无意义的符号了,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
如图2所示,按照本发明另一个实施例的对ios应用程序源代码进行混淆保护的方法,包括以下步骤:
S100,获取ios应用程序的源代码;
S200,利用class-dump遍历源代码,得到所有的类名源代码、方法名源代码和变量名源代码;
S300,根据预设标记对类名源代码、方法名源代码和变量名源代码进行标记,得到类名代码、方法名代码和变量名代码;
S400,获取ios应用程序源代码中的待混淆代码;
S500,利用Clang工具对待混淆代码进行编译,得到抽象语法树;
S600,根据预设标记遍历抽象语法树,得到所有的类名代码、方法名代码和变量名代码;
S700,将类名代码、方法名代码和变量名代码替换为随机字符串;
S800,根据随机字符串生成对应于待混淆代码的安全代码。
在该实施例中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的预设标记,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用随机字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
如图3所示,按照本发明第三个实施例的对ios应用程序源代码进行混淆保护的系统1000,包括:
第一获取模块400,被设置为用于获取ios应用程序源代码中的待混淆代码;
编译模块500,被设置为用于利用Clang工具对待混淆代码进行编译,得到抽象语法树;
遍历模块600,被设置为用于根据预设标记遍历抽象语法树,得到所有的类名代码、方法名代码和变量名代码;
替换模块700,被设置为用于将类名代码、方法名代码和变量名代码替换为随机字符串;
混淆模块800,被设置为用于根据随机字符串生成对应于待混淆代码的安全代码。
在该实施例中,通过在源代码中的所有类名、方法名和变量名上添加预设标记,便于在代码混淆过程中能够解析出所有类名等信息,然后用随机字符串进行宏定义替换。将宏定义头文件代码导入项目中,进行编译后,源代码代码中的类名和方法名都已经替换成无意义的符号了,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
如图4所示,按照本发明第四个实施例的对ios应用程序源代码进行混淆保护的系统1000,包括:
第二获取模块100,被设置为用于获取ios应用程序的源代码;
class-dump模块200,被设置为用于利用class-dump工具遍历源代码,得到所有的类名源代码、方法名源代码和变量名源代码;
标记模块300,被设置为用于根据预设标记对类名源代码、方法名源代码和变量名源代码进行标记,得到类名代码、方法名代码和变量名代码;
第一获取模块400,被设置为用于获取ios应用程序源代码中的待混淆代码;
编译模块500,被设置为用于利用Clang工具对待混淆代码进行编译,得到抽象语法树;
遍历模块600,被设置为用于根据预设标记遍历抽象语法树,得到所有的类名代码、方法名代码和变量名代码;
替换模块700,被设置为用于将类名代码、方法名代码和变量名代码替换为随机字符串;
混淆模块800,被设置为用于根据随机字符串生成对应于待混淆代码的安全代码。
在该实施例中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的预设标记,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用随机字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
在上述任一实施例中,优选的,预设标记为设置在类名、方法名和变量名上的前缀或后缀。
在该实施例中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的前缀或者后缀,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用随机字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
在上述任一实施例中,优选的,ios应用程序源代码为ios系统中的Objective-C语言的源代码。
在该实施例中,将基于ios系统的应用程序中的源代码逻辑进行混淆,从而保护源代码,混淆过后,就是通过反编译工具把类名和方法名dump下来,由于经过了混淆,也就看不出来代码的逻辑,让黑客无从下手,填补了目前市面上的ios应用基本上是没有使用类名方法名混淆的空白。
在上述任一实施例中,优选的,随机字符串为无意义字符串。
在该实施例中,通过在应用程序开发时将需要混淆的类和方法进行统一规范,即使用相同的前缀或者后缀,这样通过clang获取到这个前缀的类名和方法名,然后在将这些类名和方法名用无意义字符串替换,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
需要说明的是,Clang是LLVM的子项目,是C,C++和Objective-C编译器,目的是提供惊人的快速编译,比GCC快3倍,其中的clang static analyzer主要是进行语法分析,语义分析和生成中间代码,当然这个过程会对代码进行检查,出错的和需要警告的会标注出来。
对需要进行混淆的核心源代码的类名和方法都添加统一的标示,通过clang获取到类名和方法名,然后用无意义的字符串进行宏定义替换。将宏定义头文件代码导入项目中,进行编译后,源代码代码中的类名和方法名都已经替换成无意义的符号了,再利用class-dump把应用的类和方法定义dump下来,因为都是核心逻辑是一些无意义的符号,从了避免了安全风险。
基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1和图2所示的对ios应用程序源代码进行混淆保护的方法的步骤。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
基于上述如图1和图2所示的方法,以及图3和图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的对ios应用程序源代码进行混淆保护的方法的步骤。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
在本发明中,术语“第一”、“第二”、“第三”仅用于描述的目的,而不能理解为指示或暗示相对重要性;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的描述中,需要理解的是,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本发明的限制。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种对ios应用程序源代码进行混淆保护的方法,其特征在于,包括以下步骤:
获取ios应用程序源代码中的待混淆代码;
利用Clang工具对所述待混淆代码进行编译,得到抽象语法树;
根据预设标记遍历所述抽象语法树,得到所有的类名代码、方法名代码和变量名代码;
将所述类名代码、所述方法名代码和所述变量名代码替换为随机字符串;
根据所述随机字符串生成对应于所述待混淆代码的安全代码。
2.根据权利要求1所述的方法,其特征在于,还包括以下步骤:
获取所述ios应用程序的源代码;
利用class-dump遍历所述源代码,得到所有的类名源代码、方法名源代码和变量名源代码;
根据所述预设标记对所述类名源代码、所述方法名源代码和所述变量名源代码进行标记,得到所述类名代码、所述方法名代码和所述变量名代码。
3.根据权利要求1或2所述的方法,其特征在于:所述预设标记为设置在类名、方法名和变量名上的前缀或后缀。
4.根据权利要求1或2所述的方法,其特征在于:所述ios应用程序源代码为ios系统中的Objective-C语言的源代码。
5.根据权利要求1或2所述的方法,其特征在于:所述随机字符串为无意义字符串。
6.一种对ios应用程序源代码进行混淆保护的系统,其特征在于,包括:
第一获取模块,被设置为用于获取ios应用程序源代码中的待混淆代码;
编译模块,被设置为用于利用Clang工具对所述待混淆代码进行编译,得到抽象语法树;
遍历模块,被设置为用于根据预设标记遍历所述抽象语法树,得到所有的类名代码、方法名代码和变量名代码;
替换模块,被设置为用于将所述类名代码、所述方法名代码和所述变量名代码替换为随机字符串;
混淆模块,被设置为用于根据所述随机字符串生成对应于所述待混淆代码的安全代码。
7.根据权利要求6所述的系统,其特征在于,还包括:
第二获取模块,被设置为用于获取所述ios应用程序的源代码;
class-dump模块,被设置为用于利用class-dump工具遍历所述源代码,得到所有的类名源代码、方法名源代码和变量名源代码;
标记模块,被设置为用于根据所述预设标记对所述类名源代码、所述方法名源代码和所述变量名源代码进行标记,得到所述类名代码、所述方法名代码和所述变量名代码。
8.根据权利要求6或7所述的系统,其特征在于:所述预设标记为设置在类名、方法名和变量名上的前缀或后缀。
9.根据权利要求6或7所述的系统,其特征在于:所述ios应用程序源代码为ios系统中的Objective-C语言的源代码。
10.根据权利要求6或7所述的系统,其特征在于:所述随机字符串为无意义字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911021718.8A CN110765425A (zh) | 2019-10-25 | 2019-10-25 | 一种对ios应用程序源代码进行混淆保护的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911021718.8A CN110765425A (zh) | 2019-10-25 | 2019-10-25 | 一种对ios应用程序源代码进行混淆保护的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110765425A true CN110765425A (zh) | 2020-02-07 |
Family
ID=69333541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911021718.8A Pending CN110765425A (zh) | 2019-10-25 | 2019-10-25 | 一种对ios应用程序源代码进行混淆保护的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765425A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651781A (zh) * | 2020-06-05 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 日志内容保护方法、装置、计算机设备和存储介质 |
CN111914225A (zh) * | 2020-07-15 | 2020-11-10 | 广东电网有限责任公司 | 一种源代码保护系统及源代码加密方法 |
CN113761486A (zh) * | 2021-09-10 | 2021-12-07 | 上海熙菱信息技术有限公司 | 一种基于语法糖解析的一键式代码混淆方法 |
CN113885878A (zh) * | 2021-10-21 | 2022-01-04 | 优默网络科技(深圳)有限公司 | 应用程序的混淆方法、装置及计算机设备 |
CN114417267A (zh) * | 2022-01-24 | 2022-04-29 | 中国电信股份有限公司 | 代码混淆方法、装置、电子设备及存储介质 |
CN115203652A (zh) * | 2022-09-15 | 2022-10-18 | 中电信数智科技有限公司 | 一种基于源混淆的ios端安全加密控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778100A (zh) * | 2016-12-01 | 2017-05-31 | 北京智游网安科技有限公司 | 基于安卓平台和ios平台的混淆编译方法及混淆编译器 |
EP3179395A1 (en) * | 2015-12-10 | 2017-06-14 | Thomson Licensing | Device and method for executing protected ios software modules |
CN108197440A (zh) * | 2017-11-28 | 2018-06-22 | 五八有限公司 | 一种代码混淆方法、设备及计算机可读存储介质 |
CN108345773A (zh) * | 2017-07-27 | 2018-07-31 | 江苏通付盾信息安全技术有限公司 | 基于虚拟机的代码保护方法及装置、电子设备、存储介质 |
CN108595921A (zh) * | 2018-03-22 | 2018-09-28 | 北京奇艺世纪科技有限公司 | 一种源代码中字符串的混淆方法和装置 |
-
2019
- 2019-10-25 CN CN201911021718.8A patent/CN110765425A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3179395A1 (en) * | 2015-12-10 | 2017-06-14 | Thomson Licensing | Device and method for executing protected ios software modules |
CN106778100A (zh) * | 2016-12-01 | 2017-05-31 | 北京智游网安科技有限公司 | 基于安卓平台和ios平台的混淆编译方法及混淆编译器 |
CN108345773A (zh) * | 2017-07-27 | 2018-07-31 | 江苏通付盾信息安全技术有限公司 | 基于虚拟机的代码保护方法及装置、电子设备、存储介质 |
CN108197440A (zh) * | 2017-11-28 | 2018-06-22 | 五八有限公司 | 一种代码混淆方法、设备及计算机可读存储介质 |
CN108595921A (zh) * | 2018-03-22 | 2018-09-28 | 北京奇艺世纪科技有限公司 | 一种源代码中字符串的混淆方法和装置 |
Non-Patent Citations (3)
Title |
---|
DEMONDEV: "iOS安全–浅谈关于iOS加固的几种方法,代码混淆,类名方法名混淆等", 《CSDN博客》 * |
HELLOWORLD_JUNYANG: "iOS代码混淆", 《CSDN博客》 * |
武安状: "《基于Ubuntu桌面系统测量软件开发技术》", 31 July 2017, 黄河水利出版社 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651781A (zh) * | 2020-06-05 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 日志内容保护方法、装置、计算机设备和存储介质 |
CN111651781B (zh) * | 2020-06-05 | 2024-07-09 | 腾讯科技(深圳)有限公司 | 日志内容保护方法、装置、计算机设备和存储介质 |
CN111914225A (zh) * | 2020-07-15 | 2020-11-10 | 广东电网有限责任公司 | 一种源代码保护系统及源代码加密方法 |
CN111914225B (zh) * | 2020-07-15 | 2024-03-19 | 广东电网有限责任公司 | 一种源代码保护系统及源代码加密方法 |
CN113761486A (zh) * | 2021-09-10 | 2021-12-07 | 上海熙菱信息技术有限公司 | 一种基于语法糖解析的一键式代码混淆方法 |
CN113761486B (zh) * | 2021-09-10 | 2023-09-05 | 上海熙菱信息技术有限公司 | 一种基于语法糖解析的一键式代码混淆方法 |
CN113885878A (zh) * | 2021-10-21 | 2022-01-04 | 优默网络科技(深圳)有限公司 | 应用程序的混淆方法、装置及计算机设备 |
CN114417267A (zh) * | 2022-01-24 | 2022-04-29 | 中国电信股份有限公司 | 代码混淆方法、装置、电子设备及存储介质 |
CN115203652A (zh) * | 2022-09-15 | 2022-10-18 | 中电信数智科技有限公司 | 一种基于源混淆的ios端安全加密控制方法 |
CN115203652B (zh) * | 2022-09-15 | 2022-12-13 | 中电信数智科技有限公司 | 一种基于源混淆的ios端安全加密控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765425A (zh) | 一种对ios应用程序源代码进行混淆保护的方法及系统 | |
US20230009273A1 (en) | System and method for application security profiling | |
KR101545272B1 (ko) | 안드로이드에서의 dex파일 바이너리 난독화 방법 | |
CN106528421B (zh) | 一种Android应用中SDK处理方法 | |
CN110598379B (zh) | 一种实现字符串混淆的方法、设备及存储介质 | |
Han et al. | Comparing mobile privacy protection through cross-platform applications | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
CN106203007B (zh) | 一种代码处理方法、装置及计算设备 | |
CN103902859A (zh) | 基于JAVA下hook技术的代码保护方法及系统 | |
US20150186648A1 (en) | System and method for identifying and comparing code by semantic abstractions | |
WO2015047443A1 (en) | Managed software remediation | |
CN110569628B (zh) | 一种代码的混淆方法以及装置、计算机设备、存储介质 | |
CN110781462B (zh) | 一种资源的混淆方法和装置 | |
CN109947432B (zh) | 汇编程序处理方法及相关装置 | |
KR102176742B1 (ko) | 안드로이드 앱의 호출 관계도 생성 방법, 이를 수행하기 위한 기록매체 및 장치 | |
CN111831316A (zh) | 一种软件开发包更新方法及装置 | |
CN107871066B (zh) | 基于安卓系统的代码编译方法及装置 | |
CN112612502A (zh) | 补丁生成方法、装置、设备及存储介质 | |
CN106776266B (zh) | 测试工具的配置方法及终端设备 | |
CN114721688A (zh) | 一种sdk升级方法、装置以及计算机设备 | |
CN106657361A (zh) | 一种代码添加混淆的安卓安装包ota升级方法 | |
CN109460674A (zh) | 一种java应用程序保护方法 | |
Xie et al. | Trimming mobile applications for bandwidth-challenged networks in developing regions | |
Li | Mining androzoo: A retrospect | |
Pizzolotto et al. | Oblive: seamless code obfuscation for java programs and android apps |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200207 |
|
RJ01 | Rejection of invention patent application after publication |