中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-15 18:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 建立永久的畸形盘符 查看 3,392 回复 14
楼 主 建立永久的畸形盘符 发表于 2008-07-26 20:42 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
UID 110072
性别 男
状态 离线
::本文编辑 if_exist 原文链接http://www.cn-dos.net/forum/viewthread.php?tid=41796&page=1&sid=HhGCsq#pid289889虽然不是批处理的事情,但是没办法,在别的地方发恐怕没人看
话说当年的elect……前辈写了一篇超级目录 的文章
其中提及用subst建立畸形盘符的方法

以数字 字符……建立的盘符,该盘不能直接显示出来。
但是我发现,subst建立了的畸形符号磁盘 在重启后就没有了

这次我试了一下mountvol命令
先mountvoll /d d:
然后 mountvol 4:

就可以把原来的D: 变成 4: 而且,只用dos能够访问

以下是一个实例(新手请勿随便测试,尤其是C盘,不要试):
E:\>mountvol d: /l
\\?\Volume{228834c3-55f2-11dd-9311-806d6172696f}\

E:\>mountvol d: /d

E:\>mountvol 4: \\?\Volume{228834c3-55f2-11dd-9311-806d6172696f}\

E:\>4:

4:\>

这个盘符为4:的盘 在正常情况下windows不能显示


刚刚测试过 $: 盘符建立成功 ,杀软中并未显示出这个盘符
病毒使用该技巧的后果 不可估计,建议大家把
mountvol.exe 放在别的地方 别放在可以直接调用的地方

8楼有经过测试的解决方案


[ Last edited by 523066680 on 2008-7-27 at 11:47 AM ]
本帖最近评分记录 (共 6 条) 点击查看详情
评分人分数时间
BC +2 2008-07-26 20:58
HAT +10 2008-07-26 21:16
radem +1 2008-07-26 22:28
pusofalse +7 2008-07-26 22:31
qianmo717 +2 2008-07-27 17:34
freeants001 +1 2009-04-12 04:34
2 发表于 2008-07-26 20:54 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
Nice job!
3 发表于 2008-07-26 20:56 ·  中国 广东 江门 电信
中级用户
★★
积分 338
发帖 175
注册 2007-10-21 15:30
UID 100351
性别 男
状态 离线
很好...
4 发表于 2008-07-26 21:05 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
经测试,这样隐藏的盘符,使用下面的方法均无法显示,思考中...

wmic LogicalDisk get * /value

wmic DiskDrive get * /value

fsutil fsinfo drives
5 发表于 2008-07-26 21:12 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
UID 110072
性别 男
状态 离线
for /l %%a in (0,1,9) do if exist %%a: echo %%a:
其他字符嘛 还是for
for /l %%a in (……)
如果数字就好找 如果是字符 for 死你
6 发表于 2008-07-26 21:14 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
UID 110072
性别 男
状态 离线
我在想 如果这个想法 像 超级目录一样 被病毒利用
我们怎么防啊!!!
(临时的想法 ,把这类可怕的命令都藏在一个不常见的目录中好了 要的时候才用)

要是病毒用这个方法 杀软怎么查毒啊
7 发表于 2008-07-26 21:57 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线
此贴已破,方法暂时保密!!!
批处理之家新域名:www.bathome.net
8 发表于 2008-07-26 22:20 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线
破解:

@echo off
for /f "tokens=2 delims=:\ " %%i in ('reg query HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices^|find "DosDevices"') do echo %%i|findstr /i "">nul&&echo 隐藏的盘符为%%i:
pause


[ Last edited by bat-zw on 2008-7-26 at 10:21 PM ]
本帖最近评分记录 (共 4 条) 点击查看详情
评分人分数时间
523066680 +8 2008-07-26 22:22
radem +1 2008-07-26 22:29
BC +2 2008-07-27 10:27
qianmo717 +2 2008-07-27 17:38
批处理之家新域名:www.bathome.net
9 发表于 2008-07-26 22:28 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
UID 119451
性别 男
状态 离线
好东东
10 发表于 2008-07-26 23:10 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
ZW兄把简单的版本贴出来了,我来换个思路,贴个复杂的,呵呵。
@echo off
set DstRow= *** 无装入点 ***
set PriRow=""
setlocal enabledelayedexpansion
for /f "tokens=1* delims=" %%a in ('mountvol') do (
if "%%a" neq "%DstRow%" (
set PriRow=%%a
) else if "%%a" equ "%DstRow%" (
call :show !PriRow!
)
)
endlocal
goto :eof
:show
for /f "tokens=2 delims={}" %%a in ("%1") do set VolumeNo=%%a
for /f "delims=" %%a in ('reg query HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices^|findstr "%VolumeNo%"') do set Binary=%%a
set Binary=%Binary:~-24%
for /f "tokens=3 delims=\:" %%a in ('reg query HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices^|findstr "%Binary%"^|findstr "DosDevices"') do (
echo 隐藏的盘符为%%a:
echo 对应的卷标为%1
)
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
523066680 +8 2008-07-27 14:07
11 发表于 2008-07-26 23:26 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
刚才在虚拟机里面,一不小心把包括系统盘在内的所有盘都mountvol /d了,幸亏是虚拟机,通过调用物理机里面的mountvol.exe恢复回来了。大家在物理机里面测试的时候,一定要小心哦^_^
12 发表于 2008-07-27 10:26 ·  中国 广东 江门 电信
中级用户
★★
积分 338
发帖 175
注册 2007-10-21 15:30
UID 100351
性别 男
状态 离线
原来不管怎么改,注册表里都有记录...
如果我们连同注册表都改了呢?或者禁用注册表呢?
13 发表于 2008-07-27 11:17 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
UID 119451
性别 男
状态 离线
Originally posted by HAT at 2008-7-26 11:26 PM:
刚才在虚拟机里面,一不小心把包括系统盘在内的所有盘都mountvol /d了,幸亏是虚拟机,通过调用物理机里面的mountvol.exe恢复回来了。大家在物理机里面测试的时候,一定要小心哦^_^


物理机系统盘(C)能mountvol /d成功吗?我是不敢拿自己的机子试了,要么去网吧.....^_^
14 发表于 2008-07-27 11:44 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
UID 110072
性别 男
状态 离线
没事的! 我试过C盘 了 重启的时候自己恢复了!
(还没重启的时候吓死了)

[ Last edited by 523066680 on 2008-7-27 at 11:45 AM ]
15 发表于 2009-04-12 02:43 ·  中国 陕西 安康 电信
初级用户
积分 58
发帖 29
注册 2008-08-15 19:21
UID 123291
性别 男
状态 离线
很简单的破解方法:
直接在cmd窗口下,输入mountvol,不带任何参数,它就会有各个盘符的volumename值,隐藏的盘符的volumename值,将会显示为***无装入点*** ,直接用下面代码:

mountvol z: 【标注为无装入点的volumename】
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
523066680 +9 2009-10-18 09:22
论坛跳转: