CN110472425A - 基于Mono的Unity插件加密方法、存储介质 - Google Patents
基于Mono的Unity插件加密方法、存储介质 Download PDFInfo
- Publication number
- CN110472425A CN110472425A CN201910649077.4A CN201910649077A CN110472425A CN 110472425 A CN110472425 A CN 110472425A CN 201910649077 A CN201910649077 A CN 201910649077A CN 110472425 A CN110472425 A CN 110472425A
- Authority
- CN
- China
- Prior art keywords
- file
- mono
- plug
- data block
- unit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于Mono的Unity插件加密方法、存储介质,方法包括:对插件Dll文件的指令数据块和常量字符串数据块进行加密;在Mono文件中的载入插件Dll文件函数内增加对所述加密的解密函数的调用,得到编译后的Mono文件;对所述编译后的Mono文件进行加壳;将Unity编辑器中的Mono文件替换为加壳后的编译后的Mono文件,且屏蔽Unity编辑器的检查文件。本发明能够使逆向工程无法自动还原出插件Dll文件的源码,从而确保共享插件Dll的安全;而且确保插件能正确加载和执行;进一步地,还具备较高的加密效率和广泛的运用范围。
Description
技术领域
本发明涉及Unity领域,具体涉及基于Mono的Unity插件加密方法、存储介质。
背景技术
目前,在Unity二次开发人员与其他协作部门,如美术、策划、任务等部门进行协作开发时,开发人员需要提供Unity插件给相关协作人员。协作人员获取到插件后,在Unity编辑器内载入插件,进行使用;而插件一般由C#语言编写,被Mono或者.Net编译器编译成Dll文件。由于Dll文件容易被逆向工程直接查看源代码,因此具有代码泄漏的风险。
外界虽然有Unity加固应用包的方案,但是并不适用于运行在Unity编辑器里的Dll插件加密,也不适用在部门协作中这一具体应用场景。
现有技术可参考的方案,在实际项目实践中发现存在以下缺点:
1、采用全文加密,会使Unity编辑器加载插件Dll文件时,Dll文件被认作非托管Dll而跳过Mono的载入和解析过程,导致加密方案失效。
2、采用删除或者加密Dll特征值,则会使Unity编辑器加载插件Dll文件时,先行载入未解密的Dll导入表,导致无法载入关联的Dll,进而Unity编辑器程序崩溃。
因此,有必要提供一种基于Mono的Unity插件加密方法、存储介质,以实现对Unity插件的应用包进行保护。
另外,申请号为CN201711260537.1,公开的《一种安卓应用的加固方法和装置》,其涉及对安卓应用的加固,与本申请的加密方式类似,但是至少存在以下本质区别:1、其只能适用于安卓平台,而无法适用于Unity的windows操作系统平台;2、并且,其申明的so文件为libmono.so;而本申请提供的方法为Mono.dll以及支持MonoBleedingEdge的mono-2.0-bdwgc.dll和mono-2.0-sgen.dll;3、其加密方式为对各个函数进行指令变换;而本申请无需去查找各个函数,而是直接找到指令数据块进行加密,速度更快,更高效;4、所述dll文件为Assembly-CSharp.dll文件;本申请的DLL文件为C#编译生成的Dll文件,本申请的适应范围更广;5、其替换的libmono.so是在应用包打包完成后,进行加固操作时进行替换;而本申请替换的是unity编辑器里的,是开发状态的时候进行加固,在打包之前;6、其修改了用于安装到手机上的APK包;而本申请修改了WINDOWS电脑里美术、策划里安装的UNITY编辑器。
发明内容
本发明所要解决的技术问题是:针对windows平台提供一种基于Mono的Unity插件加密方法、存储介质,且加密效率高。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于Mono的Unity插件加密方法,包括:
对插件Dll文件的指令数据块和常量字符串数据块进行加密;
在Mono文件中的载入插件Dll文件函数内增加对所述加密的解密函数的调用,得到编译后的Mono文件;对所述编译后的Mono文件进行加壳;
将Unity编辑器中的Mono文件替换为加壳后的编译后的Mono文件,且屏蔽Unity编辑器的检查文件。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述基于Mono的Unity插件加密方法所包含的步骤。
本发明的有益效果在于:本发明通过对插件Dll文件的指令数据块和常量字符串数据块进行加密,使逆向工程无法自动还原出源码,从而起到保护插件Dll文件安全的作用,且具有加密效率更高的特点;同时,还对Mono文件进行编译,通过增加自动解密函数,并确保其安全,以及替换原Mono文件和屏蔽检查,确保插件能正确加载和执行。本发明能够很好的运用在Unity项目中的部门间协作开发中,在共享插件时,有效抵御各类逆向应用的静态分析和还原源码,预防人事变动或其他原因引起的代码泄漏风险,保证共享插件Dll文件的安全。
附图说明
图1为本发明实施例一种基于Mono的Unity插件加密方法的流程示意图;
图2为本发明实施例一和实施例二的基于Mono的Unity插件加密方法的分步骤流程示意图;
图3为本发明实施例二中在插件Dll文件加密过程中的修改示意图;
图4为本发明实施例二中插件Dll文件加密前后在逆向应用中的分析结果对比图;
图5为本发明实施例三中部门间协作流程示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:对插件Dll文件的指令数据块和常量字符串数据块进行加密,使逆向工程无法自动还原出源码;对Mono文件进行编译,确保插件能正确加载和执行。
本发明涉及的技术术语解释:
请参照图1以及图2,本发明提供一种基于Mono的Unity插件加密方法,包括:
对插件Dll文件的指令数据块和常量字符串数据块进行加密;
在Mono文件中的载入插件Dll文件函数内增加对所述加密的解密函数的调用,得到编译后的Mono文件;对所述编译后的Mono文件进行加壳;
将Unity编辑器中的Mono文件替换为加壳后的编译后的Mono文件,且屏蔽Unity编辑器的检查文件。
进一步地,所述对插件Dll文件的指令数据块和常量字符串数据块进行加密,具体为:
获取插件Dll文件中的.Net目录结构体的结束地址,将其作为指令数据块的起始位置;
获取插件Dll文件中的MetaData数据块的起始地址,将其作为指令数据块的结束位置;
加密所述指令数据块的起始位置至所述指令数据块的结束位置之间的数据内容;
获取插件Dll文件中常量字符串数据块的位置和数据块长度;
依据所述位置和数据块长度对所述常量字符串数据块进行加密;
在插件Dll文件中置入加密标识。
由上述描述可知,能够准确且高效地加密指定数据块,加密后方法内的源代码将无法正常显示,从而有效防止逆向工具直接还原源代码;同时,也能准确且高效的对常量字符串数据块进行加密,从而增加逆向难度,将无法通过关键字符串搜索找到对应的数据块;进一步地,通过增加加密标识,既能用于插件运行时Mono载入时识别,也能防止重复加密。
进一步地,所述在Mono文件中的载入插件Dll文件函数内增加对所述加密的解密函数的调用,具体为:
在Mono文件中增加对载入的插件Dll文件是否存在所述加密标识的判断函数;
在Mono文件中增加对应指令数据块的第一解密函数,所述第一解密函数包括指令数据块的起始位置和结束位置的获取,以及对应加密后指令数据块的解密函数;
在Mono文件中增加对应常量字符串数据块的第二解密函数,所述第二解密函数包括常量字符串数据块的位置和数据块长度的获取,以及对应加密后常量字符串数据块的解密函数;
设置在Mono载入插件Dll文件函数时调用所述判断函数,若判断结果为是,则调用所述第一解密函数和第二解密函数。
由上述描述可知,通过第一解密函数的调用,能使Unity编辑器在加载Dll文件时能正确解析指令;通过第二解密函数的调用,能使Unity编辑器在加载Dll文件时能正确显示字符串数据;进而保证正确地载入和运行已加密的插件Dll文件。
进一步地,所述将Unity编辑器中的原始Mono文件替换为加壳后的编译后的Mono文件,具体为:
通过补丁应用将Unity编辑器中EmbedRuntime目录里的Mono文件以及支持MonoBleedingEdge的mono-2.0-bdwgc.dll文件和mono-2.0-sgen.dll文件替换为所述加壳后生成的Mono文件以及支持MonoBleedingEdge的mono-2.0-bdwgc.dll文件和mono-2.0-sgen.dll文件。
由上述描述可知,通过补丁应用的对Unity编辑器进行补丁,使Unity编辑器能正常载入和解析加密的Dll文件。
进一步地,所述屏蔽Unity编辑器的检查文件,具体为:
对Unity编辑器中的组件更新检查文件进行删除或者重命名文件名。
由上述描述可知,能够使Unity编辑器在载入已加密的插件Dll文件时跳过指令数据块的检查,从而能进入Mono的加载过程进行解密。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述任意一项所述的一种基于Mono的Unity插件加密方法所包含的步骤。
从上述描述可知,对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。所述程序在被执行后,同样能实现各方法对应的有益效果。
其中,所述的存储介质可以是磁盘、光碟、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
实施例一
本实施例提供一种基于Mono的Unity插件加密方法,能够对插件Dll文件进行有效保护,使逆向工程无法正确还原出源码;且能保证Unity编辑器正确地加载和执行插件;更进一步地,还具备加密高效且适用范围广等优点。
如图2所示,本实施的方法包括:
一、开发加密应用
开发能够对C#编译生成的插件Dll文件的指令数据块和常量字符串数据块进行加密,并植入自定义加密标记的加密应用。优选地,使用高级对称加密算法进行加密。
该操作能使逆向应用无法还原出插件Dll文件的源代码,也无法正确还原出常量字符串;但是,依然保留了关键信息用于Unity编辑器能正确识别该文件。
二、对开源的Mono项目进行改造
首先,编写对插件Dll文件的上述指令数据块和常量字符串数据块进行解密的解密函数,并设置在Mono项目载入Dll的函数内调用该函数。其次,是对编译后的Mono项目进行加壳。
该操作能使Unity编辑器能解析并在内存中还原该Dll文件的指令和常量字符串,使编辑器内的其他脚本能正确调用和运行。
三、编写Unity补丁应用
通过补丁应用将Unity编辑器中原始的Mono文件替换成改造后的Mono文件,并且屏蔽Unity编辑器的检查文件防止载入失败。
该操作能使Unity编辑器能正常载入和解析加密的Dll文件。
另外需要注意的是,本实施例中,所述插件Dll文件是C#编译生成的Dll文件,相较现有技术对Assembly-CSharp.dll文件这类Dll文件进行操作而言,本实施例的适应范围更广。并且,本实施例的替换Mono文件的操作是在开发状态的时候进行加固,在打包之前,因此安全性更高。
本实施例特别适用于部门间协作场景下需要对Dll插件进行加密保护,并且还需要确保能在编辑器里正常加载和运行的运用场景。
实施例二
本实施例对实施例一的方法做进一步限定。
请参阅图2,本实施例的方法包括:
一、插件Dll文件加密
因为用于Unity的插件Dll是由C#编写的,之后将由Mono解析并且载入。所以可以对插件Dll进行修改,为此需要分析windows的PE文件结构。具体过程如下:
1.1、加密指令数据块
首先找到Dll文件里的.Net Directory,即.Net目录结构体的结束地址,将其作为指令数据块的起始位置;
其次找到Dll文件里的.Net Directory,即.Net目录结构体的MetaData RVA,即Meta数据偏移地址字段,将其重定向偏移后的位置,即MetaData数据块的起始地址作为指令数据块的结束位置;
之后加密指令数据块起始位置到结束位置的数据内容。可以使用简单异或,或者取反等自定义的加密算法,也可以使用公开的现有技术,如AES,DES,TDEA,RC5等高级对称加密算法进行加密或者多次加密。
该步骤能防止逆向工具直接还原源代码,加密后方法内的源代码将无法正常显示。
1.2、加密常量字符串数据块
找到Dll文件里的.Net Directory内的MetaData Steams内的#US数据块,即常量字符串数据块,获取其位置和数据块长度,据此对常量字符串数据块进行加密。
该步骤将增加Dll文件中常量字符串被逆向的难度,将无法通过关键字符串搜索找到对应的数据块。
1.3、植入已加密标记
在加密后的Dll文件内植入自定义的已加密标记,并将对称加密的密钥或者其他需要的内容填充于Dos Stub数据块或者其他用于对齐的空白数据块里。
该步骤用于插件运行时Mono载入时识别,也可以防止重复加密。
对原插件Dll文件的修改见图3所示。
二、改造Mono
为了能够正确地载入已加密的插件Dll文件,故需要对开源的Mono项目进行改造。具体包括:
2.1、增加判断已加密标记
根据之前在Dll文件内植入的标记与那些未加密的Dll文件进行区分,对于存在标记的Dll将在后续执行解密操作。
2.2、增加解密指令数据块函数
将预先编写好的解密指令数据块函数置入Mono文件中,并设置在载入插件Dll文件函数时调用。
解密指令数据块函数将先后执行:
首先在Mono项目内的mono_image_load_cli_header函数里获取.Net Directory即.Net目录结构体在内存中的结束地址,将其作为指令数据块的起始位置;
其次获取.Net Directory即.Net目录结构体的MetaData RVA即Meta数据偏移地址作为指令数据块的结束位置;
之后对应指令数据块的起始位置和结束位置进行解密。
该步骤能使Unity编辑器在加载Dll文件时能正确解析指令。
2.3、增加解密常量字符串函数
同理,将预先编写好的解密常量字符串函数置入Mono文件中,并设置在载入插件Dll文件函数时调用。
解密常量字符串函数,将先后执行:
首先在Mono项目内的load_metadata_ptrs函数里获取#US数据块,即常量字符串数据块,获取其位置和数据块长度。
之后依据常量字符串数据块的位置和数据块长度解密常量字符串数据块。
该步骤能使Unity编辑器在加载Dll文件时能正确显示字符串数据。
2.4、Mono加壳
采用外界现有的加壳或者加固方案,对改造后的Mono进行保护。
该步骤防止解密函数被逆向应用分析,进而破解插件Dll文件,还原出源代码。
三、对Unity编辑器进行补丁
补丁应用在找到需要加载加密插件Dll文件的Unity编辑器路径后,需要对该Unity编辑器的文件进行替换和修改,以达到正常解密的目的。
补丁应用具体执行包括:
3.1、替换Mono
将重新编译Mono工程生成全新的含有能解析被加密的插件Dll文件的Mono.dll以及支持MonoBleedingEdge的mono-2.0-bdwgc.dll和mono-2.0-sgen.dll。通过补丁应用将Unity编译器对应版本内的EmbedRuntime目录里的Mono.dll以及支持MonoBleedingEdge的mono-2.0-bdwgc.dll和mono-2.0-sgen.dll替换掉。
该步骤能使Unity编辑器能正常载入和解析加密的Dll文件。
3.2、屏蔽检查文件
还需要对Unity编辑器里的AssemblyUpdater.exe即组件更新检查文件进行屏蔽,可以通过重命名文件名或者删除文件的方式。
该步骤能使Unity编辑器在载入已加密的插件Dll文件时会跳过指令数据块的检查,从而能进入Mono的加载过程进行解密。
本实施例在实际项目操作中得到了很好实践检验。通过对插件Dll文件的指令数据块和常量字符串进行加密,使逆向工程无法自动还原出源码。Dll文件加密前后在逆向应用里的解析效果对比如图4所示,可见,加密后的Dll文件逆向失败,无法正确还原出源代码。另外,通过使用补丁应用对Unity编辑器进行补丁,保证插件能被正确加载和执行。
将本实施例的方法应用于Unity项目中的部门间协作开发,共享加密后的插件,有效抵御各类逆向应用的静态分析和还原源码,预防人事变动或其他原因引起的代码泄漏风险。
实施例三
本实施例对应实施例一或实施例二,提供一个具体运用场景:
方案针对在Unity编辑器里运行的含有C#编译的Dll插件进行加密的方法:
首先,编写加密应用,具体为应用允许用户输入插件Dll文件的路径,应用读取该路径的文件,判断文件是否由C#编写,是否无加密标记,如果是,则执行加密指令数据块函数和加密常量字符串数据块函数;对文件增加已加密标记。
其次,针对每个Unity版本的Mono工程生成一份带有解密函数的mono.dll文件。具体是先获取Mono开源项目的源码,然后对Mono源码中添加判断载入的Dll是否含有加密标记,如果是,则在后续解析函数中执行解密指令数据块和常量字符串数据块的函数;最后使用现有技术进行加固。
最后,编写补丁应用,应用包含了对应Unity版本的带有解密函数的mono.dll文件。具体是应用会遍历用户电脑所安装的Unity版本与当前可进行补丁的版本进行比较,然后对可进行补丁的Unity进行替换Mono文件,然后屏蔽组件更新检查文件。
如图5所示,在具体应用场景时,插件提供方如Unity编辑器的二次开发人员,使用加密应用对原始的未加密的插件Dll文件进行加密,加密应用会生成加密后的插件Dll文件。
插件提供方将加密后的插件Dll文件和补丁应用提供给插件使用方。
插件使用方如美术,策划,任务等部门协作人员,收到补丁应用后,先对电脑里的Unity编辑器进行补丁操作,其会使Unity编辑器能正常加载和运行加密后的插件Dll文件。之后插件使用方打开Unity编辑器,加载加密后的插件Dll文件,即可正常运行。
而插件使用方后续因人事变动或者其他原因导致插件Dll文件和补丁应用外流,均无法用逆向应用直接还原源代码,有效保护插件提供方以及公司相关权益。
实施例四
本实施例对应实施例一至实施例三,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述实施例一至实施例三任意一个实施例所述的一种基于Mono的Unity插件加密方法所包含的步骤。具体的步骤内容在此不进行复述,详细请参阅实施例一至实施例三。
综上所述,本发明提供的一种基于Mono的Unity插件加密方法、存储介质,能够使逆向工程无法自动还原出插件Dll文件的源码,从而确保共享插件Dll的安全;而且确保插件能正确加载和执行;进一步地,还具备较高的加密效率和广泛的运用范围。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种基于Mono的Unity插件加密方法,其特征在于,包括:
对插件Dll文件的指令数据块和常量字符串数据块进行加密;
在Mono文件中的载入插件Dll文件函数内增加对所述加密的解密函数的调用,得到编译后的Mono文件;对所述编译后的Mono文件进行加壳;
将Unity编辑器中的Mono文件替换为加壳后的编译后的Mono文件,且屏蔽Unity编辑器的检查文件。
2.如权利要求1所述的一种基于Mono的Unity插件加密方法,其特征在于,所述对插件Dll文件的指令数据块和常量字符串数据块进行加密,具体为:
获取插件Dll文件中的.Net目录结构体的结束地址,将其作为指令数据块的起始位置;
获取插件Dll文件中的MetaData数据块的起始地址,将其作为指令数据块的结束位置;
加密所述指令数据块的起始位置至所述指令数据块的结束位置之间的数据内容;
获取插件Dll文件中常量字符串数据块的位置和数据块长度;
依据所述位置和数据块长度对所述常量字符串数据块进行加密;
在插件Dll文件中置入加密标识。
3.如权利要求2所述的一种基于Mono的Unity插件加密方法,其特征在于,所述在Mono文件中的载入插件Dll文件函数内增加对所述加密的解密函数的调用,具体为:
在Mono文件中增加对载入的插件Dll文件是否存在所述加密标识的判断函数;
在Mono文件中增加对应指令数据块的第一解密函数,所述第一解密函数包括指令数据块的起始位置和结束位置的获取,以及对应加密后指令数据块的解密函数;
在Mono文件中增加对应常量字符串数据块的第二解密函数,所述第二解密函数包括常量字符串数据块的位置和数据块长度的获取,以及对应加密后常量字符串数据块的解密函数;
设置在Mono载入插件Dll文件函数时调用所述判断函数,若判断结果为是,则调用所述第一解密函数和第二解密函数。
4.如权利要求1所述的一种基于Mono的Unity插件加密方法,其特征在于,所述将Unity编辑器中的原始Mono文件替换为加壳后的编译后的Mono文件,具体为:
通过补丁应用将Unity编辑器中EmbedRuntime目录里的Mono文件以及支持MonoBleedingEdge的mono-2.0-bdwgc.dll文件和mono-2.0-sgen.dll文件替换为所述加壳后生成的Mono文件以及支持MonoBleedingEdge的mono-2.0-bdwgc.dll文件和mono-2.0-sgen.dll文件。
5.如权利要求1所述的一种基于Mono的Unity插件加密方法,其特征在于,所述屏蔽Unity编辑器的检查文件,具体为:
对Unity编辑器中的组件更新检查文件进行删除或者重命名文件名。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序在被处理器执行时,能够实现上述权利要求1-5任意一项所述的一种基于Mono的Unity插件加密方法所包含的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910649077.4A CN110472425A (zh) | 2019-07-18 | 2019-07-18 | 基于Mono的Unity插件加密方法、存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910649077.4A CN110472425A (zh) | 2019-07-18 | 2019-07-18 | 基于Mono的Unity插件加密方法、存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN110472425A true CN110472425A (zh) | 2019-11-19 |
Family
ID=68509666
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910649077.4A Pending CN110472425A (zh) | 2019-07-18 | 2019-07-18 | 基于Mono的Unity插件加密方法、存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN110472425A (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111625278A (zh) * | 2020-05-26 | 2020-09-04 | 深圳云之家网络有限公司 | 一种源代码文件的生成方法及相关设备 |
| CN112800418A (zh) * | 2020-12-31 | 2021-05-14 | 北京深思数盾科技股份有限公司 | 自定义程序集的文件保护方法及装置 |
| CN114528027A (zh) * | 2022-01-25 | 2022-05-24 | 深圳市优易控软件有限公司 | 一种基于pc平台的智能装备响应时间提升方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105612527A (zh) * | 2013-08-22 | 2016-05-25 | Inka安特沃客有限公司 | 为基于通用中间语言的程序提供安全性的方法 |
| CN106295370A (zh) * | 2016-08-19 | 2017-01-04 | 北京奇虎科技有限公司 | 一种加固安装包的动态链接库dll文件的方法和装置 |
| WO2017026738A1 (ko) * | 2015-08-10 | 2017-02-16 | 라인 가부시키가이샤 | 어플리케이션의 코드를 보호하기 위한 시스템 및 방법 |
| CN107423586A (zh) * | 2017-07-31 | 2017-12-01 | 北京深思数盾科技股份有限公司 | 软件保护方法和软件保护装置 |
| CN109840400A (zh) * | 2017-11-24 | 2019-06-04 | Inka 安特沃客有限公司 | 提供安全性的设备和方法以及针对通用中间语言执行安全性的设备和方法 |
-
2019
- 2019-07-18 CN CN201910649077.4A patent/CN110472425A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105612527A (zh) * | 2013-08-22 | 2016-05-25 | Inka安特沃客有限公司 | 为基于通用中间语言的程序提供安全性的方法 |
| WO2017026738A1 (ko) * | 2015-08-10 | 2017-02-16 | 라인 가부시키가이샤 | 어플리케이션의 코드를 보호하기 위한 시스템 및 방법 |
| CN106295370A (zh) * | 2016-08-19 | 2017-01-04 | 北京奇虎科技有限公司 | 一种加固安装包的动态链接库dll文件的方法和装置 |
| CN107423586A (zh) * | 2017-07-31 | 2017-12-01 | 北京深思数盾科技股份有限公司 | 软件保护方法和软件保护装置 |
| CN109840400A (zh) * | 2017-11-24 | 2019-06-04 | Inka 安特沃客有限公司 | 提供安全性的设备和方法以及针对通用中间语言执行安全性的设备和方法 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111625278A (zh) * | 2020-05-26 | 2020-09-04 | 深圳云之家网络有限公司 | 一种源代码文件的生成方法及相关设备 |
| CN111625278B (zh) * | 2020-05-26 | 2023-12-19 | 深圳云之家网络有限公司 | 一种源代码文件的生成方法及相关设备 |
| CN112800418A (zh) * | 2020-12-31 | 2021-05-14 | 北京深思数盾科技股份有限公司 | 自定义程序集的文件保护方法及装置 |
| CN114528027A (zh) * | 2022-01-25 | 2022-05-24 | 深圳市优易控软件有限公司 | 一种基于pc平台的智能装备响应时间提升方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
| US8090959B2 (en) | Method and apparatus for protecting .net programs | |
| US8286251B2 (en) | Obfuscating computer program code | |
| KR101545272B1 (ko) | 안드로이드에서의 dex파일 바이너리 난독화 방법 | |
| CN106203006A (zh) | 基于dex与so文件动态执行的Android应用加固方法 | |
| KR101623096B1 (ko) | 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법 | |
| CN105095771B (zh) | 一种共享目标文件的保护方法及装置 | |
| US20160203087A1 (en) | Method for providing security for common intermediate language-based program | |
| CN110929234B (zh) | 一种基于代码虚拟化的Python程序加密保护系统与方法 | |
| KR101861341B1 (ko) | 애플리케이션 코드의 역난독화 장치 및 이를 이용한 애플리케이션 코드의 역난독화 방법 | |
| US20160239671A1 (en) | Method and device for protecting an application and method and device for executing a protected application thus protected | |
| CN104866734B (zh) | 一种dex文件的保护方法及装置 | |
| US20150095653A1 (en) | Method and apparatus of creating application package, method and apparatus of executing application package, and recording medium storing application package | |
| CN106228041B (zh) | 一种针对Android预编译的代码保护方法 | |
| CN104091100A (zh) | 一种基于编译中间结果的软件保护方法 | |
| CN110096853A (zh) | 基于Mono的Unity安卓应用加固方法、存储介质 | |
| CN103177199A (zh) | 网页应用代码保护方法及系统和执行的提速方法及系统 | |
| US12113899B2 (en) | On demand code decryption | |
| CN113282294A (zh) | 基于安卓平台Java字符串混淆的方法和装置 | |
| CN115756480A (zh) | 一种安卓应用加固方法、系统及设备 | |
| US11256786B2 (en) | Method to secure a software code | |
| US10068069B1 (en) | Denoting precise locations and arguments in binary program code | |
| Kanani et al. | Obfuscation: maze of code | |
| KR101436741B1 (ko) | 프로그램 보안 솔루션 적용 방법 및 시스템 | |
| Cho et al. | Using obfuscators to test compilers: A metamorphic experience |
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: 20191119 |
|
| WD01 | Invention patent application deemed withdrawn after publication |