CN107967415A - 资源混淆保护方法、系统及终端装置 - Google Patents
资源混淆保护方法、系统及终端装置 Download PDFInfo
- Publication number
- CN107967415A CN107967415A CN201711306561.4A CN201711306561A CN107967415A CN 107967415 A CN107967415 A CN 107967415A CN 201711306561 A CN201711306561 A CN 201711306561A CN 107967415 A CN107967415 A CN 107967415A
- Authority
- CN
- China
- Prior art keywords
- identification document
- file
- resource
- obscure
- obscures
- 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 24
- 238000009434 installation Methods 0.000 title description 3
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 3
- 238000007630 basic procedure Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000002689 soil Substances 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种资源混淆保护方法系统及服务器,包括下述步骤:获取用户待执行保护指令;根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件;将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件。通过在工程项目文件中提取资源文件的原始身份文件,并根据预设的混淆规则对资源文件的身份文件进行修改,使他人在获取到工程项目文件后,无法根据资源文件中的身份文件快速确定出各资源文件的具体功能和所在位置,然后将各资源文件直接调用以在其设计的应用软件中实现相同功能。以此达到了保护应用软件工程项目文件被他人窃用的目的。
Description
技术领域
本发明实施例涉及源文件安全保护领域,尤其是一种资源混淆保护方法、系统及终端装置。
背景技术
伴随着网络经济时代的来临,企业财富中不仅包括实体财富(土地、产品和办公用品),更多公司的财富实际上转入无形的网络产品,即公司具有所有权或运营权的应用软件。应用软件主要是由代码编写而成计算机程序,因此,在现代环境下,构成应用软件的源代码是企业最重要的财富,应当加以保护。
现有技术中,构成应用软件的源代码及调用素材被打包或者封装在工程项目文件中,工程项目文件由若干个实现不同功能的资源文件组成,在进行编写时,为方便对资源文件进行辨识和定位,会为资源文件设定与其实现功能相关以及能够确定其在工程项目文件中具体位置的身份文件。现有技术中,在同一个操作系统上使用的不同应用软件,具有相同的编程语言和调用逻辑。因此,现有技术中,封装好的工程项目文件一旦被他人窃取或传播出去后,根据各资源文件的身份文件,他人能够直接识别和调用不同资源文件进行应用,导致企业财富流失,使企业失去核心竞争力。
发明内容
本发明实施例提供一种能够对工程项目中资源文件进行混淆加密的资源混淆保护方法、系统及服务器。
为解决上述技术问题,本发明创造的实施例采用的一个技术方案是:提供一种资源混淆保护方法,包括下述步骤:
获取用户待执行保护指令;
根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件;
将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件。
可选地,所述原始身份文件包括所述资源文件的原始文件名和原始ID;所述混淆身份文件包括所述原始文件名和原始ID经过所述混淆规则重命名后生成的混淆文件名和混淆ID。
可选地,所述根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件的步骤之前,还包括下述步骤:
获取预设混淆白名单;
将原始身份文件囊括在所述混淆白名单中的资源文件选定为保护文件,并禁止对所述保护文件的原始身份文件进行混淆。
可选地,所述将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件的步骤之后,还包括下述步骤:
以所述原始身份文件为正则表达式的正则因子,在所述资源文件中检索与所述正则因子相同的字符串;
根据所述映射文件将所述字符串替换为与所述原始身份文件具有对应关系的混淆身份文件。
可选地,所述将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件的步骤之后,还包括下述步骤:
以所述原始身份文件为正则表达式的正则因子,在所述工程项目文件中检索与所述正则因子相同的字符串;
根据所述映射文件将所述字符串替换为与所述原始身份文件具有对应关系的混淆身份文件。
可选地,所述混淆规则为:生成在所述工程项目文件中具有唯一性的字母组合。
可选地,所述根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件的步骤,具体包括下述步骤:
按预设组合规则依次生成待选字母组合;
以所述待选字母组合为检索条件在所述工程项目文件中进行检索,检测所述工程项目文件中是否有与所述待选字母组合相同的字符串;
当所述工程项目文件中未检索到与所述待选字母组合相同的字符串时,选定所述待选字母组合为混淆身份文件。
为解决上述技术问题,本发明实施例还提供一种资源混淆保护系统,包括下述步骤:
获取模块,用于获取用户待执行保护指令;
执行模块,用于根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件;
生成模块,用于将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件。
可选地,所述原始身份文件包括所述资源文件的原始文件名和原始ID;所述混淆身份文件包括所述原始文件名和原始ID经过所述混淆规则重命名后生成的混淆文件名和混淆ID。
可选地,所述资源混淆保护系统还包括:
第一获取子模块,用于获取预设混淆白名单;
第一执行子模块,用于将原始身份文件囊括在所述混淆白名单中的资源文件选定为保护文件,并禁止对所述保护文件的原始身份文件进行混淆。
可选地,所述资源混淆保护系统还包括:
第一检索子模块,用于以所述原始身份文件为正则表达式的正则因子,在所述资源文件中检索与所述正则因子相同的字符串;
第一替换子模块,用于根据所述映射文件将所述字符串替换为与所述原始身份文件具有对应关系的混淆身份文件。
可选地,所述资源混淆保护系统还包括:
第二检索子模块,用于以所述原始身份文件为正则表达式的正则因子,在所述工程项目文件中检索与所述正则因子相同的字符串;
第二替换子模块,用于根据所述映射文件将所述字符串替换为与所述原始身份文件具有对应关系的混淆身份文件。
可选地,所述混淆规则为:生成在所述工程项目文件中具有唯一性的字母组合。
可选地,所述资源混淆保护系统还包括:
第一生成子模块,用于按预设组合规则依次生成待选字母组合;
第三检索子模块,用于以所述待选字母组合为检索条件在所述工程项目文件中进行检索,检测所述工程项目文件中是否有与所述待选字母组合相同的字符串;
第二生成子模块,用于当所述工程项目文件中未检索到与所述待选字母组合相同的字符串时,选定所述待选字母组合为混淆身份文件。
为解决上述技术问题,本发明实施例还提供一种服务器,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述所述的资源混淆保护方法。
本发明实施例的有益效果是:通过在工程项目文件中提取资源文件的原始身份文件,并根据预设的混淆规则对资源文件的身份文件进行修改,使他人在获取到工程项目文件后,无法根据资源文件中的身份文件快速确定出各资源文件的具体功能和所在位置,然后将各资源文件直接调用以在其设计的应用软件中实现相同功能。以此达到了保护应用软件工程项目文件被他人窃用的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例资源混淆保护方法基本流程示意图;
图2为本发明实施例选定保护文件的流程示意图;
图3为本发明实施例修改资源文件中对应字符串的流程示意图;
图4为本发明实施例修改共享项目文件中对应字符串的流程示意图;
图5为本发明实施例检测身份信息唯一性的一种实施方式;
图6为本发明实施例资源混淆保护系统基本结构框图;
图7为本发明实施例服务器基本结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
请参阅图1,图1为本实施例资源混淆保护方法基本流程示意图。
如图1所示,一种资源混淆保护方法,包括下述步骤:
S1100、获取用户待执行保护指令;
保护指令的获取能够根据用户主动通过终端外设设备(鼠标或键盘)发出,服务器端在接受用户发出的指令后,接受保护指令并调用进程执行该指令。
但保护指令的获取不局限于此,根据具体应用场景的不同,在一些实施方式中,保护指令被设置为自动触发,当触发条件达成时,终端自动转入执行程序。例如,在一些实施方式中,保护指令的触发条件为:当服务器端在执行对工程项目文件进行打包任务时,首先执行对项目工程文件的源混淆保护任务。
S1200、根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件;
工程项目文件为实现应用软件整体功能或某个模块功能的源代码及调用素材的集合。具体地,工程项目文件由若干个实现不同功能的资源文件组成。在进行编写时为方便对不同资源文件进行定位与搜索,会对资源文件的身份文件进行设置。身份文件包括:资源文件的文件名和资源ID。其中文件名为该资源文件的一级文件夹的名称,在编译时为方便查询和识别,会为该资源文件设定行业通用名称或便于识别的能够表征该资源文件功能的人性化名称。
资源ID是为了方便记忆和书写的一个宏定义,该ID实际指向一个数值,该数值代表的是资源中的对象的关联项。也可以说这个数值就代表资源中对应的对象。
资源ID一般会和RC脚本关联在一起使用,具体作用会和不同的资源文件类型同,有所不同。比如是位图对象的资源ID,那么你可以通过该ID获取到位图的实际数据或相应的流信息。如果是菜单对象,那么其ID对应的就是,菜单相关的内容,可以通过该ID来加载菜单。等等
资源文件为字符串资源,则资源ID的作用很简单,就是利用一个数字指向资源中的一个实际字符串。其应用最多的情况可能就是多语言的项目中,可以为不同的语言定义不同的字串,既不需要修改代码,直接替换资源就能实现多语种应用的实现。
资源文件在编译时被赋予的文件名和ID为该资源文件的原始身份文件。在获取资源文件的原始身份文件后,需要通过预设的混淆规则对原始身份文件进行混淆处理。
混淆处理具体是指通过重命名的方式对资源文件的文件名和ID进行处理,将资源文件的文件名和ID替换为简单的字母组合。
混淆规则则是生成新的文件名和ID的方法,在本实施方式中,能够通过随机生成规定长度的字母组合、随机生成不定长度的字母组合或按排列组合的方式产生长度递增的字母组合的方式,产生新的文件名和ID。
但混淆处理所得到文件名不局限于此,根据应用场景的不同,混淆规则形成的新的文件名和ID能够是(不限于)数字组合、数字和字母的混合组合或常用图形组合。本实施方式中,字母不局限于常用英文字母,根据应用场景的不同,字母能够为世界文字体系中具有字母文字的任意一种文字体系。
将根据预设混淆规则生成的新的文件名和ID替换原始的文件名和ID完成混淆。新的文件名和ID为该资源文件的混淆身份文件。
S1300、将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件。
在进行原始身份文件的替换时,记录原始身份文件和修改后混淆身份文件,由于原始身份文件和修改后混淆身份文件中,文件名的修改和ID的修改均具有一一对应的关系。则修改时将这种一一对应的关系加以记录形成映射文件。以方便用户对混淆规则进行还原和回溯。
映射文件实际为MAP文件。MAP文件是CCS软件编译后产生的有关DSP(数字信号处理)用到所有程序、数据及IO空间的一种映射文件。MAP文件大概分为文件头、内存配置、段映射、全局符号四部分。内存配置与CMD文件中的MEMORY(记忆)指令关联,在CMD文件中定义的程序与数据区间定义,在该部分均可以找到对应,与CMD文件不同的时,在MAP文件中加入了一个实际使用的区间,即在程序中实际用到的空间长度。段映射部分与CMD文件中的SECTION(区段)指令关联,在该部分程序中所有的段实际映射的起始地址与实际长度均有详细说明。可以具体到程序中PROGMA(预处理指令)指定的段和各个单独文件产生的OBJ(工程项目)文件。全局符号可以是程序使用的每一个函数、程序中定义的全局变量均可以在此找到对应的起始地址。MAP文件中采用两种方式列举,一种为按相应地址排列,另一种按全局符号字母排列。
上述实施方式通过在工程项目文件中提取资源文件的原始身份文件,并根据预设的混淆规则对资源文件的身份文件进行修改,使他人在获取到工程项目文件后,无法根据资源文件中的身份文件快速确定出各资源文件的具体功能和所在位置,然后将各资源文件直接调用以在其设计的应用软件中实现相同功能。以此达到了保护应用软件工程项目文件被他人窃用的目的。
在一些实施方式中,工程项目文件指定一些包名、类名、变量、资源文件的文件名和资源文件ID等不可以被混淆。因此,需要在进行混淆之前确定需要保护的资源文件。请参阅图2,图2为本实施例选定保护文件的流程示意图。
如图2所示,步骤S1200之前还包括下述步骤:
S1111、获取预设混淆白名单;
混淆白名单根据用户配置产生,配置时用户将需要进行保护的包名、类名、变量、资源文件的文件名和资源文件ID等不可以被混淆的信息加以记录就形成了混淆白名单。
在一些实施方式中,混淆白名单能够向资源服务器请求获取,在一些领域中,会根据行业公示形成通用混淆白名单,向相应的资源服务器发送获取请求,根据相应数据就能够下载该混淆报名单。
S1112、将原始身份文件囊括在所述混淆白名单中的资源文件选定为保护文件,并禁止对所述保护文件的原始身份文件进行混淆。
获取混淆白名单后,通过比对资源文件的原始身份文件是否在混淆白名单内,就能够确定工程项目文件中的是否存在需要保护的文件,当确定工程项目文件中存在混淆白名单中需要进行保护的资源文件后,将该资源文件标记为保护文件。被划归为保护文件后,进行混淆时,该资源文件的原始身份文件被禁止修改。
混淆白名单的应用有效地防止了某些禁止被修改的资源文件被修改,而使该资源无法被准确定位,导致的崩溃或是导致相应的功能无法使用。
在一些实施方式中,资源文件的具体代码字符串中需要根据资源文件名和ID调用该资源文件,因此,对资源文件的身份信息进行修改后,需要对代码中相应的调用位置处的字符串也进行相应修改。具体请参阅图3,图3为本实施例修改资源文件中对应字符串的流程示意图。
如图3所述,步骤S1300之后包括下述步骤:
S1311、以所述原始身份文件为正则表达式的正则因子,在所述资源文件中检索与所述正则因子相同的字符串;
正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
正则因子则为定义好的一些特定字符、及这些特定字符的组合,本实施方式中将原始身份文件作为正则因子。
以原始身份文件为正则表达式的正则因子并在对应的资源文件中搜索,与原始身份文件相同的字符串,该字符串则为需要进行对应修改的位置。
S1312、根据所述映射文件将所述字符串替换为与所述原始身份文件具有对应关系的混淆身份文件。
在资源文件中检索到与原始身份文件相同的字符串后,调用映射文件并获取原始身份文件对应的混淆身份文件,然后采用混淆身份文件中的内容替换与原始身份文件相同的字符串。
通过对资源文件中与身份文件相同的字符串进行对应修改,解决修改原始身份文件造成的资源文件身份文件不统一造成的崩溃。
在一些实施方式中,进行混淆的资源文件在整个工程项目文件中被其他资源文件进行调用。因此,需要在工程项目文件中对资源文件的身份信息进行全局修改替换。具体请参阅图4,图4为本实施例修改共享项目文件中对应字符串的流程示意图。
如图4所示,步骤S1300之后包括下述步骤:
S1321、以所述原始身份文件为正则表达式的正则因子,在所述工程项目文件中检索与所述正则因子相同的字符串;
正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
正则因子则为定义好的一些特定字符、及这些特定字符的组合,本实施方式中将原始身份文件作为正则因子。
以原始身份文件为正则表达式的正则因子并在工程项目文件中搜索,与原始身份文件相同的字符串,该字符串则为需要进行对应修改的位置。
S1322、根据所述映射文件将所述字符串替换为与所述原始身份文件具有对应关系的混淆身份文件。
在工程项目文件中检索到与原始身份文件相同的字符串后,调用映射文件并获取原始身份文件对应的混淆身份文件,然后采用混淆身份文件中的内容替换与原始身份文件相同的字符串。
通过对工程项目文件中与身份文件相同的字符串进行对应修改,解决修改原始身份文件造成的工程项目文件身份文件不统一造成的崩溃,保证了工程项目文件能够正常使用。
在一些实施方式中,构成工程项目文件的资源文件若干个,进行混淆时需要保证每个资源文件混淆后的混淆身份文件在整个工程项目文件中具有唯一性,以防止身份文件重复后造成的应用及调用结果混乱导致的系统崩溃和bug。具体请参阅图5,图5为本实施例检测身份信息唯一性的一种实施方式。
如图5所示,步骤S1200具体包括下述步骤:
S1211、按预设组合规则依次生成待选字母组合;
组合规则是生成新的文件名和ID的方法,在本实施方式中,能够通过随机生成规定长度的字母组合、随机生成不定长度的字母组合或按排列组合的方式产生长度递增的字母组合的方式,产生新的文件名和ID。
在一些实施方式中,通过采用单字母逐渐增加到多字母组合的递增组合方式,根据工程项目文件中资源文件数量的个数,字母先通过单字母增加至双字母组合、三字母组合、四字母组合……。本实施方式中,采用随机抽取字母然后使用排列组合的方式进行字母组合。例如,在26个英文字母中抽取:X、Y、Q和L四个字母,则产生个排列的字母组合。
S1212、以所述待选字母组合为检索条件在所述工程项目文件中进行检索,检测所述工程项目文件中是否有与所述待选字母组合相同的字符串;
生成待选字母组合后,以待选字母组合为检索条件在工程项目文件中进行检索,检索的内容包括:各资源文件的文件名、ID和字符串等,即保证该待选字母组合在工程项目文件中具有唯一性。当上述资源文件的文件名、ID和字符串任意一个中包括了选字母组合,则该字母组合不能够作为资源文件混淆后的混淆身份文件。
S1213、当所述工程项目文件中未检索到与所述待选字母组合相同的字符串时,选定所述待选字母组合为混淆身份文件。
进过检索确认工程项目文件中未检索到与待选字母组合相同的字符串时,选定待选字母组合为混淆身份文件。当上述资源文件的文件名、ID和字符串任意一个中包括了选字母组合,则该字母组合不能够作为资源文件混淆后的混淆身份文件,并将该待选字母组合进行删除,生成下一组待选字母组合然后转至步骤S1211,如此反复循环,直至生成的待选字母组合在工程项目文件中未检索到时,对下一个资源文件的身份文件进行混淆,至所有能够修改的资源文件被混淆后结束。
通过对产生的字母组合在工程项目文件中的唯一性进行检测,能够有效地防止身份文件重复后造成的应用及调用结果混乱导致的系统崩溃和bug。
为解决上述技术问题,本发明实施例还提供一种资源混淆保护系统。具体请参阅图6,图6为本实施例资源混淆保护系统基本结构框图。
如图6所示,一种资源混淆保护系统,包括:获取模块2100、执行模块2200和生成模块2300。其中,获取模块2100用于获取用户待执行保护指令;执行模块2200用于根据保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对原始身份文件进行重命名生成混淆身份文件;生成模块2300用于将原始身份文件名与混淆身份文件建立映射关系并生成映射文件。
资源混淆保护系统通过在工程项目文件中提取资源文件的原始身份文件,并根据预设的混淆规则对资源文件的身份文件进行修改,使他人在获取到工程项目文件后,无法根据资源文件中的身份文件快速确定出各资源文件的具体功能和所在位置,然后将各资源文件直接调用以在其设计的应用软件中实现相同功能。以此达到了保护应用软件工程项目文件被他人窃用的目的。
在一些实施方式中,原始身份文件包括资源文件的原始文件名和原始ID;混淆身份文件包括原始文件名和原始ID经过混淆规则重命名后生成的混淆文件名和混淆ID。
在一些实施方式中,资源混淆保护系统还包括:第一获取子模块和第一执行子模块。其中,第一获取子模块用于获取预设混淆白名单;第一执行子模块用于将原始身份文件囊括在混淆白名单中的资源文件选定为保护文件,并禁止对保护文件的原始身份文件进行混淆。
在一些实施方式中,资源混淆保护系统还包括:第一检索子模块和第一替换子模块。其中,第一检索子模块用于以原始身份文件为正则表达式的正则因子,在资源文件中检索与正则因子相同的字符串;第一替换子模块用于根据映射文件将字符串替换为与原始身份文件具有对应关系的混淆身份文件。
在一些实施方式中,资源混淆保护系统还包括:第二检索子模块和第二替换子模块。其中,第二检索子模块用于以原始身份文件为正则表达式的正则因子,在工程项目文件中检索与正则因子相同的字符串;第二替换子模块用于根据映射文件将字符串替换为与原始身份文件具有对应关系的混淆身份文件。
在一些实施方式中,混淆规则为:生成在工程项目文件中具有唯一性的字母组合。
在一些实施方式中,资源混淆保护系统还包括:第一生成子模块、第三检索子模块和第二生成子模块。其中,第一生成子模块用于按预设组合规则依次生成待选字母组合;第三检索子模块用于以待选字母组合为检索条件在工程项目文件中进行检索,检测工程项目文件中是否有与待选字母组合相同的字符串;第二生成子模块用于当工程项目文件中未检索到与待选字母组合相同的字符串时,选定待选字母组合为混淆身份文件。
本实施例还提供一种智能移动终端。具体请参阅图7,图7为本实施例服务器基本结构示意图。
如图7所示,一种服务器,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器3120中并被配置为由一个或多个处理器3110执行,一个或多个程序配置用于执行:
获取用户待执行保护指令;
根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件;
将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件。
服务器通过在工程项目文件中提取资源文件的原始身份文件,并根据预设的混淆规则对资源文件的身份文件进行修改,使他人在获取到工程项目文件后,无法根据资源文件中的身份文件快速确定出各资源文件的具体功能和所在位置,然后将各资源文件直接调用以在其设计的应用软件中实现相同功能。以此达到了保护应用软件工程项目文件被他人窃用的目的。
需要指出的是本实施列中,服务器的存储器3120内存储用于实现本实施例中资源混淆保护方法中的所有程序,处理器3110能够调用该存储器3120内的程序,执行上述资源混淆保护方法所列举的所有功能。由于服务器实现的功能在本实施例中的资源混淆保护方法进行了详述,在此不再进行赘述。
需要说明的是,本发明的说明书及其附图中给出了本发明的较佳的实施例,但是,本发明可以通过许多不同的形式来实现,并不限于本说明书所描述的实施例,这些实施例不作为对本发明内容的额外限制,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。并且,上述各技术特征继续相互组合,形成未在上面列举的各种实施例,均视为本发明说明书记载的范围;进一步地,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种资源混淆保护方法,其特征在于,包括下述步骤:
获取用户待执行保护指令;
根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件;
将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件。
2.根据权利要求1所述的资源混淆保护方法,其特征在于,所述原始身份文件包括所述资源文件的原始文件名和原始ID;所述混淆身份文件包括所述原始文件名和原始ID经过所述混淆规则重命名后生成的混淆文件名和混淆ID。
3.根据权利要求2所述的资源混淆保护方法,其特征在于,所述根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件的步骤之前,还包括下述步骤:
获取预设混淆白名单;
将原始身份文件囊括在所述混淆白名单中的资源文件选定为保护文件,并禁止对所述保护文件的原始身份文件进行混淆。
4.根据权利要求1所述的资源混淆保护方法,其特征在于,所述将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件的步骤之后,还包括下述步骤:
以所述原始身份文件为正则表达式的正则因子,在所述资源文件中检索与所述正则因子相同的字符串;
根据所述映射文件将所述字符串替换为与所述原始身份文件具有对应关系的混淆身份文件。
5.根据权利要求1所述的资源混淆保护方法,其特征在于,所述将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件的步骤之后,还包括下述步骤:
以所述原始身份文件为正则表达式的正则因子,在所述工程项目文件中检索与所述正则因子相同的字符串;
根据所述映射文件将所述字符串替换为与所述原始身份文件具有对应关系的混淆身份文件。
6.根据权利要求1-5任意一项所述的资源混淆保护方法,其特征在于,所述混淆规则为:生成在所述工程项目文件中具有唯一性的字母组合。
7.根据权利要求6所述的资源混淆保护方法,其特征在于,所述根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件的步骤,具体包括下述步骤:
按预设组合规则依次生成待选字母组合;
以所述待选字母组合为检索条件在所述工程项目文件中进行检索,检测所述工程项目文件中是否有与所述待选字母组合相同的字符串;
当所述工程项目文件中未检索到与所述待选字母组合相同的字符串时,选定所述待选字母组合为混淆身份文件。
8.一种资源混淆保护系统,其特征在于,包括:
获取模块,用于获取用户待执行保护指令;
执行模块,用于根据所述保护指令获取工程项目文件中资源文件的原始身份文件,并根据预设混淆规则对所述原始身份文件进行重命名生成混淆身份文件;
生成模块,用于将所述原始身份文件名与所述混淆身份文件建立映射关系并生成映射文件。
9.根据权利要求8所述的资源混淆保护系统,其特征在于,所述原始身份文件包括所述资源文件的原始文件名和原始ID;所述混淆身份文件包括所述原始文件名和原始ID经过所述混淆规则重命名后生成的混淆文件名和混淆ID。
10.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-7任意一项所述的资源混淆保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711306561.4A CN107967415B (zh) | 2017-12-11 | 2017-12-11 | 资源混淆保护方法、系统及终端装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711306561.4A CN107967415B (zh) | 2017-12-11 | 2017-12-11 | 资源混淆保护方法、系统及终端装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107967415A true CN107967415A (zh) | 2018-04-27 |
CN107967415B CN107967415B (zh) | 2021-09-17 |
Family
ID=61998541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711306561.4A Active CN107967415B (zh) | 2017-12-11 | 2017-12-11 | 资源混淆保护方法、系统及终端装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107967415B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618967A (zh) * | 2019-06-13 | 2019-12-27 | 北京无限光场科技有限公司 | 应用程序运行方法、安装包生成方法、装置、设备及介质 |
CN110781462A (zh) * | 2019-10-10 | 2020-02-11 | 郑州阿帕斯科技有限公司 | 一种资源的混淆方法和装置 |
CN111428209A (zh) * | 2019-01-10 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种应用程序的混淆方法、装置及存储介质 |
CN111984595A (zh) * | 2019-05-21 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 一种文件处理方法及装置、存储介质 |
CN112528342A (zh) * | 2020-12-29 | 2021-03-19 | 内蒙古工业大学 | 一种基于编译中间结果的软件保护方法 |
CN113010364A (zh) * | 2019-12-20 | 2021-06-22 | 北京奇艺世纪科技有限公司 | 一种业务数据获取方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200278A (zh) * | 2013-04-25 | 2013-07-10 | 网宿科技股份有限公司 | 源站文件更新发布方法及缓存文件更新方法 |
US8631423B1 (en) * | 2011-10-04 | 2014-01-14 | Symantec Corporation | Translating input/output calls in a mixed virtualization environment |
CN103902857A (zh) * | 2012-12-25 | 2014-07-02 | 深圳市腾讯计算机系统有限公司 | 一种软件程序的保护方法和装置 |
US20150205626A1 (en) * | 2011-05-12 | 2015-07-23 | Microsoft Technology Licensing, Llc | Emulating mixed-code programs using a virtual machine instance |
CN105474166A (zh) * | 2013-03-15 | 2016-04-06 | 先进元素科技公司 | 用于有目的计算的方法和系统 |
CN106326744A (zh) * | 2016-08-18 | 2017-01-11 | 广州视睿电子科技有限公司 | 一种判断混淆文件的方法和装置 |
CN106845171A (zh) * | 2017-01-20 | 2017-06-13 | 暨南大学 | 一种Android应用程序代码保护机制鉴别方法 |
CN106933610A (zh) * | 2015-12-30 | 2017-07-07 | 北京金山安全软件有限公司 | 一种应用程序安装包生成方法、装置及电子设备 |
-
2017
- 2017-12-11 CN CN201711306561.4A patent/CN107967415B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150205626A1 (en) * | 2011-05-12 | 2015-07-23 | Microsoft Technology Licensing, Llc | Emulating mixed-code programs using a virtual machine instance |
US8631423B1 (en) * | 2011-10-04 | 2014-01-14 | Symantec Corporation | Translating input/output calls in a mixed virtualization environment |
CN103902857A (zh) * | 2012-12-25 | 2014-07-02 | 深圳市腾讯计算机系统有限公司 | 一种软件程序的保护方法和装置 |
CN105474166A (zh) * | 2013-03-15 | 2016-04-06 | 先进元素科技公司 | 用于有目的计算的方法和系统 |
CN103200278A (zh) * | 2013-04-25 | 2013-07-10 | 网宿科技股份有限公司 | 源站文件更新发布方法及缓存文件更新方法 |
CN106933610A (zh) * | 2015-12-30 | 2017-07-07 | 北京金山安全软件有限公司 | 一种应用程序安装包生成方法、装置及电子设备 |
CN106326744A (zh) * | 2016-08-18 | 2017-01-11 | 广州视睿电子科技有限公司 | 一种判断混淆文件的方法和装置 |
CN106845171A (zh) * | 2017-01-20 | 2017-06-13 | 暨南大学 | 一种Android应用程序代码保护机制鉴别方法 |
Non-Patent Citations (1)
Title |
---|
丁岩等: "基于URL混淆技术识别的钓鱼网页检测方法", 《计算机工程与应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428209A (zh) * | 2019-01-10 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种应用程序的混淆方法、装置及存储介质 |
CN111428209B (zh) * | 2019-01-10 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种应用程序的混淆方法、装置及存储介质 |
CN111984595A (zh) * | 2019-05-21 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 一种文件处理方法及装置、存储介质 |
CN111984595B (zh) * | 2019-05-21 | 2023-09-01 | 北京京东尚科信息技术有限公司 | 一种文件处理方法及装置、存储介质 |
CN110618967A (zh) * | 2019-06-13 | 2019-12-27 | 北京无限光场科技有限公司 | 应用程序运行方法、安装包生成方法、装置、设备及介质 |
CN110618967B (zh) * | 2019-06-13 | 2022-07-15 | 北京无限光场科技有限公司 | 应用程序运行方法、安装包生成方法、装置、设备及介质 |
CN110781462A (zh) * | 2019-10-10 | 2020-02-11 | 郑州阿帕斯科技有限公司 | 一种资源的混淆方法和装置 |
CN113010364A (zh) * | 2019-12-20 | 2021-06-22 | 北京奇艺世纪科技有限公司 | 一种业务数据获取方法、装置及电子设备 |
CN113010364B (zh) * | 2019-12-20 | 2023-08-01 | 北京奇艺世纪科技有限公司 | 一种业务数据获取方法、装置及电子设备 |
CN112528342A (zh) * | 2020-12-29 | 2021-03-19 | 内蒙古工业大学 | 一种基于编译中间结果的软件保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107967415B (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107967415A (zh) | 资源混淆保护方法、系统及终端装置 | |
Yakura et al. | Malware analysis of imaged binary samples by convolutional neural network with attention mechanism | |
CN110447035B (zh) | 结构化用户数据文件中用户内容模糊 | |
CN110506271B (zh) | 针对隐私敏感用户内容的可配置注释 | |
CN106845171B (zh) | 一种Android应用程序代码保护机制鉴别方法 | |
CN108537012B (zh) | 基于变量和代码执行顺序的源代码混淆方法及装置 | |
US20190362102A1 (en) | Techniques for masking electronic data | |
CN110781462B (zh) | 一种资源的混淆方法和装置 | |
CN108229158A (zh) | 一种Android中存储的用户隐私信息的保护方法 | |
CN102867049B (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
CN107861949A (zh) | 文本关键词的提取方法、装置及电子设备 | |
KR102302484B1 (ko) | 특성 선택에 기반한 모바일 악성 코드 분류 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN105653949A (zh) | 一种恶意程序检测方法及装置 | |
CN104407803A (zh) | 基于笔迹识别的屏幕解锁方法、装置和电子设备 | |
CN106780280B (zh) | 数字水印加密方法及装置 | |
CN108694042A (zh) | 网页中的JavaScript代码解混淆方法 | |
CN110019649A (zh) | 一种建立、搜索索引树的方法及装置 | |
Xu et al. | Manis: Evading malware detection system on graph structure | |
O'Neill | Learning linux binary analysis | |
CN106020923A (zh) | SELinux策略的编译方法及系统 | |
CN104615935B (zh) | 一种面向Xen虚拟化平台的隐藏方法 | |
CN104765986B (zh) | 一种基于隐写术的代码保护及还原方法 | |
US9613019B2 (en) | Techniques for automatically generating test data | |
CN114090965B (zh) | java代码混淆方法、系统、计算机设备及存储介质 | |
CN109492430A (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 |