掌桥专利:专业的专利平台
掌桥专利
首页

一种恶意代码检测方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 20:01:23


一种恶意代码检测方法、装置、电子设备及存储介质

技术领域

本申请涉及应用安全技术领域,具体而言,涉及一种恶意代码检测方法、装置、电子设备及存储介质。

背景技术

现有的恶意代码检测方法如利用二进制文件直接转化为灰度图,生成的灰度图像的大小不确定,且需要在剪裁、缩放操作后才能输入检测模型导致图像信息的丢失,且灰度图像包含的细节信息较少,无法全面展示恶意代码的行为特征和语义信息,影响检测结果的准确性。

发明内容

本申请实施例的目的在于提供一种恶意代码检测方法、装置、电子设备及存储介质,RGB三通道图像能够全面展示恶意代码的行为特征和语义信息,且生成的RGB三通道图像具有标准化尺寸可直接作为模型输入,提高检测结果的准确性,解决了现有方法无法包含全面信息导致检测结果不准确的问题。

本申请实施例提供了一种恶意代码检测方法,所述方法包括:

获取待检测样本的汇编代码并从所述汇编代码中提取出操作码序列;

计算所述操作码序列的局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵;

将所述局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵对应填充到RGB图像的三个通道中,以生成RGB图像;

将所述RGB图像输入预训练的图像分类模型中,以确定所述待检测样本是否为恶意代码。

在上述实现过程中,将待检测样本转化为RGB图像,RGB图像能够充分利用原文件信息,且生成的RGB图像具有标准化的尺寸,满足检测模型的格式要求,可直接作为输入,无需剪裁,RGB三通道图像能够全面展示恶意代码的行为特征和语义信息,提高检测结果的准确性,解决了现有方法无法包含全面信息导致检测结果不准确的问题。

进一步地,所述计算所述操作码序列的局部敏感哈希值,包括:

计算所述操作码序列的SimHash值;

将计算得到的SimHash值重排为16*16的矩阵,并缩放到256*256的大小。

在上述实现过程中,计算操作码序列的局部敏感哈希值并作为R通道数据。

进一步地,所述计算所述操作码序列的SimHash值,包括:

利用hash算法计算每个操作码的hash值;

对每个操作码的hash值进行转换和加权,以获得转换和加权后的序列值;

对所有操作码的序列值进行按位累加并将累加结果转换为01字符串。

在上述实现过程中,利用SimHash算法计算SimHash值,以表征不同操作码序列之间的相似性。

进一步地,所述计算所述操作码序列的第一马尔科夫概率转移矩阵,包括:

获取待处理操作码序列:若所述操作码序列的长度大于256,则获取频率最高的256个操作码;若所述操作码序列的长度小于256,则利用空字符串将所述操作码序列填充至256;

利用长度为2个字节的滑动窗口从所述待处理操作码序列的第一个操作码滑动至最后一个操作码,对于落于窗口中的相邻两个操作码,将其出现频率在操作码序列中所有操作码频率的排序作为其下标,在第二通道对应下标位置加1。

在上述实现过程中,利用长度为2个字节的滑动窗口得到的第一马尔科夫概率转移矩阵作为G通道数据,利用马尔可夫概率转移矩阵增加了操作码序列中相邻操作码转换模式的特征,即能够同时利用操作码频率和顺序的特征,因此能够增加模型检测的稳定性和精度。

进一步地,所述计算所述操作码序列的第二马尔科夫概率转移矩阵,包括:

获取待处理操作码序列:若所述操作码序列的长度大于256,则获取频率最高的256个操作码;若所述操作码序列的长度小于256,则利用空字符串将所述操作码序列填充至256;

利用长度为3个字节的滑动窗口从所述待处理操作码序列的第一个操作码滑动至最后一个操作码,对于落于窗口中的间隔两个操作码,将其出现频率在操作码序列中所有操作码频率的排序作为其下标,在第三通道对应下标位置加1。

在上述实现过程中,利用长度为3个字节的滑动窗口得到的第一马尔科夫概率转移矩阵作为B通道数据,利用马尔可夫概率转移矩阵增加了操作码序列中相邻操作码转换模式的特征,即能够同时利用操作码频率和顺序的特征,因此能够增加模型检测的稳定性和精度。

进一步地,所述将所述局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵对应填充到RGB图像的三个通道中,以生成RGB图像,包括:

将所述局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵对应作为R通道数据、G通道数据和B通道数据,并生成大小为3×256×256的张量A;

对所述张量中的每一列进行归一化处理:

将所述张量中的元素进行缩放和二值化处理,并利用处理后的张量生成RGB图像。

在上述实现过程中,利用张量A生成大小为3×256×256的RGB图像,可直接作为模型输入,避免了剪裁等导致的图像信息的丢失问题,进而影响了检测结果的准确性。

本申请实施例还提供一种恶意代码检测装置,所述装置包括:

操作码序列获取模块,用于获取待检测样本的汇编代码并从所述汇编代码中提取出操作码序列;

数据计算模块,用于计算所述操作码序列的局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵;

RGB图像生成模块,用于将所述局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵对应填充到RGB图像的三个通道中,以生成RGB图像;

分类模块,用于将所述RGB图像输入预训练的图像分类模型中,以确定所述待检测样本是否为恶意代码。

在上述实现过程中,将待检测样本转化为RGB图像,RGB图像能够充分利用原文件信息,且生成的RGB图像具有标准化的尺寸,满足检测模型的格式要求,可直接作为输入,无需剪裁,RGB三通道图像能够全面展示恶意代码的行为特征和语义信息,提高检测结果的准确性,解决了现有方法无法包含细节信息导致检测结果不准确的问题。

进一步地,所述数据计算模块包括哈希值计算模块,所述哈希值计算模块包括:

SimHash值计算模块,用于计算所述操作码序列的SimHash值;

重排模块,用于将计算得到的SimHash值重排为16*16的矩阵,并缩放到256*256的大小。

在上述实现过程中,计算操作码序列的局部敏感哈希值并作为R通道数据。

本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行上述中任一项所述的恶意代码检测方法。

本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的恶意代码检测方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种恶意代码检测方法的流程图;

图2为本申请实施例提供的R通道数据获取流程图;

图3为本申请实施例提供的SimHash值的具体计算流程图;

图4为本申请实施例提供的G通道数据获取流程图;

图5为本申请实施例提供的B通道数据获取流程图;

图6为本申请实施例提供的RGB图像的生成流程图;

图7为本申请实施例提供的恶意代码分类示意图;

图8为本申请实施例提供的待测样本可视化示意图;

图9为本申请实施例提供的一种恶意代码检测装置的结构框图;

图10为本申请实施例提供的另一种恶意代码检测装置的结构框图。

图标:

100-操作码序列获取模块;200-数据计算模块;210-哈希值计算模块;211-SimHash值计算模块;212-重排模块;220-第一马尔科夫概率转移矩阵计算模块;230-第二马尔科夫概率转移矩阵计算模块;300-RGB图像生成模块;400-分类模块。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例1

请参看图1,图1为本申请实施例提供的一种恶意代码检测方法的流程图。该方法充分利用源编码中的各种信息,生成RGB图像,具有标准化的尺寸,能够直接作为常用的各种CNN模型的输入,且可直接应用于最常见的二进制可执行PE文件(.exe文件),不要求是汇编文件等其他信息。

该方法可利用IDAPro工具从待检测样本的二进制文件中提取出汇编代码,或者直接读取待检测样本.asm文件中的汇编代码,再从汇编代码中提取出操作码序列,计算出操作码的局部敏感哈希值和两种马尔可夫概率转移矩阵分别填充到RGB图像的三个通道中。再将三通道RGB图像的像素值映射到0-255的范围内。在该过程中可以选择性地对RGB图像作二值化处理。图像分类检测时,可以选择使用VGG16、ResNet等多种常用于RGB图像分类任务的模型。

该方法具体包括以下步骤:

步骤S100:获取待检测样本的汇编代码并从所述汇编代码中提取出操作码序列;

对待检测样本的二进制文件,利用IDAPro进行反编译获得汇编文件.asm,或者直接从数据来源中获取对应的.asm文件;从.asm文件中提取出可执行的.text段的所有汇编代码的操作码序列。

步骤S200:计算所述操作码序列的局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵;

步骤S300:将所述局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵对应填充到RGB图像的三个通道中,以生成RGB图像;

步骤S400:将所述RGB图像输入预训练的图像分类模型中,以确定所述待检测样本是否为恶意代码。

将生成的RGB图像输入预训练的图像分类模型中,可获得图像被分类的标签;根据标签判断待检测样本是否为恶意代码,以及所属的恶意代码家族。

其中,如图2所示,为R通道数据获取流程图,计算所述操作码序列的局部敏感哈希值包括以下步骤:

步骤S210:计算所述操作码序列的SimHash值;

SimHash算法能够比较不同操作码序列之间的相似性,进而比较不同可执行文件之间的相似性,如图3所示,为SimHash值的具体计算流程图,具体计算过程如下:

步骤S211:利用hash算法计算每个操作码的hash值;

在该步骤之前,由于操作码序列本身即为连续的不同操作码,所以不需要进行额外的分词操作。

示例地,可使用常见的hash算法如SHA256等,在本申请中每个词即为操作码序列中的每个操作码。

步骤S212:对每个操作码的hash值进行转换和加权,以获得转换和加权后的序列值;

具体地,将‘1’转换为‘1’,‘0’转换为‘-1’,再对转换后的序列值进行加权,在本申请中每个操作码的权重都为1。

步骤S213:对所有操作码的序列值进行按位累加并将累加结果转换为01字符串。

将所有操作码的序列值的对应位进行累加,将累加后得到的序列值转换为01字符串,即如果某一位的序列值大于0,则结果中对应位为1,否则结果中对应位为0。

步骤S220:将计算得到的SimHash值重排为16*16的矩阵,并缩放到256*256的大小。

如图4所示,为G通道数据获取流程图,计算所述操作码序列的第一马尔科夫概率转移矩阵,包括:

步骤S230:获取待处理操作码序列:若所述操作码序列的操作码数量大于256,则获取出现频率最高的256个操作码;若所述操作码序列的操作码数量小于256,则利用空字符串将所述操作码序列填充至256;

步骤S240:利用长度为2个字节的滑动窗口从所述待处理操作码序列的第一个操作码滑动至最后一个操作码,对于落于窗口中的相邻两个操作码,将其出现频率在操作码序列中所有操作码频率的排序作为其下标,在张量第二通道对应下标位置加1。

以长度为2个字节的滑动窗口在提取出的操作码序列上从第一个操作码滑动到最后一个操作码,对于滑动过程中在窗口中的每个操作码对(opcode

如图5所示,为B通道数据获取流程图,计算所述操作码序列的第二马尔科夫概率转移矩阵,包括:

步骤S250:获取待处理操作码序列:若所述操作码序列的长度大于256,则获取频率最高的256个操作码;若所述操作码序列的长度小于256,则利用空字符串将所述操作码序列填充至256;

步骤S260:利用长度为3个字节的滑动窗口从所述待处理操作码序列的第一个操作码滑动至最后一个操作码,对于落于窗口中的间隔两个操作码,将其出现频率在操作码序列中所有操作码频率的排序作为其下标,在张量第三通道对应下标位置加1。

以长度为3个字节的滑动窗口在提取出的操作码序列上从第一个操作码滑动到最后一个操作码,对于滑动过程中在窗口中的每个操作码对(opcode

如图6所示,为RGB图像的生成流程图,步骤S300具体包括以下步骤:

步骤S301:将所述局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵对应作为R通道数据、G通道数据和B通道数据,并生成大小为3×256×256的张量A;

具体地,将局部敏感哈希值作为R通道数据填充至张量A[0,:,:]中,将第一马尔科夫概率转移矩阵作为G通道数据填充至张量A[1,:,:]中,将第二马尔科夫概率转移矩阵作为B通道数据填充至张量A[2,:,:]中。

步骤S302:对所述张量中的每一列进行归一化处理:

步骤S303:将所述张量中的元素进行缩放和二值化处理,并利用处理后的张量生成RGB图像。

具体地,缩放处理:将张量A中的元素缩放到[0,255]的范围内,并转换为int8类型;

二值化处理(可选):将张量A中的大于设定的阈值a的元素都设置为255,将小于设定的阈值a的元素都设置为0;再将张量A中每个元素作为一个像素,输出一张RGB三通道图像。

该方法还包括对图像分类模型进行训练,包括预训练和再训练两个过程,预训练时,使用预先收集的带标签的恶意代码和良性代码数据(可使用自行收集的数据或者网络上的公开数据集),进行可视化获得恶意代码图像,随后再将生成的代码图像输入给图像分类模型,以对图像分类模型进行特定图像分类场景下的训练。该过程可以在离线状态(即正式将本申请所述方法应用于实际的恶意代码分类检测场景之前)下完成:

预训练:以分类的类别数n为参数初始化图像分类模型如卷积神经网络(CNN)模型;

获取训练样本的RGB三通道图像;

将生成的RGB三通道图像输入图像分类模型,以获取图像被分类的标签,如输出为一个大小为n的向量,表示该图像属于不同类别的概率;

利用损失函数计算该标签和图像实际标签的差值,使用优化器更新图像分类模型中神经网络的梯度,对卷积神经网络(CNN)的参数进行优化;

重复上述步骤直到图像分类模型收敛。

示例地,如图7所示,为恶意代码分类示意图。在检测时,将待检测样本利用样本可视化模块生成代码图像(RGB图像)并输入到神经网络模型(图像分类模块),网络计算输出n维向量,再根据该向量计算该样本的预测类别,进而可以判断该样本是否为恶意代码,如果是则属于恶意代码的什么类别。

再训练:在实际使用过程中,为了防止恶意代码随时间的演化影响图像分类模型的性能,可以在一定时间内使用增量的恶意代码图像样本对图像分类器模块进行再训练。

利用该方法可初步判断待检测样本是否为恶意代码,对于恶意代码能够分类到具体的类别,以节省实际应用场景中的分析时间,进一步加快恶意代码检测;能够与SHAP、CAM等CNN分类问题解释技术相结合,给出CNN模型对代码分类的依据。

示例地,选择Microsoft Malware Classification Challenge(2015)数据集中的样例样本0A32eTdBKayjCWhZqDOQ.asm文件作为输入样本,如图8所示,为待测样本可视化示意图,样本可视化的具体步骤如下:

步骤S11:反编译:由于输入样本为.asm格式的汇编代码文件,所以不需要进行反编译操作。如果输入为二进制可执行文件,则将其输入到IDA Pro中进行反编译获得.asm文件;

步骤S12:提取操作码:从.asm格式的文件中提取出.text字段的操作码序列:'push','lea','push','mov','call','mov','mov'……,'mov','mov','jmp';

步骤S13:判断操作码序列中不同的操作码数量是否大于256:

若不同的操作码数量大于256:选取其中出现频率最高的256个操作码,删去原操作码序列中不属于这256个操作码的其他操作码,得到筛选后的新操作码序列;

若不同的操作码数量不大于256:不做任何操作(因为原始张量A为全0张量),新操作码序列和原操作码序列相同;最终获得的新操作码序列为'push','lea','push','mov','call','mov','mov'……,'mov','mov','jmp';

步骤S13:初始化该文件对应的RGB图像像素值张量为零张量A

步骤S14:提取出R通道图图像的SimHash矩阵:

(a)初始化Simhash值为s[256]={0};

(b)计算出操作码序列中每个操作码的SHA256哈希值,分别为:

’1101000100000111111010100011011000101001110000110010011001110001100010000111011011110000011100110101011010100100100011011110101000100110111100010010001101110100001011111000101111110100010011001110011101011111100011111000000001011100111110011010001101111101’

’101111111110111110000111110100001111111000110101110111100110100000100001101001111001011011010111100110000010100111100000011011110111101010010011010110010001100100010101100100100110001101010110000101000001110011110101101011110010001011111110100111001001011’

(c)对于每个操作码的hash,若第i位为1则s[i]+=1,否则s[i]-=1;

(d)对于上一步计算出的s,如果第i位大于0则s[i]=1,否则s[i]=0,最终得到SimHash值为:

’1101000001010111011010100010010111001011111001100011011001010011110110101011000110010011101010100110011011110100011001100000001110010011100000110011111001011000001011001000000111100000111011011000110101101010101011101101111110100110010110011010000001001101’

(e)将上一步得到的SimHash值重排为16×16的矩阵,再缩放到256×256的大小,填充到张量的第一通道A[0,:,:]中;

步骤S15:提取出G通道图像的马尔可夫概率转移矩阵:

将操作码序列中相邻的操作码对作为概率转移对('push','lea'),('lea','push'),('push','mov')……('mov','mov')('mov','jmp'),对于每个操作码将其出现频率在序列中所有操作码频率的排序作为其下标,在张量第二通道对应的元素位置(A[1,49,76],……,A[1,38,30])逐个加一;

在遍历完所有概率转移对之后,将张量A第二通道每一列的数值除以该行之和,即

步骤S16:提取出B通道图像的马尔可夫概率转移矩阵;

将间隔一个操作码的操作码对作为概率转移对('push','push'),('lea','mov')……('mov','jmp'),在张量第三通道对应的元素位置(A[2,49,49],49指的是push操作码在所有操作码中对应的频率排序为第49、A[2,38,30]……)逐个加一;

在遍历完所有概率转移对之后,将张量A第三通道每一行的数值除以该行之和,即

步骤S17:将A中元素映射到[0,255]范围内并将元素类型转换为int8;

步骤S18:利用Image相关包将张量A转化为RGB图像。

通过该方法得到的三通道RGB图像相较于单通道的灰度图图像来说,同时包括了操作码级别的三种不同尺度上的特征,因此信息密度更高;得到的RGB图像不需要进行裁剪、缩放等预处理方式就能直接输入给网络进行处理,从而避免了信息的丢失,原因是每个字节的状态数固定为256,所以本申请输出图像的尺寸也固定为256×256,符合本申请所用的图像分类模型的输入要求;利用了比字节级的特征更高级的操作码级的特征,不容易受到修改单个字节的对抗样本攻击的影响,稳定性更高更鲁棒;利用马尔可夫概率转移矩阵增加了操作码序列中相邻操作码转换模式的特征,即能够同时利用操作码频率和顺序的特征,因此能够增加模型检测的稳定性和精度。

利用该方法可构建一种效率高、精度高的代码可视化和恶意代码图像分类检测系统。

实施例2

本申请实施例提供一种恶意代码检测装置,应用于实施例1所述的恶意代码检测方法,如图9所示,为一种恶意代码检测装置的结构框图,所述装置包括但不限于:

操作码序列获取模块100,用于获取待检测样本的汇编代码并从所述汇编代码中提取出操作码序列;

数据计算模块200,用于计算所述操作码序列的局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵;

RGB图像生成模块300,用于将所述局部敏感哈希值、第一马尔科夫概率转移矩阵和第二马尔科夫概率转移矩阵对应填充到RGB图像的三个通道中,以生成RGB图像;

分类模块400,用于将所述RGB图像输入预训练的图像分类模型中,以确定所述待检测样本是否为恶意代码。

如图10所示,为另一种恶意代码检测装置的结构框图,所述数据计算模块200包括哈希值计算模块210,所述哈希值计算模块210包括:

SimHash值计算模块211,用于计算所述操作码序列的SimHash值;

重排模块212,用于将计算得到的SimHash值重排为16*16的矩阵,并缩放到256*256的大小。

所述数据计算模块200还包括第一马尔科夫概率转移矩阵计算模块220和第二马尔科夫概率转移矩阵计算模块230,其中,第一马尔科夫概率转移矩阵计算模块220用于:

获取待处理操作码序列:若所述操作码序列的长度大于256,则获取频率最高的256个操作码;若所述操作码序列的长度小于256,则利用空字符串将所述操作码序列填充至256;

利用长度为2个字节的滑动窗口从所述待处理操作码序列的第一个操作码滑动至最后一个操作码,并对滑动过程中落于窗口中的操作码加1。

第二马尔科夫概率转移矩阵计算模块230用于:

获取待处理操作码序列:若所述操作码序列的长度大于256,则获取频率最高的256个操作码;若所述操作码序列的长度小于256,则利用空字符串将所述操作码序列填充至256;

利用长度为3个字节的滑动窗口从所述待处理操作码序列的第一个操作码滑动至最后一个操作码,并对滑动过程中落于窗口中的操作码加1。

通过该方法得到的三通道RGB图像相较于单通道的灰度图像来说,同时包括了操作码级别的三种不同尺度上的特征,因此信息密度更高;得到的RGB图像不需要进行裁剪、缩放等预处理方式就能直接输入给网络进行处理,从而避免了信息的丢失,原因是每个字节的状态数固定为256,所以本申请输出图像的尺寸也固定为256×256,符合本申请所用的图像分类模型的输入要求;利用了比字节级的特征更高级的操作码级的特征,不容易受到修改单个字节的对抗样本攻击的影响,稳定性更高更鲁棒;利用马尔可夫概率转移矩阵增加了操作码序列中相邻操作码转换模式的特征,即能够同时利用操作码频率和顺序的特征,因此能够增加模型检测的稳定性和精度。

本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行实施例1所述的恶意代码检测方法。

本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行实施例1所述的恶意代码检测方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

相关技术
  • 一种新型绿色自动化集装箱码头堆场装卸工艺系统
  • 一种新型绿色自动化集装箱码头装卸工艺系统
技术分类

06120116548953