楼 主
建立永久的畸形盘符
发表于 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 ]
第 2 楼
发表于 2008-07-26 20:54 · 美国 惠普HP
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 UID 89899 性别 男
状态 离线
第 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 ]
批处理之家新域名: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
)
第 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】
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正