CN102156830A - 逻辑设备名到盘符的映射方法 - Google Patents

逻辑设备名到盘符的映射方法 Download PDF

Info

Publication number
CN102156830A
CN102156830A CN2011100614955A CN201110061495A CN102156830A CN 102156830 A CN102156830 A CN 102156830A CN 2011100614955 A CN2011100614955 A CN 2011100614955A CN 201110061495 A CN201110061495 A CN 201110061495A CN 102156830 A CN102156830 A CN 102156830A
Authority
CN
China
Prior art keywords
name
logical device
drive
symbolic links
device name
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
Application number
CN2011100614955A
Other languages
English (en)
Inventor
于晓军
万雪松
赵辰清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STRONG UNION TECHNOLOGY Co Ltd
Original Assignee
STRONG UNION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by STRONG UNION TECHNOLOGY Co Ltd filed Critical STRONG UNION TECHNOLOGY Co Ltd
Priority to CN2011100614955A priority Critical patent/CN102156830A/zh
Publication of CN102156830A publication Critical patent/CN102156830A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种逻辑设备名到盘符的映射方法,主要涉及进程安全防护和文件过滤领域。该方法包括以下步骤:以符号链接名为参数,使用函数InitializeObjectattributes初始化得到符号链接名对应的属性对象OBJECT_ATTRIBUTES,从符号链接名中提取对应的盘符;使用函数ZwOpenSymbolicLinkObject,调用对象OBJECT_ATTRIBUTES作为参数,得到对应对象的句柄;使用函数ZwQuerySymbolicLinkObject查询句柄,得到对应符号链接名的逻辑设备名,保存逻辑设备名和盘符之间对应关系。该方法建立了逻辑设备名到盘符的对应关系,方便了用户使用。

Description

逻辑设备名到盘符的映射方法
技术领域
本发明涉及进程安全防护和文件过滤领域,特别涉及一种逻辑设备名到盘符的映射方法。
背景技术
在进行进程防杀(防止要保护的进程被一些恶意软件关闭)的过程中,根据进程句柄得到进程的ID(identity,标识),再得到进程的路径。在获得进程路径时,不能使用PEB(Process Environment block,进程环境块信息)结构得到进程路径,因为在任务管理器杀进程时根据PEB得到的进程路径有时为空,所以必须使用ZwQueryInformationProcess来得到进程路径。问题的关键在于,通过ZwQueryInformationProcess得到的进程路径中,盘符为“X:”的Dos设备名(符号链接名为“\DosDevices\X:”)显示其逻辑设备名,如“\Device\HarddiskVolumel”。
然而,对进程路径比较(当一个进程将被关闭时,要把它和被保护的进程进行匹配,如果匹配成功说明该进程是被保护的进程,不允许该进程被关闭。)的时候使用的是盘符而不是逻辑设备名。所以我们就需要一个转化把逻辑设备名转化为盘符,但是不幸的是,没有这样的API(Application Program Interface,应用程序接口)可以调用。很多安全厂商没有使用盘符而是使用了\Device\HarddiskVolume1类的逻辑设备名,这给用户带来了很大的不便。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种逻辑设备名到盘符的映射方法。
(二)技术方案
为解决上述技术问题,本发明提供一种逻辑设备名到盘符的映射方法,包括以下步骤:
S100:以符号链接名为参数,使用函数InitializeObjectattributes初始化得到所述符号链接名对应的属性对象OBJECT_ATTRIBUTES,从所述符号链接名中提取对应的盘符;
S200:使用函数ZwOpenSymbolicLinkObject,调用所述属性对象OBJECT_ATTRIBUTES作为参数,得到对应所述属性对象OBJECT_ATTRIBUTES的句柄;
S300:使用函数ZwQuerySymbolicLinkObject查询所述句柄,得到对应所述符号链接名的逻辑设备名,保存所述逻辑设备名和所述盘符之间的对应关系。
优选地,所述方法还包括以下步骤:
S010:初始化一个字符数组变量,将所述字符数组变量赋值为第i符号链接名;
S020:判断所述字符数组变量对应符号链接名是否是第n+1符号链接名,若是,退出;否则,依次执行所述步骤S100、S200、S300,执行步骤S301;
S301:将所述字符数组变量赋值为第i+1符号链接名,i自增1,执行所述步骤S020;
其中,所述步骤S100中符号链接名为所述字符数组变量对应符号链接名;所述i和n为整数。
优选地,所述字符数组变量为无符号宽字节型字符数组变量。
优选地,在执行所述步骤S010或者S100或者S200中任一步时,如果成功,执行下一步;否则,退出。
优选地,所述步骤S300中将所述逻辑设备名和所述盘符之间的对应关系作为全局变量保存。
(三)有益效果
本发明的映射方法建立了逻辑设备名到盘符的对应关系。这样,在进行进程路径比较时,或者当进程被合法关闭时,我们看到的不再是如\Device\HarddiskVolume1\qq.exe的进程路径,而是比较直观的如C:\qq.exe的进程路径,方便了用户使用。
附图说明
图1是本发明实施例的逻辑设备名到盘符的映射方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明实施例的逻辑设备名到盘符的映射方法流程图。如图1所示,所述方法包括以下步骤:
S010:初始化一个字符数组变量,将所述字符数组变量赋值为第i符号链接名。所述i为整数。
S020:判断所述字符数组变量对应符号链接名是否是第n+1符号链接名,若是,退出;否则,执行下一步。所述n为整数。
S100:以符号链接名为参数,使用函数InitializeObjectattributes初始化得到对应所述符号链接名的属性对象OBJECT_ATTRIBUTES,从所述符号链接名中提取对应的盘符。所述符号链接名为所述字符数组变量对应的符号链接名。所述函数InitializeObjectattributes为操作系统API函数。所述对象OBJECT_ATTRIBUTES为微软定义的数据结构类型。
S200:使用函数ZwOpenSymbolicLinkObject,调用所述属性对象OBJECT_ATTRIBUTES作为参数,得到对应所述属性对象OBJECT_ATTRIBUTES的句柄。所述函数ZwOpenSymbolicLinkObject为操作系统API函数。
S300:使用函数ZwQuerySymbolicLinkObject查询所述句柄,得到对应所述符号链接名的逻辑设备名,保存所述逻辑设备名和所述盘符之间的对应关系。所述函数ZwQuerySymbolicLinkObject为操作系统API函数。
S301:将所述字符数组变量赋值为第i+1符号链接名,i自增1,执行所述步骤S020。
该映射方法建立了逻辑设备名到盘符的对应关系。这样,在进行进程路径比较时,或者当进程被合法关闭时,我们看到的不再是如\Device\HarddiskVolume1\qq.exe的进程路径,而是比较直观的如C:\qq.exe的进程路径。
如表1所示,符号链接名的形式固定如\DosDevices\A:,并且其中所包含的A:即为其所对应的盘符。同理,符号链接名为\DosDevices\B:的设备,对应盘符为B:。但是,符号链接名为\DosDevices\A:的设备,其逻辑设备名可能为\Device\HarddiskVolume1,也有可能为\Device\HarddiskVolume3,不可直观的根据符号链接名确定。
所以,需要通过执行步骤S100,初始化得到对应符号链接名(假设为\DosDevices\A:)的属性对象;执行步骤S200得到对应所述属性对象的句柄;执行步骤S300查询所述句柄,得到对应所述符号链接名的逻辑设备名(假设为\Device\HarddiskVolume1);并且,在步骤S100中已经从所述符号链接名中提取对应的盘符(A:)。从而,可以建立逻辑设备名(\Device\HarddiskVolume1)和盘符(A:)之间的对应关系。并且,通过上述循环查询,可以建立多个逻辑设备名和其对应的盘符之间的对应关系。
表1设备名称对照关系表
  逻辑设备名举例   符号链接名举例   盘符举例
  \Device\HarddiskVolume1   \DosDevices\A:   A:
其中,所述字符数组变量为无符号宽字节型字符数组变量,可以方便的从符号链接名中提取盘符。
其中,在执行所述步骤S010或者S100或者S200中任一步时,如果成功,执行下一步;否则,退出。通过设置此种判断,可以在系统出现异常,无法正常执行相应步骤时,保证程序可以及时退出,提高了程序的健壮性。
其中,所述步骤S300中将所述逻辑设备名和所述盘符之间的对应关系作为全局变量保存,方便后续使用过程的调用。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (5)

1.一种逻辑设备名到盘符的映射方法,其特征在于,包括以下步骤:
S100:以符号链接名为参数,使用函数InitializeObjectattributes初始化得到所述符号链接名对应的属性对象OBJECT_ATTRIBUTES,从所述符号链接名中提取对应的盘符;
S200:使用函数ZwOpenSymbolicLinkObject,调用所述属性对象OBJEC_ ATTRIBUTES作为参数,得到对应所述属性对象OBJECT_ATTRIBUTES的句柄;
S300:使用函数ZwQuerySymbolicLinkObject查询所述句柄,得到对应所述符号链接名的逻辑设备名,保存所述逻辑设备名和所述盘符之间的对应关系。
2.如权利要求1所述的逻辑设备名到盘符的映射方法,其特征在于,所述方法还包括以下步骤:
S010:初始化一个字符数组变量,将所述字符数组变量赋值为第i符号链接名;
S020:判断所述字符数组变量对应符号链接名是否是第n+1符号链接名,若是,退出;否则,依次执行所述步骤S100、S200、S300,执行步骤S301;
S301:将所述字符数组变量赋值为第i+1符号链接名,i自增1,执行所述步骤S020;
其中,所述步骤S100中符号链接名为所述字符数组变量对应符号链接名;所述i和n为整数。
3.如权利要求2所述的逻辑设备名到盘符的映射方法,其特征在于,所述字符数组变量为无符号宽字节型字符数组变量。
4.如权利要求2所述的逻辑设备名到盘符的映射方法,其特征在于,在执行所述步骤S010或者S100或者S200中任一步时,如果成功,执行下一步;否则,退出。
5.如权利要求2所述的逻辑设备名到盘符的映射方法,其特征在于,所述步骤S300中将所述逻辑设备名和所述盘符之间的对应关系作为全局变量保存。
CN2011100614955A 2011-03-15 2011-03-15 逻辑设备名到盘符的映射方法 Pending CN102156830A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100614955A CN102156830A (zh) 2011-03-15 2011-03-15 逻辑设备名到盘符的映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100614955A CN102156830A (zh) 2011-03-15 2011-03-15 逻辑设备名到盘符的映射方法

Publications (1)

Publication Number Publication Date
CN102156830A true CN102156830A (zh) 2011-08-17

Family

ID=44438322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100614955A Pending CN102156830A (zh) 2011-03-15 2011-03-15 逻辑设备名到盘符的映射方法

Country Status (1)

Country Link
CN (1) CN102156830A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015188586A1 (zh) * 2014-06-11 2015-12-17 西安中兴新软件有限责任公司 数据传输方法及电子设备、usb设备、存储介质
CN106156610A (zh) * 2016-06-29 2016-11-23 北京金山安全软件有限公司 一种进程路径获取方法、装置和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876885A (zh) * 2010-06-18 2010-11-03 中兴通讯股份有限公司 一种分配逻辑盘符的方法及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876885A (zh) * 2010-06-18 2010-11-03 中兴通讯股份有限公司 一种分配逻辑盘符的方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHACENT: "请教下如何把符号连接名转换成盘符?", 《HTTP://BBS3.DRIVERDEVELOP.COM /READ.PHP?TID-103116.HTML》 *
SYF442: "符号链接&设备名称", 《HTTP://BLOG.CSDN.NET/SYF442/ARTICLE/DETAILS/4576877》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015188586A1 (zh) * 2014-06-11 2015-12-17 西安中兴新软件有限责任公司 数据传输方法及电子设备、usb设备、存储介质
CN105224483A (zh) * 2014-06-11 2016-01-06 西安中兴新软件有限责任公司 数据传输方法、电子设备及通用串行总线设备
CN105224483B (zh) * 2014-06-11 2019-11-12 西安中兴新软件有限责任公司 数据传输方法、电子设备及通用串行总线设备
CN106156610A (zh) * 2016-06-29 2016-11-23 北京金山安全软件有限公司 一种进程路径获取方法、装置和电子设备
CN106156610B (zh) * 2016-06-29 2019-02-12 珠海豹趣科技有限公司 一种进程路径获取方法、装置和电子设备

Similar Documents

Publication Publication Date Title
US10417424B2 (en) Method of remediating operations performed by a program and system thereof
CN104462970B (zh) 一种基于进程通信的Android应用程序权限滥用检测方法
US8726387B2 (en) Detecting a trojan horse
US11012449B2 (en) Methods and cloud-based systems for detecting malwares by servers
CN102254113A (zh) 一种检测和拦截移动终端恶意代码的方法及系统
CN101587527B (zh) 病毒程序扫描方法及装置
CN103839003A (zh) 恶意文件检测方法及装置
CN104640105B (zh) 手机病毒分析和威胁关联的方法和系统
CN103294951A (zh) 一种基于文档型漏洞的恶意代码样本提取方法及系统
CN105718793A (zh) 基于修改沙箱环境防止恶意代码识别沙箱的方法及系统
CN102156650B (zh) 一种实现补丁自动分析的方法及装置
CN106682493B (zh) 一种防止进程被恶意结束的方法、装置及电子设备
KR100985076B1 (ko) Usb 디바이스 보안 장치 및 방법
CN101021891A (zh) 一种进程管理方法和装置
CN107729748B (zh) 一种描述文件在沙箱中运行轨迹图的方法
CN106650447A (zh) 一种防御PowerShell恶意代码执行的方法及系统
CN102156830A (zh) 逻辑设备名到盘符的映射方法
US8756695B1 (en) Analysis of binary code
CN104732148A (zh) 分布式查杀的方法及系统
CN105447348B (zh) 一种显示窗口的隐藏方法、装置及用户终端
WO2009097241A1 (en) A method and system for assessing deployment and un-deployment of software installations
CN105975860B (zh) 一种信任文件管理方法、装置及设备
US10599845B2 (en) Malicious code deactivating apparatus and method of operating the same
CN101777102B (zh) 一种对内核的安全审计方法和系统
JP2016009227A (ja) ログ取得装置およびログ取得プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110817