基于可扩展模式的恶意代码查杀系统和方法

文档序号:6442259阅读:181来源:国知局
专利名称:基于可扩展模式的恶意代码查杀系统和方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于可扩展模式的恶意代码查杀系统和方法。
背景技术
随着恶意代码源码的大量公开,病毒自动生成机的日益“普及”,及恶意远程控制软件和一些黑客工具随处可见,从而使生产和使用恶意代码的入门及操作更加容易,技术门槛越来越低;再加上恶意代码地下经济运作日趋“成熟”,使恶意代码技术不再只是属于民间,而是更加趋向于“职业技术团队”方向发展;互联网上的非法恶意代码开发培训网站收费低廉更促使了恶意代码的泛滥。基于以上原因恶意代码的生产者与使用者越来越多,促使恶意代码的种类与技术不断的更新。例如U盘病毒,ARP病毒,各种盗号木马,网页木马,僵尸网络,漏洞攻击等。无论是个人用户,大型企业,还是政府部门都遭受了不同程度的 经济损失。主要技术特点为智能化、人性化、隐蔽化、多祥化、攻击反病毒软件、模块化等。恶意代码技术变革速度正在以几何级数的速度不断加快,使对其使用通用查杀、统ー建模方式检测已有了快速的免杀措施。现有反病毒技术已存在了一定的查杀瓶颈。通用恶意代码等查杀方式的规则添加是固定的;而现今恶意代码的更新技术发展迅速,层出不穷的新技术与新方法不断被使用以抵抗常规反病毒软件的通用检测技术,当这些软件想再加入新的检测方式时,便在扩充性上遇到了瓶颈;反病毒软件不可以频繁的更改其恶意代码的特征检测方法。如果频繁的更新相当于一次又一次的重新开发软件。而在基于可扩展模式的恶意代码查杀系统中此问题不复存在,其采用脚本组件形式进行查杀方法的定制实现,通过功能组件方式进行新功能的扩展开发实现,以引擎对象进行整体管理与调度执行,最终达到扩展模式与查杀功能的目的。

发明内容
本发明提供了一种基于可扩展模式的恶意代码查杀系统和方法,解决了目前在恶意代码通用查杀方法上的不足与滞后性。特别是在其可扩展性与灵活性上,使恶意代码的查杀技术可被定制,能够针对流行恶意代码的各种不同行为进行处置与查杀。基于可扩展模式的恶意代码查杀系统的基本原理是ー种用于面向恶意代码查杀技术的可扩展模式;包括实现各个扩展方法的相关功能组件,进行定制相应查杀方法的相关脚本组件,以及实现综合管理、调度、执行的引擎对象。该可扩展模式还包括与功能组件相关联的应用程序的上下文实现,与脚本组件的应用程序相关联的上下文实现,以及组件与引擎对象之间的各种相互关系与协调管理调度等。功能组件可应用不同的扩展方法,完成各种扩展功能。不同的扩展方法可由ー个功能组件实现,也可由多个功能组件实现。在功能组件实现和随时增删组件时对其它组件及对象透明,只给出调用接ロ即可。脚本组件可应用不同的定制方法,完成具体的恶意代码查杀方法的实现与功能调用。不同的定制方法可由ー个脚本组件实现,也可以由多个脚本组件实现。引擎对象包括组件管理器、组件执行器、优先级组件,以完成恶意代码查杀的整体管理、调度、执行的各个操作。其中组件管理器对众多组件进行统ー的管理与调度操作。其中组件执行器对需要执行的组件进行相应方法执行。其中优先级组件对各组件进行有序的管理,以配合其它组件管理器进行组件的排序、级别的指派与分发。本发明提供的一种基于可扩展模式的恶意代码查杀系统,包括
功能组件,包括实现恶意代码处置策略所需的功能模块,并提供功能模块的导出接
n ;
脚本组件,包括实现恶意代码处置策略的处置脚本,并提供处置脚本的调用接ロ,所述处置脚本是通过功能组件的导出接ロ调用了功能模块的处置脚本;
引擎对象,管理和调度功能组件和脚本组件,执行脚本组件中的处置脚本,实现恶意代码处置策略,完成恶意代码查杀。 所述功能模块包括预先存在的功能模块和自行扩展开发的功能模块。所述处置脚本包括预先存在的处置脚本和自行扩展开发的处置脚本。所述系统包括ー个或者多个功能组件。 所述系统包括ー个或者多个脚本组件。所述引擎对象具体包括
组件管理器,用于管理和调度功能组件和脚本组件;
组件执行器,用于调用脚本组件的调用接ロ执行脚本组件;
优先级组件,用于对功能组件和脚本组件进行有序管理,确定功能组件和脚本组件的执行次序。本发明还提供了一种基于可扩展模式的恶意代码查杀方法,适用于上文所述的系统,所述方法包括步骤
分析恶意代码得到查杀恶意代码的处置策略,判断脚本组件中是否已经有所述处置策略对应的处置脚本;
如果已有处置脚本能够实现所述处置策略,则复用已有脚本组件中的处置脚本;如果已有处置脚本不能够实现所述处置策略,则将所述处置策略拆分为策略模块,每个策略模块对应ー个功能模块;
检测拆分的策略模块所对应的功能模块是否已经在已有的功能组件中实现,如果所述的功能模块还没有在功能组件中实现,则在已有的功能组件中扩展开发相应的功能模块,并提供功能模块的导出接ロ ;如果所述的功能模块已经在功能组件中实现,则复用已经实现的功能模块;
基于所拆分的策略模块对应的所有功能模块,在已有的脚本组件中扩展开发处置策略对应的处置脚本,并提供处置脚本的调用接ロ ;
引擎对象调用执行脚本组件,实现处置策略,完成恶意代码的查杀。所述方法检测拆分的策略模块所对应的功能模块是否已经在已有的功能组件中实现,如果所述的功能模块还没有在功能组件中实现,则在自行创建的功能组件中扩展开发相应的功能模块,并提供功能模块的导出接ロ。所述方法基于所拆分的策略模块对应的所有功能模块,在自行创建的脚本组件中扩展开发处置策略对应的处置脚本,并提供处置脚本的调用接ロ。
所述方法引擎对象调用执行脚本组件之前还包括步骤
测试脚本组件中的处置脚本,如果测试成功,则引擎对象调用执行脚本组件,实现处置策略,完成恶意代码的查杀。本发明达到的有益效果是
本发明对流行的新变种或新家族的恶意代码能够第一时间形成查杀方案,且方案易于增删、易于扩展、易于维护;没有额外的开发及人工开销,极大的方便了恶意代码的处置与查杀。可以解决常规恶意代码通用查杀方法新特征增加或新的处置策略増加的困难及开发周期长的问题。解决了传统的恶意代码特征库处置的弊端。而且此可扩展模型能够使恶意代码的处置更加易用化,使对恶意代码的查杀平民化,普及化。


为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明基于可扩展模式的恶意代码查杀系统示意 图2为本发明基于可扩展模式的恶意代码查杀系统结构框 图3为本发明基于可扩展模式的恶意代码查杀方法流程图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进ー步详细的说明。如图I所示,为本发明基于可扩展模式的恶意代码查杀系统示意图,包括实现各个扩展方法的相关功能组件101,进行定制相应查杀方法的相关脚本组件102,以及实现综合管理、调度、执行的引擎对象103。该可扩展模式还包括与功能组件101相关联的应用程序的上下文实现,与脚本组件102的应用程序相关联的上下文实现,以及组件与引擎对象103之间的各种相互关系与协调管理调度等。如图2所示,为本发明基于可扩展模式的恶意代码查杀系统结构框图;功能组件101可应用不同的扩展方法,完成各种扩展功能。不同的扩展方法可由ー个功能组件实现,也可由多个功能组件实现。在功能组件实现和随时增删组件时对其它组件及对象透明,只给出调用接ロ即可。脚本组件102可应用不同的定制方法,完成具体的恶意代码查杀方法的实现与功能调用。不同的定制方法可由ー个脚本组件实现,也可以由多个脚本组件实现。引擎对象103包括组件管理器205、组件执行器206、优先级组件207,以完成恶意代码查杀的整体管理、调度、执行的各个操作。其中组件管理器205对众多组件进行统ー的管理与调度操作。其中组件执行器206对需要执行的组件进行相应方法执行。其中优先级组件207对各组件进行有序的管理,以配合其它组件管理器进行组件的排序、级别的指派与分发。其中,处置策略是针对恶意代码进行深入分析后的最终恶意代码查杀解决方案。功能模块201是功能组件101的组成部分;其作用是完成恶意代码处置中的扩展方法的实现。当新的恶意代码的行为有明显变化吋,即可将关键处置策略分解拆分成多个功能,每个功能由一个或多个功能模块进行实现。功能模块会注册到导出接ロ 202中。导出接ロ 202是功能组件101的导出接ロ ;功能组件101中的各个功能模块201会统ー注册到此接口中,供引擎对象管理与调用。脚本组件102中的处置脚本203会调用导出接ロ 202导出的功能进行功能模块201的调用。处置脚本203是脚本组件102的组成部分;对恶意代码的处置策略进行脚本开发,在开发中主要基于已实现的各功能组件101调用,进而完成各种恶意代码不同的查杀处置。处置脚本203会注册或写入到调用接ロ 204中。调用接ロ 204是脚本组件102的调用接ロ ;此部分涉及如何将开发完成的脚本进行正确的执行,以及脚本组件102、功能组件101和引擎对象103之间相互调用及消息传递的问题。组件执行器206在执行脚本组件102时调用其调用接ロ 204。 功能组件101包括实现恶意代码处置策略所需的功能模块,并提供功能模块的导出接ロ。处置策略拆分成的多个功能,每个功能由一个或多个功能模块进行实现。完成每个功能的所有功能模块通过导出接ロ 202注册到ー个功能组件中。即每个功能对应ー个功能组件,每个功能组件可由多个功能模块组成。脚本组件102脚本组件g在完成恶意代码的处置策略的脚本实现;可接受引擎对象103的调度来完成处置策略的成功执行。脚本具体用什么脚本语言可视开发者自由选择。一个处置策略对应ー个脚本组件,每个脚本组件可有多个不同分エ的处置脚本。引擎对象103中组件管理器205至少管理ー个功能组件101与ー个脚本组件102 ;在管事中会对组件进行加载与初始化等工作。引擎对象103中的组件执行器206会执行组件管理器205中的脚本组件102,在执行中调用脚本组件102的调用接ロ 204执行;在执行脚本组件102同时会执行脚本组件102中应用到的功能组件101,组件执行器206调用导出接ロ 202进行功能的执行。引擎对象103中的优先级组件207在组件管理器205与组件执行器206中均会起到相应排序与级别响应的关系。组件管理器205与组件执行器206存在依赖关系统,当组件执行器206执行组件吋,将在组件管器205中进行查找相应组件,获取组件信息,访问优先级组件207查看是否是当前组件的级别或执行次序,进而执行该组件。引擎对象除完成以上内容外,还进行各组件或对象相关联的应用程序的上下文与现有组件及对象之间的关系,整体查杀的管理与控制,完成最終的恶意代码处置策略。本发明主要包括三个主要部分功能组件101、脚本组件102、引擎对象103,这三部分互相独立,但又存在依赖关系;脚本组件102是建立在功能组件101的基础之上,且引擎对象103又是以功能组件101与脚本组件102为依托。下面结合图3本发明基于可扩展模式的恶意代码查杀方法流程图具体说明
步骤301 :分析恶意代码形成处置策略
对恶意代码进行深入分析,给出最終的恶意代码查杀处置策略。此步完成后,转到步骤302。恶意代码包括但不限于
仅ー个恶意代码没有任何操作行为或有操作行为;
至少两个恶意代码没有任何操作行为或有操作行为。
恶意代码操作行为指恶意代码能够进行的所有操作,恶意代码只要能够执行,便存在操作行为。步骤302 :判断步骤301中的处理策略对应的脚本组件中是否已存在处置脚本 此步g在完成检测与判断功能,避免重复开发,如果已有脚本组件能够完成步骤301
中的处理策略则进行复用,其中已有的脚本组件可以有多种形式
一个已有脚本组件中的处置脚本可完成步骤301中处置策略;
多个已有脚本组件中的多个处置脚本组合可完成步骤301中的处置策略。当已有脚本组件能够完成处置策略吋,进行步骤303 ;否则转到步骤304与步骤308。
步骤303 复用已有脚本组件
进行复用已有脚本组件的开发,以ー个新的脚本组件来复用已有脚本组件,完成处置策略。其中复用脚本组件时,在进行步骤301中的处理策略的实现复用中,可能会改变ー些变量、參数或属性等的值,为正常现象。此步完成后,转到步骤310。步骤304 :将处置策略拆分成多个功能
此处拆分成的多个功能的拆分方法依照不同的处置策略而定,每个功能会在对应功能组件中具体实现。此步完成后,转到步骤305。步骤305 :检测每个功能是否在已有功能组件中实现
在拆分完成的功能中,存在已在功能组件中实现的部分,如存在,则可复用已有功能组件,避免重复开发;如未存在则进行开发扩展的功能组件。在判断中会出现多种形式拆分后的所有功能均在已有功能组件中实现,此时转到步骤306 ;
拆分后的所有功能均未在已有功能组件中实现,此时转到步骤307 ;
拆分后的部分功能在已有功能组件中实现,此时已在已有功能组件实现的部分转到步骤306,未在已有功能组件实现的部分转到步骤307。步骤306 :复用已有功能组件
对拆分后的功能进行复用已有功能组件。在复用已有功能组件时要结合开发扩展脚本组件进行复用功能组件,复用中会涉及到将已有多个功能模块重新封装成功能组件、适当參数改写、传输接ロ输出等。步骤307 :开发扩展功能组件
当不能进行复用已有功能组件时,就需要进行扩展功能组件的开发工作。此时需要完成两部分内容,第一部分是功能模块的开发,另一部分是导出接ロ増加。且在进行功能组件的开发中还要与扩展脚本组件的开发相结合,以开发出更适合脚本调用的功能组件。下面对功能模块与导出接ロ给出简单的示例,g在说明其两部分的内容,具体实现可依具体需求而定。下面是ー个取文件特征哈希值的功能模块举例,来进行说明功能模块。示例功能模块名称GetHash,其主要功能是取文件特征的各种哈希值,具体如下
功能模块=GetHash 功能取特征哈希值
參数〈File〉=く 全路径 > I〈Flag〉=く 相对位置 > |〈Offset〉=く 偏移 > |〈Size〉=く 大小> I〈Hash〉=く哈希算法>
返回成功〃〈1^81110=〈1冊£>|〈版811>=〈哈希值>〃,失败〃〈Result>=〈FALSE>〃说明 首先以參数指定的方法提取文件特征,然后将该文件特征进行指定的哈希计算,并将结果返回示例I:
<File>=<c:\\svohost. exe>|<Flag>=<Section>|<0ffset>=<l_+24>|<Size>=〈*128><Hash>=<md5>
〈File〉值:
01.文件全路径 〈Flag〉值
01.FullFile//全文件
02.FullPE//全 PE
03.MZHeader//Dos 头与 Dos 体
04.PEHeader//PE 头至 PE 尾
05.AddressOfEntryPoit // 入口点
//如Offset为+:则入口点至文件尾.如Offset为则文件起始至入口点
06.Import// 导入表
07.Export// 导出表
08.Resource// 资源节
09.Section//各节当为Section时Offset为第几个节_偏移,例<0ffset>=<l_+24>
10.LastSection// 最后一个节
11.PEAttach //PE 附加信息
〈Offset〉值前缀符+ -必须有。如果为Offset为0,则头偏移为+0,尾偏移为_0
01.+//从头开始偏移
02.-Il尾部开始偏移 〈Size〉值如非@则前缀*或$必有
*Il精确
$//至多
i//整个块,
//当Size取@值时,Offset只能为三种值+0或-0或Flag为Section时节_+0,或节_-o
〈Hash〉值
01.crc32//crc32 值
02.md5//md5 值
03.shal//shal 值
04.sha256//sha256 值
05.sha384//sha384 值
06.sha512//sha512 值在下面给出ー种简单的导出接ロ结构,g在举例说明功能组件的导出接ロ。以链表形式对功能模块的名称与地址进行存储。typedef struct —List
{
_List ()//初 始化
{
pName = NULL; pProc = NULL; next = NULL;
}
LPTSTR pName; //功能模块名称存储 LPVOID pProc; //功能模块地址存储 _List * next; //下一节点位置 }List,氺PList;
功能模块GetHash在此导出接口中存储为 pName 值为 “GetHash”, pProc值为GetHash的地址, next值为下一个节点的地址。步骤308 :开发扩展脚本组件
在脚本组件中处置脚本主要完成脚本的实现,在实现中会应用功能组件导出的功能。调用接口供引擎对象的组件执行器进行调用执行。在脚本组件的开发中要結合功能组件进行功能的实现与测试等。下面给出ー个脚本的Lua实现举例。本例子只是ー个示例作用,脚本组件真正的实现可由开发者而定。/氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺/
Name=〃KillVirus〃 一脚本名称 Author=〃a〃一脚本作者
tabHash = {—全局字典库
[〃849D3AAlC454EAF7698F14D99713D2A7〃]=〃AresRemote〃,["087518C8D882E301A0B074BA573DE382"]="ZXSHELじ,
}
function SysScan (Parameter)—一次性操作 return 〃0K〃
end
function FileScan (parameter) —文件型操作 tabname=SpIitParameter (parameter) name=tabname. FileName
FileN="〈File>=〈". name. “〉|<Flag>=<AddressOfEntryPoit>|<0ffset>=〈+0>|〈Size>=〈*256>I<Hash>=〈md5>〃Fmd5=Invoke {Function="GetHash",Parameter=Fi IeN} —Invoke 功能组件调用,GetHash取文件特征
tabFmd5=SpIitParameter(Fmd5)
Vmd5=tabFmd5. Hashif tabFmd5. Result == 〃TRUE〃 thenfor k,V in pairs (tabHash)do
if Vmd5==kthen DelFilename=〃<File>=ぐ,..name .. 〃>〃
sdl=Invoke{Function=〃DelFile〃,Parameter=DelFile
name} —DelFile 文件删除
rtab=SpIi tParameter (sdl)if rtab. Result == 〃TRUE〃 thenRES="清除成功〃
else
RES="清除失败〃
end
FileEvent = string, format(〃<%s>=<%s>|<%s>=<find:%s> I <%s>=〈%s>","Object",name, "Event",v, "Result",RES)
Invoke{Function=〃AddEvent〃, Parameter=FileEventj
—AddEvent进行显不
end
end
end
return 〃0K〃
end
SysScan 与 FileScan 为调用接 ロ,GetHash、DelFiIe、AddEvent 为脚本中调用的功能模块,格式解析函数Sp Ii tParame ter,脚本中还包括全局变量Name、Author,传参变量parameter、交互函数Invoke,局部变量等。步骤309 :测试所有组件
此步骤指所有的拆分功能均在已存在或开发的功能组件中实现,且在脚本组件中全部调用成功,完成既定功能的实现与测试。所有处置策略在已有或新开发的脚本组件中均完成,且测试成功。步骤310 :对引擎对象进行调用完成查杀
对引擎对象进行调用,进而完成恶意代码的查杀,在此调用中可以多种形式,包括但不限于以下形式
以后台运行形式进行调用;
以带有界面的应用软件形式进行调用;
以命令行形式进行调用;以远程执行形式进行调用;
以嵌入其它软件或命令形式进行调用。具体如何调用查杀依赖于如何对引擎对象调用的实现。本说明书中方法的实施例采用递进的方式描述,对于系统的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处參见方法实施例的部分说明即可。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种基于可扩展模式的恶意代码查杀系统,其特征在于,包括 功能组件,包括实现恶意代码处置策略所需的功能模块,并提供功能模块的导出接n ; 脚本组件,包括实现恶意代码处置策略的处置脚本,并提供处置脚本的调用接口,所述处置脚本是通过功能组件的导出接口调用了功能模块的处置脚本; 引擎对象,管理和调度功能组件和脚本组件,执行脚本组件中的处置脚本,实现恶意代码处置策略,完成恶意代码查杀。
2.如权利要求I所述的基于可扩展模式的恶意代码查杀系统,其特征在于,所述功能模块包括预先存在的功能模块和自行扩展开发的功能模块。
3.如权利要求I所述的基于可扩展模式的恶意代码查杀系统,其特征在于,所述处置脚本包括预先存在的处置脚本和自行扩展开发的处置脚本。
4.如权利要求I所述的基于可扩展模式的恶意代码查杀系统,其特征在于,所述系统包括一个或者多个功能组件。
5.如权利要求I所述的基于可扩展模式的恶意代码查杀系统,其特征在于,所述系统包括一个或者多个脚本组件。
6.如权利要求I所述的基于可扩展模式的恶意代码查杀系统,其特征在于,所述引擎对象具体包括 组件管理器,用于管理和调度功能组件和脚本组件; 组件执行器,用于调用脚本组件的调用接口执行脚本组件; 优先级组件,用于对功能组件和脚本组件进行有序管理,确定功能组件和脚本组件的执行次序。
7.一种基于可扩展模式的恶意代码查杀方法,其特征在于,适用于权利要求I所述的系统,所述方法包括步骤 分析恶意代码得到查杀恶意代码的处置策略,判断脚本组件中是否已经有所述处置策略对应的处置脚本; 如果已有处置脚本能够实现所述处置策略,则复用已有脚本组件中的处置脚本; 如果已有处置脚本不能够实现所述处置策略,则将所述处置策略拆分为策略模块,每个策略模块对应一个功能模块; 检测拆分的策略模块所对应的功能模块是否已经在已有的功能组件中实现,如果所述的功能模块还没有在功能组件中实现,则在已有的功能组件中扩展开发相应的功能模块,并提供功能模块的导出接口 ;如果所述的功能模块已经在功能组件中实现,则复用已经实现的功能模块; 基于所拆分的策略模块对应的所有功能模块,在已有的脚本组件中扩展开发处置策略对应的处置脚本,并提供处置脚本的调用接口 ; 引擎对象调用执行脚本组件,实现处置策略,完成恶意代码的查杀。
8.如权利要求7所述的基于可扩展模式的恶意代码查杀方法,其特征在于,检测拆分的策略模块所对应的功能模块是否已经在已有的功能组件中实现,如果所述的功能模块还没有在功能组件中实现,则在自行创建的功能组件中扩展开发相应的功能模块,并提供功能模块的导出接口。
9.如权利要求7所述的基于可扩展模式的恶意代码查杀方法,其特征在于,基于所拆分的策略模块对应的所有功能模块,在自行创建的脚本组件中扩展开发处置策略对应的处置脚本,并提供处置脚本的调用接口。
10.如权利要求7所述的基于可扩展模式的恶意代码查杀方法,其特征在于,引擎对象调用执行脚本组件之前还包括步骤 测试脚本组件中的处置脚本,如果测试成功,则引擎对象调用执行脚本组件,实现处置策略,完成恶意代码的查杀。
全文摘要
本发明公开了一种基于可扩展模式的恶意代码查杀系统,包括功能组件,包括实现恶意代码处置策略所需的功能模块,并提供功能模块的导出接口;脚本组件,包括实现恶意代码处置策略的处置脚本,并提供处置脚本的调用接口,所述处置脚本是通过功能组件的导出接口调用了功能模块的处置脚本;引擎对象,管理和调度功能组件和脚本组件,执行脚本组件中的处置脚本,实现恶意代码处置策略,完成恶意代码查杀。本发明还公开了一种基于可扩展模式的恶意代码查杀方法。本发明对流行的新变种或新家族的恶意代码能够第一时间形成查杀方案,且方案易于增删、易于扩展、易于维护;没有额外的开发及人工开销,极大的方便了恶意代码的处置与查杀。
文档编号G06F9/44GK102810142SQ201110429668
公开日2012年12月5日 申请日期2011年12月20日 优先权日2011年12月20日
发明者李柏松, 宋兵 申请人:北京安天电子设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1