CN102156830A - 逻辑设备名到盘符的映射方法 - Google Patents
逻辑设备名到盘符的映射方法 Download PDFInfo
- 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
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中将所述逻辑设备名和所述盘符之间的对应关系作为全局变量保存。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876885A (zh) * | 2010-06-18 | 2010-11-03 | 中兴通讯股份有限公司 | 一种分配逻辑盘符的方法及设备 |
-
2011
- 2011-03-15 CN CN2011100614955A patent/CN102156830A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876885A (zh) * | 2010-06-18 | 2010-11-03 | 中兴通讯股份有限公司 | 一种分配逻辑盘符的方法及设备 |
Non-Patent Citations (2)
Title |
---|
CHACENT: "请教下如何把符号连接名转换成盘符?", 《HTTP://BBS3.DRIVERDEVELOP.COM /READ.PHP?TID-103116.HTML》 * |
SYF442: "符号链接&设备名称", 《HTTP://BLOG.CSDN.NET/SYF442/ARTICLE/DETAILS/4576877》 * |
Cited By (5)
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 |