CN102136053B - 对可执行文件源代码保护的方法及装置 - Google Patents
对可执行文件源代码保护的方法及装置 Download PDFInfo
- Publication number
- CN102136053B CN102136053B CN201110060458.2A CN201110060458A CN102136053B CN 102136053 B CN102136053 B CN 102136053B CN 201110060458 A CN201110060458 A CN 201110060458A CN 102136053 B CN102136053 B CN 102136053B
- Authority
- CN
- China
- Prior art keywords
- file
- elf
- new
- target
- core
- 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.)
- Active
Links
Abstract
本发明提供了一种对可执行文件源代码保护的方法,包括以下步骤:获取需要加壳的目标可执行链接格式ELF文件;提取目标ELF文件中的核心部分;所述核心部分包括数据段、代码段、堆栈段及动态链接表;创建新的ELF文件框架;将目标ELF文件的核心部分和加壳部分整合,为目标ELF文件的核心部分加密;将整合结果按ELF结构填入到新的ELF文件框架中;完成重构新的ELF文件并设置其属性为可执行。本发明还提供了一种对可执行文件源代码保护的装置,本发明所提供的方法或装置,可提高文件保护技术的反动态跟踪能力。
Description
技术领域
本发明涉及文件加密技术领域,尤其涉及一种对可执行文件源代码保护的方法及装置。
背景技术
众所周知,软件防盗版、防修改一直是计算机安全领域的一个重要课题。在众多的软件保护技术中,软件加壳技术是软件保护的重要手段,但当前互联网上很多黑客工具仍能够破解软件,因此拥有一个独特的加壳程序很有必要。
现有的软件加壳技术通常使用较多的是嵌入方式。该方式是向目标可执行文件ELF(Executable and Linkable Format,可执行链接格式)中直接注入一段二进制代码,再将程序的入口地址改为这段被插入的二进制代码的地址,在其后才跳转到程序原始的入口地址,执行真正的程序部分。注入的这一段二进制代码是该方法的核心,一般含有解密或解压缩程序,花指令代码和一些反动态跟踪的代码。这种方法可以有效地防止静态分析,但其反动态跟踪的能力一般。
发明内容
本发明的主要目的在于提供一种对可执行文件源代码保护的方法及装置,旨在提高反动态跟踪能力。
为了实现发明目的,本发明提供一种对可执行文件源代码保护的方法,包括以下步骤:
获取需要加壳的目标可执行链接格式ELF文件;
提取目标ELF文件中的核心部分;所述核心部分包括数据段、代码段、堆栈段及动态链接表;
创建新的ELF文件框架;
将目标ELF文件的核心部分和加壳部分整合;
将整合结果按ELF结构填入到新的ELF文件框架中;
完成重构新的ELF文件并设置其属性为可执行。
优选地,所述将目标ELF文件的核心部分和加壳部分整合包括:
分别计算出加壳部分和目标ELF文件核心部分所占物理文件的大小和所占内存的大小;
将目标ELF文件核心部分中段/节的内容续写到加壳部分对应段/节的后面;
将程序头表及节头表的段/节属性中与大小相关的参数设置成新计算出的大小。
优选地,所述创建新的ELF文件框架包括:
按照ELF文件标准,创建一个新的文件,其文件结构符合ELF文件规范,并完成ELF文件头部信息的填写,将相关段落暂时空出,以供后续填充使用。
优选地,所述将整合结果按ELF结构填入到新的ELF文件框架中包括:
重新计算段/节属性参数;
修改新的ELF文件,将计算好的属性参数填入新的ELF文件头中,再将整合好的段/节按照ELF文件规范填入新的ELF文件对应位置。
优选地,所述将目标ELF文件的核心部分和加壳部分整合还包括:
当将目标ELF文件的核心部分和加壳部分整合失败时,删除生成的临时文件和新的ELF文件,并释放相应的空间。
本发明还提供一种对可执行文件源代码保护的装置,包括:
文件获取单元,用于获取需要加壳的目标可执行链接格式ELF文件;
核心部分提取单元,用于提取目标ELF文件中的核心部分;所述核心部分包括数据段、代码段、堆栈段及动态链接表;
文件框架创建单元,用于创建新的ELF文件框架;
加密单元,用于将目标ELF文件的核心部分和加壳部分整合;
整合结果读写单元,用于将整合结果按ELF结构填入到新的ELF文件框架中;
属性设置单元,用于完成重构新的ELF文件并设置其属性为可执行。
优选地,所述加密单元包括:
运算模块,用于分别计算出加壳部分和目标ELF文件核心部分所占物理文件的大小和所占内存的大小;
续写模块,用于将目标ELF文件核心部分中段/节的内容续写到加壳部分对应段/节的后面;
参数设置模块,用于将程序头表及节头表的段/节属性中与大小相关的参数设置成新计算出的大小。
优选地,所述文件框架创建单元具体用于:
按照ELF文件标准,创建一个新的文件,其文件结构符合ELF文件规范,并完成ELF文件头部信息的填写,将相关段落暂时空出,以供后续填充使用。
优选地,所述整合结果读写单元具体用于:
重新计算段/节属性参数;
修改新的ELF文件,将计算好的属性参数填入新的ELF文件头中,再将整合好的段/节按照ELF文件规范填入新的ELF文件对应位置。
优选地,所述加密单元还包括:
删除模块,用于当将目标ELF文件的核心部分和加壳部分整合失败时,删除生成的临时文件和新的ELF文件,并释放相应的空间。
本发明所提供的对可执行文件源代码保护的方法或装置,将目标系统的可执行文件中的核心部分提取出来,再和准备好的解密或解压缩程序,将反静态分析和反动态跟踪程序结合在一起,按照目标系统可执行文件标准格式重新构造一个全新的可执行文件,可将加壳的各项功能程序和目标程序很好的融合为一体,从而提高文件保护技术的反动态跟踪能力。
附图说明
图1为本发明一实施方式中对可执行文件源代码保护的方法的流程图;
图2为本发明一实施方式中对可执行文件源代码保护的装置的结构示意图;
图3为本发明一实施例中对可执行文件源代码保护的装置的工作流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明的一个实施方式中可执行文件源代码保护的方法的步骤流程。该流程包括以下步骤:
步骤S10,获取需要加壳的目标可执行链接格式ELF文件;在一实施例中,可先获取需要加壳的目标ELF文件,并判断该目标ELF文件是否是标准的ELF可执行文件。通过将目标ELF文件头部文件提取,按照ELF文件结构,解析出每一个字段,确保该目标ELF文件是可以进行加壳保护的文件。
步骤S20,提取目标ELF文件中的核心部分;所述核心部分包括数据段、代码段、堆栈段及动态链接表;提取核心部分也就是将这些部分单独复制出来,用以后面代码整合中使用。这里以.text节为例,说明如何提取核心部分。该节保存着程序的正文或者说是可执行指令。首先,根据ELF文件头中的信息,首先定位到程序头表,在程序头表中在定位到代码段(整个代码段都是需要的核心部分)。然后,再定位到.text位置,将其中的数据代码复制出来,其他段或节都以同样的方法获得。
步骤S30,创建新的ELF文件框架;在一实施例中,步骤S30可包括:按照ELF文件标准,创建一个新的文件,其文件结构符合ELF文件规范,并完成ELF文件头部信息的填写,将数据段、代码段和堆栈段等相关段落暂时空出,以供后续填充使用。
步骤S40,将目标ELF文件的核心部分和加壳部分整合;该步骤是整个方法的核心,需要进行精确的计算,来正确的设置ELF文件头、程序头表以及节头表等数据,这样新生成的ELF文件才能正常运行。在一实施例中,该步骤可具体包括:分别计算出加壳部分和目标ELF文件核心部分所占物理文件的大小和所占内存的大小;将目标ELF文件核心部分中段/节的内容续写到加壳部分对应段/节的后面;将程序头表及节头表的段/节属性中与大小相关的参数设置成新计算出的大小。此处还是以.text节为例详细说明该步骤流程。首先,分别计算出加壳部分.text节占物理文件的大小和载入内存所占内存的大小,以及目标ELF文件核心部分.text节占物理文件的大小和载入内存所占内存的大小;然后,将目标ELF文件核心部分.text节内容续写到加壳部分.text节的后面,使得程序在载入内存执行时顺序执行;再将程序头表、节头表中.text节属性中与大小相关的参数对应设置成新计算出的大小。至此,.text节部分的整合完成,其他段或节都以同样的方法整合。
本步骤中所实现的功能便是将目标ELF文件的核心部分加密,且在程序执行时在内存中解密;并且对于各种外部中断进行监控,完成反静态编译和动态跟踪的目的。方法中并没有对于加壳程序的加密算法做规定,但是由于壳本身在时间和空间上要求较高,所以应选取算法复杂度适中、程序执行效率高的方法。同时,由于壳程序是一段直接嵌入到可执行文件中的二进制数,故其对于目标ELF文件所使用的硬件平台依赖性很高,根据不同硬件平台和操作系统,其壳程序的二进制编码大有不同。另外,对于安全系统而言,其实是通过各种不同的算法来阻止非法用户的破解,使用的方法越复杂,其破解难度就越大,安全性越高,同时用户也会明显的感觉到程序运行效率的影响。因而实际情况中,可根据用户不同的需求实现不同的安全策略。
步骤S50,将整合结果按ELF结构填入到新的ELF文件框架中;重新整合好的ELF文件,仅仅是可执行文件的数据段、代码段等部分,将壳程序完整的融入了原有程序的代码中,但是还并不能使用。要使其能够使用,还需重新计算该部分内容大小、需要的空间等属性参数,修改构造的空ELF文件,将计算好的属性参数填入ELF文件头中,再将整合好的部分按照ELF文件规范填入新的ELF文件对应位置。
步骤S60,完成重构新的ELF文件并设置其属性为可执行。例如,将该ELF文件属性设置为可执行,并运行测试,判断是否成功加壳。
上述步骤流程中,步骤S10、30、40还可以进一步对异常的情况进行处理,例如,在执行步骤S10、30或40出现失败时,程序进入失败处理程序,删除生成的临时文件和新创建的文件,并释放相应的空间。
本发明还提供一种对可执行文件源代码保护的装置,参照图2,在一实施例中,该装置包括:
文件获取单元10,用于获取需要加壳的目标可执行链接格式ELF文件;在一实施例中,文件获取单元10可先获取需要加壳的目标ELF文件,并判断该目标ELF文件是否是标准的ELF可执行文件。通过将目标ELF文件头部文件提取,按照ELF文件结构,解析出每一个字段,确保该目标ELF文件是可以进行加壳保护的文件。
核心部分提取单元20,用于提取目标ELF文件中的核心部分;所述核心部分包括数据段、代码段、堆栈段及动态链接表;核心部分提取单元提取文件的具体操作流程可参照前述方法中步骤S20所述实施例。
文件框架创建单元30,用于创建新的ELF文件框架;在一实施例中,文件框架创建单元30可按照ELF文件标准,创建一个新的文件,其文件结构符合ELF文件规范,并完成ELF文件头部信息的填写,将数据段、代码段和堆栈段等相关段落暂时空出,以供后续填充使用。
加密单元40,用于将目标ELF文件的核心部分和加壳部分整合;加密单元40是整个装置的核心,需要进行精确的计算,来正确的设置ELF文件头、程序头表以及节头表等数据,这样新生成的ELF文件才能正常运行。在一实施例中,加密单元40可具体包括:
运算模块41,用于分别计算出加壳部分和目标ELF文件核心部分所占物理文件的大小和所占内存的大小;
续写模块42,用于将目标ELF文件核心部分中段/节的内容续写到加壳部分对应段/节的后面;
参数设置模块43,用于将程序头表及节头表的段/节属性中与大小相关的参数设置成新计算出的大小。此处还是以.text节为例详细说明加密单元40的处理流程。首先,运算模块41分别计算出加壳部分.text节占物理文件的大小和载入内存所占内存的大小,以及目标ELF文件核心部分.text节占物理文件的大小和载入内存所占内存的大小;然后,续写模块42将目标ELF文件核心部分.text节内容续写到加壳部分.text节的后面,使得程序在载入内存执行时顺序执行;参数设置模块43再将程序头表、节头表中.text节属性中与大小相关的参数对应设置成新计算出的大小。至此,.text节部分的整合完成,其他段或节都以同样的方法整合。
加密单元40所要实现的功能便是将目标ELF文件的核心部分加密,且在程序执行时在内存中解密;并且对于各种外部中断进行监控,完成反静态编译和动态跟踪的目的。加密单元40中并没有对于加壳程序的加密算法做规定,但是由于壳本身在时间和空间上要求较高,所以应选取算法复杂度适中、程序执行效率高的方法。同时,由于壳程序是一段直接嵌入到可执行文件中的二进制数,故其对于目标ELF文件所使用的硬件平台依赖性很高,根据不同硬件平台和操作系统,其壳程序的二进制编码大有不同。另外,对于安全系统而言,其实是通过各种不同的算法来阻止非法用户的破解,使用的方法越复杂,其破解难度就越大,安全性越高,同时用户也会明显的感觉到程序运行效率的影响。因而实际情况中,可根据用户不同的需求实现不同的安全策略。
在一实施例中,加密单元40还可包括删除模块44,用于当将目标ELF文件的核心部分和加壳部分整合失败时,删除生成的临时文件和新的ELF文件,并释放相应的空间。
整合结果读写单元50,用于将整合结果按ELF结构填入到新的ELF文件框架中;在一实施例中,整合结果读写单元50具体用于:重新计算段/节属性参数;修改新的ELF文件,将计算好的属性参数填入新的ELF文件头中,再将整合好的段/节按照ELF文件规范填入新的ELF文件对应位置。
属性设置单元60,用于完成重构新的ELF文件并设置其属性为可执行。例如,属性设置单元60将该ELF文件属性设置为可执行,并运行测试,判断是否成功加壳。
本发明上述对可执行文件源代码保护的装置的具体工作流程可参照图3所示。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种对可执行文件源代码保护的方法,其特征在于,包括以下步骤:
获取需要加壳的目标可执行链接格式ELF文件;
提取目标ELF文件中的核心部分;所述核心部分包括数据段、代码段、堆栈段及动态链接表;
创建新的ELF文件框架;
将目标ELF文件的核心部分和加壳部分整合;
将整合结果按ELF结构填入到新的ELF文件框架中;
完成重构新的ELF文件并设置其属性为可执行;
所述将目标ELF文件的核心部分和加壳部分整合包括:
分别计算出加壳部分和目标ELF文件核心部分所占物理文件的大小和所占内存的大小;
将目标ELF文件核心部分中段/节的内容续写到加壳部分对应段/节的后面;
将程序头表及节头表的段/节属性中与大小相关的参数设置成新计算出的大小。
2.如权利要求1所述的对可执行文件源代码保护的方法,其特征在于,所述创建新的ELF文件框架包括:
按照ELF文件标准,创建一个新的文件,其文件结构符合ELF文件规范,并完成ELF文件头部信息的填写,将相关段落暂时空出,以供后续填充使用。
3.如权利要求1或2所述的对可执行文件源代码保护的方法,其特征在于,所述将整合结果按ELF结构填入到新的ELF文件框架中包括:
重新计算段/节属性参数;
修改新的ELF文件,将计算好的属性参数填入新的ELF文件头中,再将整合好的段/节按照ELF文件规范填入新的ELF文件对应位置。
4.如权利要求3所述的对可执行文件源代码保护的方法,其特征在于,所述将目标ELF文件的核心部分和加壳部分整合还包括:
当将目标ELF文件的核心部分和加壳部分整合失败时,删除生成的临时文件和新的ELF文件,并释放相应的空间。
5.一种对可执行文件源代码保护的装置,其特征在于,包括:
文件获取单元,用于获取需要加壳的目标可执行链接格式ELF文件;
核心部分提取单元,用于提取目标ELF文件中的核心部分;所述核心部分至少包括数据段、代码段、堆栈段及动态链接表;
文件框架创建单元,用于创建新的ELF文件框架;
加密单元,用于将目标ELF文件的核心部分和加壳部分整合;
整合结果读写单元,用于将整合结果按ELF结构填入到新的ELF文件框架中;
属性设置单元,用于完成重构新的ELF文件并设置其属性为可执行;
所述加密单元包括:
运算模块,用于分别计算出加壳部分和目标ELF文件核心部分所占物理文件的大小和所占内存的大小;
续写模块,用于将目标ELF文件核心部分中段/节的内容续写到加壳部分对应段/节的后面;
参数设置模块,用于将程序头表及节头表的段/节属性中与大小相关的参数设置成新计算出的大小。
6.如权利要求5所述的装置,其特征在于,所述文件框架创建单元具体用于:
按照ELF文件标准,创建一个新的文件,其文件结构符合ELF文件规范,并完成ELF文件头部信息的填写,将相关段落暂时空出,以供后续填充使用。
7.如权利要求5或6所述的装置,其特征在于,所述整合结果读写单元具体用于:
重新计算段/节属性参数;
修改新的ELF文件,将计算好的属性参数填入新的ELF文件头中,再将整合好的段/节按照ELF文件规范填入新的ELF文件对应位置。
8.如权利要求7所述的装置,其特征在于,所述加密单元还包括:
删除模块,用于当将目标ELF文件的核心部分和加壳部分整合失败时,删除生成的临时文件和新的ELF文件,并释放相应的空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110060458.2A CN102136053B (zh) | 2011-03-14 | 2011-03-14 | 对可执行文件源代码保护的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110060458.2A CN102136053B (zh) | 2011-03-14 | 2011-03-14 | 对可执行文件源代码保护的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102136053A CN102136053A (zh) | 2011-07-27 |
CN102136053B true CN102136053B (zh) | 2014-12-10 |
Family
ID=44295837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110060458.2A Active CN102136053B (zh) | 2011-03-14 | 2011-03-14 | 对可执行文件源代码保护的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102136053B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609666B (zh) * | 2012-01-20 | 2014-07-30 | 飞天诚信科技股份有限公司 | 一种可执行程序加壳保护方法 |
CN103136458B (zh) * | 2013-01-21 | 2016-03-16 | 中标软件有限公司 | 一种Linux操作系统动态库代码保护方法及其装置 |
CN104683371A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 一种处理文件的方法及装置 |
CN103780700A (zh) * | 2014-01-26 | 2014-05-07 | 长沙裕邦软件开发有限公司 | 一种实现多源异构系统之间兼容与共享的应用系统和方法 |
CN105095771B (zh) * | 2014-05-08 | 2018-12-28 | 北京娜迦信息科技发展有限公司 | 一种共享目标文件的保护方法及装置 |
CN104834838B (zh) * | 2015-04-29 | 2017-11-24 | 福建天晴数码有限公司 | 防止dex文件从内存中转存的方法及装置 |
CN104951705A (zh) * | 2015-07-08 | 2015-09-30 | 南京烽火星空通信发展有限公司 | 一种基于操作系统接口重写的安卓应用数据加密封装方法 |
CN105825087B (zh) * | 2016-03-16 | 2019-07-26 | 福建联迪商用设备有限公司 | Elf共享库保护方法及其系统 |
CN107291485B (zh) * | 2016-04-11 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 动态链接库的加固方法、运行方法、加固装置和安全系统 |
CN106650475A (zh) * | 2016-12-02 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种隐藏so文件的方法及装置 |
CN106548049A (zh) * | 2016-12-09 | 2017-03-29 | 武汉斗鱼网络科技有限公司 | 一种代码处理方法和装置 |
CN108733988B (zh) * | 2017-04-19 | 2023-01-24 | 北京梆梆安全科技有限公司 | 安卓平台上可执行程序的保护方法 |
CN107450960A (zh) * | 2017-09-18 | 2017-12-08 | 珠海亿智电子科技有限公司 | 一种对可执行elf文件重新链接和加载的方法 |
CN108011879B (zh) * | 2017-11-30 | 2020-10-16 | 广州酷狗计算机科技有限公司 | 文件加密、解密的方法、装置、设备和存储介质 |
CN110113151B (zh) * | 2019-04-09 | 2022-09-02 | 天津大学 | 一种对elf格式程序的非侵入式实时加解密方法 |
CN116720212B (zh) * | 2023-08-10 | 2023-11-17 | 上海观安信息技术股份有限公司 | 文件保护方法及装置、计算机设备和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504656A (zh) * | 2009-03-26 | 2009-08-12 | 成都磐石软件有限责任公司 | 一种pe文件代码合并执行方法 |
CN101964040A (zh) * | 2010-09-10 | 2011-02-02 | 西安理工大学 | 一种基于PE Loader的软件加壳保护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112158A1 (en) * | 2001-02-14 | 2002-08-15 | Golchikov Andrey Vladimirovich | Executable file protection |
-
2011
- 2011-03-14 CN CN201110060458.2A patent/CN102136053B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504656A (zh) * | 2009-03-26 | 2009-08-12 | 成都磐石软件有限责任公司 | 一种pe文件代码合并执行方法 |
CN101964040A (zh) * | 2010-09-10 | 2011-02-02 | 西安理工大学 | 一种基于PE Loader的软件加壳保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102136053A (zh) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102136053B (zh) | 对可执行文件源代码保护的方法及装置 | |
US10778441B2 (en) | Redactable document signatures | |
CN101908119B (zh) | 一种动态链接库dll文件的处理方法和装置 | |
EP3038004A1 (en) | Method for providing security for common intermediate language-based program | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
CN107169324A (zh) | 一种基于动态加解密的Android应用加固方法 | |
CN105683990A (zh) | 用于保护动态库的方法和装置 | |
WO2011134207A1 (zh) | 软件保护方法 | |
CN105141429A (zh) | 用户验证方法、装置和服务器 | |
CN106547648A (zh) | 一种备份数据处理方法及装置 | |
CN102799815B (zh) | 一种安全加载程序库的方法和装置 | |
CN109871312A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN105224358A (zh) | 一种云计算下软件自动打包部署的系统及方法 | |
CN104834838A (zh) | 防止dex文件从内存中转存的方法及装置 | |
CN110377468A (zh) | 一种cpu激活核心数设置的测试方法和相关装置 | |
CN107171808A (zh) | 一种电子档案真实性的验证方法及装置 | |
CN107133539B (zh) | 智能卡个人化方法及相关装置与系统 | |
CN108664796B (zh) | 一种so文件保护方法及装置 | |
CN105577424A (zh) | 一种基于数据溯源图的数据资产质量监测方法 | |
CN104751026A (zh) | 安卓系统的软件保护方法、软件应用方法及相关装置 | |
KR101741186B1 (ko) | 부분 복구가능 부호의 검증이 가능한 데이터 분산 저장 장치 및 방법 | |
CN104898985A (zh) | 存储装置、控制器以及数据写入方法 | |
CN103714271A (zh) | 一种Java软件水印植入虚方法的永假式构造方法 | |
CN105095513B (zh) | 一种破解Oracle数据库账户密码的方法和装置 | |
KR101738938B1 (ko) | 명령어 압축 장치, 명령어 압축 방법 및 컴퓨터로 읽을 수 있는 저장 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |