CN110619219A - 应用程序源码保护方法、装置、计算机设备和存储介质 - Google Patents
应用程序源码保护方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110619219A CN110619219A CN201910698431.2A CN201910698431A CN110619219A CN 110619219 A CN110619219 A CN 110619219A CN 201910698431 A CN201910698431 A CN 201910698431A CN 110619219 A CN110619219 A CN 110619219A
- Authority
- CN
- China
- Prior art keywords
- application program
- source code
- plug
- ios
- operating system
- 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
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/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/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种应用程序源码保护方法、装置、计算机设备和存储介质,该方法包括当检测到应用程序启动时,根据预设的判断规则判断IOS操作系统是否安装有反编译插件;反编译插件用于反编译应用程序的源码;若IOS操作系统安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作。该方法能够从根本上加强对应用程序的源码的安全防护;另外,该方法不仅可以适用于越狱设备同时也可以适用于未越狱设备,不会泄露解密后的应用程序的源码,进而对应用程序的源码进行保护。
Description
技术领域
本发明涉及软件安全领域,特别是涉及一种应用程序源码保护方法、装置、计算机设备和存储介质。
背景技术
苹果手机操作系统(Iphone Operating System,IOS)作为一种封闭式操作系统,是一种被公认的安全操作系统。应用在IOS系统上的应用程序,必须使用Apple公司提供的专业软件Xcode进行开发,并且必须通过Apple公司对应用程序进行审核后才可以在AppStore进行下载安装,另外,发布到App Store的应用程序IOS操作系统执行了一系列的加密操作以确保其安全。IOS系统的封闭性确保了应用程序所有的行为都在可控范围内,其根本的原因是IOS系统的权限划分严格并且分明。但是目前对IOS系统安全最大的挑战是IOS系统越狱,一旦IOS系统越狱那么IOS系统的权限将会被打破,用户可以随机的修改系统文件等。由于IOS应用程序多数处于加密状态不能进行解密,但是IOS应用程序在运行的时候会先解密再加载入内存,一旦IOS系统越狱成功,就可以从系统内存中把已经解密的二进制文件提取出来。此时IOS应用程序的二进制代码就已经暴露,再使用一些特定的软件就能够对提取出来的二进制文件进行处理,就可以达到改写程序,破解程序的目的。
传统技术中,通过读取IOS系统中的越狱插件,对越狱插件进行解析得到与越狱插件对应的特征元素,利用匹配规则对特征元素进行匹配得到越狱插件的匹配结果,根据越狱插件的匹配结果确定越狱插件的行为。
然而,传统技术中当确定出越狱插件的行为时,IOS系统内应用程序的源码很可能已被盗取,存在应用程序源码安全性较低的问题。
发明内容
基于此,有必要针对传统技术中当确定出越狱插件的行为时,IOS系统内应用程序的源码很可能已被盗取,存在应用程序源码安全性较低的问题,提供一种应用程序源码保护方法、装置、计算机设备和存储介质。
第一方面,本发明实施例提供一种应用程序源码保护方法,所述方法应用于IOS操作系统,所述方法包括:
当检测到应用程序启动时,根据预设的判断规则确定所述IOS操作系统是否安装有反编译插件;所述反编译插件用于反编译应用程序的源码;
若所述IOS操作系统安装有所述反编译插件,则中断所述IOS操作系统将所述应用程序的源码加载入内存的操作。
在其中一个实施例中,所述方法还包括:
若所述IOS操作系统未安装所述反编译插件,则判断所述应用程序的签发证书是否与所述IOS操作系统的签发证书匹配;
若所述应用程序的签发证书与所述IOS操作系统的签发证书不匹配,则中断所述应用程序启动。
在其中一个实施例中,所述预设的判断规则包括:
判断所述IOS操作系统是否安装有预设的反编译插件集合中的至少一种反编译插件。
在其中一个实施例中,所述反编译插件集合包括:OpenSSH插件、CydiaSubstrate插件、usbmuxd插件、dumpdecrypted插件、MTerminal插件及Clutch插件。
在其中一个实施例中,所述源码为双重加密的源码,所述当检测到应用程序启动时,根据预设的判断规则判断所述IOS操作系统是否安装有反编译插件之前,所述方法还包括:
采用预设的终端加密规则对所述应用程序的源码进行加密,得到加密后的源码;
采用预设的IOS操作系统加密规则对所述加密后的源码再次进行加密,得到所述双重加密的源码。
在其中一个实施例中,所述采用预设的终端加密规则对所述应用程序的源码进行加密,得到加密后的源码,包括:
采用预设的终端加密规则对所述应用程序的源码中的字符串、方法名、变量名和类名进行加密,得到所述加密后的源码。
在其中一个实施例中,所述预设的判断规则是预先存储的,或者是在所述应用程序启动时获取的。
第二方面,本发明实施例提供一种应用程序源码保护装置,所述装置应用于IOS操作系统,所述装置包括:
第一判断模块,用于当检测到应用程序启动时,根据预设的判断规则确定所述IOS操作系统是否安装有反编译插件;所述反编译插件用于反编译应用程序的源码;
操作模块,用于若所述IOS操作安装有所述反编译插件,则中断所述IOS操作系统将所述应用程序的源码加载入内存的操作。
第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当检测到应用程序启动时,根据预设的判断规则确定所述IOS操作系统是否安装有反编译插件;所述反编译插件用于反编译应用程序的源码;
若所述IOS操作系统安装有所述反编译插件,则中断所述IOS操作系统将所述应用程序的源码加载入内存的操作。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当检测到应用程序启动时,根据预设的判断规则确定所述IOS操作系统是否安装有反编译插件;所述反编译插件用于反编译应用程序的源码;
若所述IOS操作系统安装有所述反编译插件,则中断所述IOS操作系统将所述应用程序的源码加载入内存的操作。
上述实施例提供的应用程序源码保护方法、装置、计算机设备设备和存储介质中,当计算机设备检测到应用程序启动时,根据预设的判断规则判断IOS操作系统是否安装有反编译插件,其中,反编译插件用于反编译应用程序的源码,若IOS操作系统安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作。在该方法中当计算机设备检测到应用程序启动时,就会根据预设的判断规则判断IOS操作系统是否安装有反编译插件,若IOS操作系统安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作,由于IOS操作系统对应用程序的源码进行了加密,运行在IOS操作系统的应用程序在启动时,会首先对应用程序的的源码进行解密再加载到内存中,这样即使IOS操作系统越狱成功,只要应用程序的源码不被加载到内存中,应用程序源码的安全就会具备一定的保障,能够从根本上加强对应用程序的源码的安全防护;另外,计算机设备对IOS操作系统是否安装有反编译插件的判断,不仅可以适用于越狱设备同时也可以适用于未越狱设备,计算机设备只要检测应用程序启动,就根据预设的判断规则判断IOS操作系统是否安装有反编译插件,只要判断出IOS操作系统安装有反编译插件,就会中断IOS操作系统将应用程序的源码加载入内存的操作,从而不会泄露解密后的应用程序的源码,进而对应用程序的源码进行保护。
附图说明
图1为一个实施例提供的应用程序源码保护方法的流程示意图;
图2为另一个实施例提供的应用程序源码保护方法的流程示意图;
图3为另一个实施例提供的应用程序源码保护方法的流程示意图;
图4为另一个实施例提供的应用程序源码保护方法的流程示意图;
图5为另一个实施例提供的应用程序源码保护方法的流程示意图;
图6为另一个实施例提供的应用程序源码保护方法的流程示意图;
图7为一个实施例提供的应用程序源码保护装置结构示意图;
图8为一个实施例提供的应用程序源码保护装置结构示意图;
图9为一个实施例提供的计算机设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的应用程序源码保护方法,可以应用于安装有IOS操作系统的计算机设备中。该计算机设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,只要该计算机设备安装有IOS操作系统即可。
下面以具体的实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为一个实施例提供的应用程序源码保护方法的流程示意图。本实施例涉及的是计算机设备检测到应用程序启动时,根据预设的判断规则判断IOS操作系统是否安装有反编译插件,对应用程序的源码进行保护的具体实现过程。如图1所示,该方法可以包括:
S101,当检测到应用程序启动时,根据预设的判断规则确定IOS操作系统是否安装有反编译插件;反编译插件用于反编译应用程序的源码。
具体的,当计算机设备检测到IOS操作系统中的应用程序启动时,根据预设的判断规则判断IOS操作系统是否安装有用于反编译应用程序的源码。其中,应用程序是为了完成某项任务或某几项特定任务而被开发运行于IOS操作系统上的计算机程序;反编译是指通过对应用程序进行逆向研究、分析,得出应用程序的源码,将得出的源码直接用于自己的应用程序的过程,反编译插件是在IOS操作系统执行破解操作所必须的插件,如果要从IOS操作系统的内存中获取应用程序的源码,则反编译插件必不可少。可选的,计算机设备可以将IOS操作系统中安装的所有插件与已有的反编译插件进行对比,判断IOS操作系统是否安装有反编译插件。
S102,若IOS操作系统安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作。
具体的,若计算机设备根据预设的判断规则判断出IOS操作系统安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作。可选的,IOS操作系统可以安装有多个反编译插件,也可以只安装一个反编译插件,只要判断出IOS操作系统安装有反编译插件,计算机设备就中断IOS操作系统将应用程序的源码加载入内存的操作。可以理解的是,当计算机设备检测到IOS操作系统安装有反编译插件时,则中断IOS操作系统将应用程序的源码加载入内存的操作,这样即使IOS操作系统越狱成功,只要应用程序的源码不被加载到内存中,应用程序的源码的安全就会具备一定的保障,能够对应用程序的源码进行保护。
在本实施例中,当计算机设备检测到应用程序启动时,就会根据预设的判断规则判断IOS操作系统是否安装有反编译插件,若IOS操作系统安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作,由于IOS操作系统对应用程序的源码进行了加密,运行在IOS操作系统的应用程序在启动时,会首先对应用程序的的源码进行解密再加载到内存中,这样即使IOS操作系统越狱成功,只要应用程序的源码不被加载到内存中,应用程序源码的安全就会具备一定的保障,能够从根本上加强对应用程序的源码的安全防护;另外,计算机设备对IOS操作系统是否安装有反编译插件的判断,不仅可以适用于越狱设备同时也可以适用于未越狱设备,计算机设备只要检测应用程序启动,就根据预设的判断规则判断IOS操作系统是否安装有反编译插件,只要判断出IOS操作系统安装有反编译插件,就会中断IOS操作系统将应用程序的源码加载入内存的操作,从而不会泄露解密后的应用程序的源码,进而对应用程序的源码进行保护。
图2为另一个实施例提供的应用程序源码保护方法的流程示意图。图3为另一个实施例提供的应用程序源码保护方法的流程示意图。本实施例涉及的是计算机设备判断应用程序的签发证书与IOS操作系统的签发证书是否匹配对IOS操作系统的源码进行保护的具体实现过程。如图2所示,在上述实施例的基础上,作为一种可选的实施方式,上述方法还包括:
S201,若IOS操作系统未安装反编译插件,则判断应用程序的签发证书是否与IOS操作系统的签发证书匹配。
具体的,IOS操作系统的签发证书能够用来验证应用程序的完整性和合法性,在编写应用程序时会根据IOS操作系统的签发证书对应的生成所编写的应用程序的签发证书,如图3所示,若计算机设备确定得到IOS操作系统未安装上述反编译插件,则说明IOS操作系统安全,进一步地判断上述应用程序的签发证书与IOS操作系统的签发证书是否匹配。可选的,计算机设备可以通过判断应用程序的签发证书的ID与IOS操作系统的签发证书的ID是否一致,来判断应用程序的签发证书是否与IOS操作系统的签发证书匹配。
S202,若应用程序的签发证书与IOS操作系统的签发证书不匹配,则中断IOS操作系统将应用程序的源码加载入内存的操作。
具体的,如图3所示,若计算机设备判断得到应用程序的签发证书与IOS操作系统的签发证书不匹配,计算机设备将中断IOS操作系统将应用程序的源码加载入内存的操作。例如,应用程序的签发证书ID与IOS操作系统的签发证书ID不一致,则计算机设备确定应用程序的签发证书与IOS操作系统的签发证书不匹配,中断IOS操作系统将应用程序的源码加载入内存的操作。
在本实施例中,计算机设备判断出IOS操作系统未安装反编译插件后,还会判断应用程序的签发证书是否与IOS操作系统的签发证书匹配,若应用程序的签发证书与IOS操作系统的签发证书不匹配,则中断IOS操作系统将应用程序的源码加载入内存的操作,从而不会泄露解密后的应用程序的源码,在IOS操作系统未安装反编译插件的基础上,再判断应用程序的签发证书与IOS操作系统的签发证书是否匹配,进一步地提高了对应用程序源码的保护。
图4为另一个实施例提供的应用程序源码保护方法的流程示意图。在上述计算机设备检测到应用程序启动,根据预设的判断规则判断IOS操作系统是否安装有反编译插件的场景中,在上述实施例的基础上,作为一种可选的实施方式,上述预设的判断规则包括:判断IOS操作系统是否安装有预设的反编译插件集合中的至少一种反编译插件。
具体的,在上述计算机设备根据预设的判断规则判断IOS操作系统是否安装有反编译插件的场景中,如图4所示,预设的判断规则可以为判断IOS操作系统是否安装有预设的反编译插件集合中的至少一种反编译插件,也就是说,若IOS操作系统中安装有预设的反编译插件集合中的至少一种反编译插件时,计算机设备则确定IOS操作系统安装有反编译插件,IOS系统不安全。可选的,反编译插件集合包括:OpenSSH插件、CydiaSubstrate插件、usbmuxd插件、dumpdecrypted插件、MTerminal插件及Clutch插件。可选的,预设的判断规则是预先存储的,或者是在应用程序启动时获取的,也就是说,预设的判断规则可以预先存储在该计算机设备中,或者可以在应用程序启动时,该计算机设备从其他的服务器中获取上述预设的判断规则,通过其他的服务器预先存储预设的判断规则能够实时地更新该预设的判断规则,提高对预设的判断规则的更新效率。
在本实施例中,计算机设备根据预设的判断规则判断IOS操作系统是否安装有反编译插件的场景中,预设的判断规则包括判断IOS操作系统是否安装有预设的反编译插件集合中的至少一种反编译插件,这样只要IOS操作系统安装有预设的反编译插件集合中的至少一种反编译插件,则确定IOS操作系统安装有反编译插件,防止了有经验的破解人员会通过卸载在非必要的插件以规避风险的情况,提高了判断IOS操作系统是否安装有预设的反编译的准确度。
图5为另一个实施例提供的应用程序源码保护方法的流程示意图。图6为另一个实施例提供的应用程序源码保护方法的流程示意图。上述中断IOS操作系统将应用程序的源码加载入内存的操作的场景中,应用程序的源码为双重加密的源码。本实施例涉及的是计算机设备对应用程序的源码进行双重加密的具体实现过程。如图5所示,在上述实施例的基础上,作为一种可选的实施方式,上述S101之前,上述方法还包括:
S501,采用预设的终端加密规则对应用程序的源码进行加密,得到加密后的源码。
具体的,计算机设备采用预设的终端加密规则对应用程序的源码进行加密,得到加密后的源码。可选的,如图6所示,计算机设备可以采用预设的终端加密规则对应用程序的源码中的字符串、方法名、变量名和类名进行加密,得到加密后的源码,其中,加密后的源码为二进制的源码。可选的,预设的终端加密规则可以为根据预设的映射表或者随机生成的映射表将应用程序的源码中的字符串、方法名、变量名和类名通过映射表,生成加密后的字符串、方法名、变量名和类名。
S502,采用预设的IOS操作系统加密规则对加密后的源码再次进行加密,得到双重加密的源码。
具体的,计算机设备采用预设的IOS操作系统加密规则对上述加密后的源码再次进行加密,得到上述双重加密的源码。可选的,预设的IOS操作系统加密规则可以为将上述加密后的源码中的变量,实例,方法名等通过使用符号映射表为它们对应生成一个符号进行替换,得到双重加密的源码。需要说明的是,此处的符号映射表与上述预设的映射表或者随机生成的映射表并不相同,上述预设的映射表或者随机生成的映射表为终端对源码进行加密时的设定的映射表,而此处的映射表为IOS操作系统特有的映射表。需要说明的是,采用IOS操作系统加密规则对应用程序的源码进行加密是IOS系统对应用程序的特定处理操作。
在本实施例中,应用程序的源码为双重加密的源码,通过采用预设的终端加密规则对应用程序的源码进行加密,能够增加对源码的破解难度,更进一步地提高对应用程序源码的保护。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图7为一个实施例提供的应用程序源码保护装置结构示意图。该应用程序源码保护装置应用于IOS操作系统,如图4所示,该装置可以包括:第一判断模块10和操作模块11。
具体的,第一判断模块10,用于当检测到应用程序启动时,根据预设的判断规则确定IOS操作系统是否安装有反编译插件;反编译插件用于反编译应用程序的源码;
操作模块11,用于若IOS操作安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作。
可选的,预设的判断规则包括:判断IOS操作系统是否安装有预设的反编译插件集合中的至少一种反编译插件。
可选的,反编译插件集合包括:OpenSSH插件、CydiaSubstrate插件、usbmuxd插件、dumpdecrypted插件、MTerminal插件及Clutch插件。
可选的,预设的判断规则是预先存储的,或者是在应用程序启动时获取的。
本实施例提供的应用程序源码保护装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图8为一个实施例提供的应用程序源码保护装置结构示意图。如图5所示,在上述实施例的基础上,可选的,上述装置还包括:第二判断模块12和中断模块13。
具体的,第二判断模块12,用于若IOS操作系统未安装反编译插件,则判断应用程序的签发证书是否与IOS操作系统的签发证书匹配;
中断模块13,用于若应用程序的签发证书与IOS操作系统的签发证书不匹配,则中断IOS操作系统将应用程序的源码加载入内存的操作。
本实施例提供的应用程序源码保护装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
请继续参见图8,在上述实施例的基础上,可选的,如图5所示,上述装置还包括:第一加密模块14和第二加密模块15。
第一加密模块14,用于采用预设的终端加密规则对应用程序的源码进行加密,得到加密后的源码;
第二加密模块15,用于采用预设的IOS操作系统加密规则对加密后的源码再次进行加密,得到双重加密的源码。
可选的,第二加密模块15,具体用于采用预设的终端加密规则对应用程序的源码中的字符串、方法名、变量名和类名进行加密,得到加密后的源码。
本实施例提供的应用程序源码保护装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
关于应用程序源码保护装置的具体限定可以参见上文中对于应用程序源码保护方法的限定,在此不再赘述。上述应用程序源码保护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例提供的应用程序源码保护方法,可以适用于如图9所示的计算机设备,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序源码保护方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
当检测到应用程序启动时,根据预设的判断规则确定IOS操作系统是否安装有反编译插件;反编译插件用于反编译应用程序的源码;
若IOS操作系统安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作。
上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当检测到应用程序启动时,根据预设的判断规则确定IOS操作系统是否安装有反编译插件;反编译插件用于反编译应用程序的源码;
若IOS操作系统安装有反编译插件,则中断IOS操作系统将应用程序的源码加载入内存的操作。
上述实施例提供的可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序源码保护方法,其特征在于,所述方法应用于IOS操作系统,所述方法包括:
当检测到应用程序启动时,根据预设的判断规则确定所述IOS操作系统是否安装有反编译插件;所述反编译插件用于反编译应用程序的源码;
若所述IOS操作系统安装有所述反编译插件,则中断所述IOS操作系统将所述应用程序的源码加载入内存的操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述IOS操作系统未安装所述反编译插件,则判断所述应用程序的签发证书是否与所述IOS操作系统的签发证书匹配;
若所述应用程序的签发证书与所述IOS操作系统的签发证书不匹配,则中断所述IOS操作系统将所述应用程序的源码加载入内存的操作。
3.根据权利要求1所述的方法,其特征在于,所述预设的判断规则包括:
判断所述IOS操作系统是否安装有预设的反编译插件集合中的至少一种反编译插件。
4.根据权利要求3所述的方法,其特征在于,所述反编译插件集合包括:OpenSSH插件、CydiaSubstrate插件、usbmuxd插件、dumpdecrypted插件、MTerminal插件及Clutch插件。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述源码为双重加密的源码,所述当检测到应用程序启动时,根据预设的判断规则判断所述IOS操作系统是否安装有反编译插件之前,所述方法还包括:
采用预设的终端加密规则对所述应用程序的源码进行加密,得到加密后的源码;
采用预设的IOS操作系统加密规则对所述加密后的源码再次进行加密,得到所述双重加密的源码。
6.根据权利要求5所述的方法,其特征在于,所述采用预设的终端加密规则对所述应用程序的源码进行加密,得到加密后的源码,包括:
采用预设的终端加密规则对所述应用程序的源码中的字符串、方法名、变量名和类名进行加密,得到所述加密后的源码。
7.根据权利要求1所述的方法,其特征在于,所述预设的判断规则是预先存储的,或者是在所述应用程序启动时获取的。
8.一种应用程序源码保护装置,其特征在于,所述装置应用于IOS操作系统,所述装置包括:
第一判断模块,用于当检测到应用程序启动时,根据预设的判断规则确定所述IOS操作系统是否安装有反编译插件;所述反编译插件用于反编译应用程序的源码;
操作模块,用于若所述IOS操作安装有所述反编译插件,则中断所述IOS操作系统将所述应用程序的源码加载入内存的操作。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910698431.2A CN110619219B (zh) | 2019-07-31 | 2019-07-31 | 应用程序源码保护方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910698431.2A CN110619219B (zh) | 2019-07-31 | 2019-07-31 | 应用程序源码保护方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110619219A true CN110619219A (zh) | 2019-12-27 |
CN110619219B CN110619219B (zh) | 2021-08-24 |
Family
ID=68921400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910698431.2A Active CN110619219B (zh) | 2019-07-31 | 2019-07-31 | 应用程序源码保护方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110619219B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112784264A (zh) * | 2021-01-18 | 2021-05-11 | 北京洛塔信息技术有限公司 | 越狱状态检测方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205359A (zh) * | 2015-10-12 | 2015-12-30 | 厦门飞信网络科技有限公司 | 一种JavaScript代码保护方法及装置 |
WO2016107343A1 (zh) * | 2014-12-29 | 2016-07-07 | 北京奇虎科技有限公司 | 应用隐私安全信息的检测方法及装置 |
CN106845236A (zh) * | 2017-01-18 | 2017-06-13 | 东南大学 | 一种针对iOS平台的应用程序多维度隐私泄露检测方法及系统 |
CN107506648A (zh) * | 2017-08-07 | 2017-12-22 | 阿里巴巴集团控股有限公司 | 查找应用漏洞的方法、装置和系统 |
CN108629184A (zh) * | 2018-05-18 | 2018-10-09 | 北京智游网安科技有限公司 | 一种ios用的sdk安全检测方法 |
CN109194625A (zh) * | 2018-08-10 | 2019-01-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 |
-
2019
- 2019-07-31 CN CN201910698431.2A patent/CN110619219B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016107343A1 (zh) * | 2014-12-29 | 2016-07-07 | 北京奇虎科技有限公司 | 应用隐私安全信息的检测方法及装置 |
CN105205359A (zh) * | 2015-10-12 | 2015-12-30 | 厦门飞信网络科技有限公司 | 一种JavaScript代码保护方法及装置 |
CN106845236A (zh) * | 2017-01-18 | 2017-06-13 | 东南大学 | 一种针对iOS平台的应用程序多维度隐私泄露检测方法及系统 |
CN107506648A (zh) * | 2017-08-07 | 2017-12-22 | 阿里巴巴集团控股有限公司 | 查找应用漏洞的方法、装置和系统 |
CN108629184A (zh) * | 2018-05-18 | 2018-10-09 | 北京智游网安科技有限公司 | 一种ios用的sdk安全检测方法 |
CN109194625A (zh) * | 2018-08-10 | 2019-01-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
舒远仲 等: "一种ios APP安全评估方案", 《网络安全技术与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112784264A (zh) * | 2021-01-18 | 2021-05-11 | 北京洛塔信息技术有限公司 | 越狱状态检测方法、装置、设备及存储介质 |
CN112784264B (zh) * | 2021-01-18 | 2024-04-02 | 北京洛塔信息技术有限公司 | 越狱状态检测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110619219B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102157560B1 (ko) | 전자 디바이스의 무결성을 검증하기 위한 시스템 및 방법 | |
Cooijmans et al. | Analysis of secure key storage solutions on android | |
AU2012337403B2 (en) | Cryptographic system and methodology for securing software cryptography | |
CN108304698B (zh) | 产品授权使用方法、装置、计算机设备和存储介质 | |
US20160275019A1 (en) | Method and apparatus for protecting dynamic libraries | |
CN103514414A (zh) | 一种基于ARM TrustZone的加密方法及加密系统 | |
CN112257086B (zh) | 一种用户隐私数据保护方法及电子设备 | |
CN104008342A (zh) | 一种通过bios和内核实现安全可信认证的方法 | |
CN111984962A (zh) | 固件安全验证方法及装置 | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
CN108595950A (zh) | 一种结合远程认证的sgx安全增强方法 | |
JP6922329B2 (ja) | 故障利用攻撃に対しての耐タンパー性を持たせたセキュリティデバイス | |
CN103348355A (zh) | 用于管理安全状态转换的方法和设备 | |
CN110619219B (zh) | 应用程序源码保护方法、装置、计算机设备和存储介质 | |
CN111382425A (zh) | 多签名机制下的应用安装管理方法、智能终端及存储介质 | |
KR20170059447A (ko) | 신뢰가능 플랫폼 모듈에서의 운영 체제 컨텍스트 표현 기법 | |
EP3176723A1 (en) | Computer system and operating method therefor | |
KR20200063535A (ko) | 서버 및 이를 이용한 어플리케이션의 무결성 판단 방법 | |
DONG et al. | Sesoa: Security enhancement system with online authentication for android apk | |
CA2958986C (en) | System and method for protecting a device against attacks on processing flow using a code pointer complement | |
CN111639353A (zh) | 一种数据管理方法、装置、嵌入式设备及存储介质 | |
CN111125717A (zh) | 一种安全运行bios驱动程序的方法、装置、设备及介质 | |
CN110688663A (zh) | 一种执行命令保护方法、装置及安卓设备和存储介质 | |
EP3009952A1 (en) | System and method for protecting a device against attacks on procedure calls by encrypting arguments | |
CN102893288B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220323 Address after: 510660 Room 101, No. 227, Gaotang Road, Tianhe District, Guangzhou City, Guangdong Province (Location: Room 601) Patentee after: Yamei Zhilian Data Technology Co.,Ltd. Address before: 510665 Room 201, 1 Hanjing Road, Tianhe District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU YAME INFORMATION TECHNOLOGY Co.,Ltd. |