无忧启动论坛

标题: 设置移动硬盘写保护小工具(已更新) [打印本页]

作者: zjq20032006    时间: 2010-4-2 22:11
标题: 设置移动硬盘写保护小工具(已更新)
设置移动硬盘写保护小工具(测试版)
具体请看:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=154053&extra=page%3D10

写保护操作,可能会破坏其它类型的MBR(如G4D,XORLDR,plop等,这和diskpart.exe有关)请使用前三思! NT5/6类型的MBR无影响

作用有二:(只读方式相对autorun.inf假体防毒,只读效果更好更优越!)

1 移动磁盘可以设置只读防毒,MBR类型只能全盘只读,GPT类型可以设置分区只读。
2 U盘量产为本地磁盘后,可以设置只读,如量产为多个分区,也可分别对单分区设置只读。

4.4
之前版本对系统的检测可能存在问题(win2003也会提示系统版本过低),请下载最新版本

4.2
更新了代码,加入检测系统模块,如果是XP会提示不能用
最低要求是win2003系统,不是SP2的也行,程序会更新diskpart.exe为可用版本(确认关了系统文件保护)


[ 本帖最后由 zjq20032006 于 2010-4-5 20:33 编辑 ]

1.JPG (19.71 KB, 下载次数: 126)

1.JPG

XP不能用的图.jpg (8.77 KB, 下载次数: 122)

XP不能用的图.jpg

diskatt.zip

131.19 KB, 下载次数: 1211, 下载积分: 无忧币 -2

diskatt含关系统保护.zip

131.31 KB, 下载次数: 1124, 下载积分: 无忧币 -2


作者: zjq20032006    时间: 2010-4-2 22:13
应该是2003 sp2以上版本的diskpart支持这样操作

写保护在win2000以下系统似乎无效果.

U盘量产为本地磁盘后,如有多个分区,
也可分别对U盘中的分区设置写保护.

如有朋友需要关闭系统文件保护请下符件

[ 本帖最后由 zjq20032006 于 2010-4-24 18:00 编辑 ]
作者: sy235688    时间: 2010-4-2 22:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: fujianabc    时间: 2010-4-2 23:24
建议加入系统版本检测,只有nt 5.2 sp2以上才能运行。
xp直接提示系统版本过低。
作者: zjq20032006    时间: 2010-4-3 01:16
谢谢fujianabc大
下个版本更新
作者: zjq20032006    时间: 2010-4-3 11:09
怎么没人反馈?         .
作者: zjacai    时间: 2010-4-3 11:16
我的XPSP3 设置无效,仍然可写

不过我测试的是本地硬盘,非移动硬盘
作者: fujianabc    时间: 2010-4-3 11:25
原帖由 zjacai 于 2010-4-3 11:16 发表
我的XPSP3 设置无效,仍然可写

不过我测试的是本地硬盘,非移动硬盘

2003 sp2以上的系统才能设置写保护,xp sp3版本太低。
作者: dvd008    时间: 2010-4-3 13:31
可以在pe下 试一试,看看 c盘行不行

骨头pe,启动mmc后,即可支持diskpart

另外,最新的多启动里面带了 独立的diskpart及gui组件,
不过需自己更名diskpart3.exe ,这个是03sp2的

以前简单测试过,att 可以执行
xp的无效。 但是,说明没有给att 参数
也没说明可以简化 vol 的写法
作者: fujianabc    时间: 2010-4-3 15:50
原帖由 dvd008 于 2010-4-3 13:31 发表
以前简单测试过,att 可以执行
xp的无效。 但是,说明没有给att 参数
也没说明可以简化 vol 的写法

att vol是attribute和volume的简写。微软文档里面有说明的,diskpart中的所有命令可以用前三个字母作简写
作者: xuexiang    时间: 2010-4-3 16:07
刚刚在Vista下测试挺好用的
这个要是可以离开系统或diskpart的版本限制就好了
不知可以不
作者: xuexiang    时间: 2010-4-3 16:14
在XP下提示操作完成 但实际没有成功
当然我知道在xp下不行
但是提示好像不论什么系统都一样吧
不行就提示不行 别提示都一样
最好能区分开
作者: zjq20032006    时间: 2010-4-3 17:09
已经更新了                .
XP以下系统会提示不能用。

[ 本帖最后由 zjq20032006 于 2010-4-3 17:14 编辑 ]
作者: dvd008    时间: 2010-4-3 18:19
原帖由 fujianabc 于 2010-4-3 15:50 发表

att vol是attribute和volume的简写。微软文档里面有说明的,diskpart中的所有命令可以用前三个字母作简写

我是说,命令行下, 任意建,应该出现命令列表的,不只是 help
但是,列表里面没有这个 命令

文档里面有。  三个字母才知道。

03的不知道为什么 list vol 不能显示隐藏卷,也不能给隐藏分区分配盘符

xp0,xp1实际是一个版本,可以显示隐藏卷,也能分配盘符
作者: dvd008    时间: 2010-4-3 18:22
原帖由 zjq20032006 于 2010-4-3 17:09 发表
已经更新了                .
XP以下系统会提示不能用。



pe下需要 vb库支持,那文件太大了。
作者: zjq20032006    时间: 2010-4-3 18:28
下回搞个AUTOIT版本,不用什么库支持了.
作者: dvd008    时间: 2010-4-3 18:59
如果那样,能不能配合diskpart的gui版

gui需要英文xp0 的 diskpart.exe ,文件名不能改,
因为不会修改原程序

因此将03的 改名为 diskpart3.exe

能不能实现 先找 diskpart3.exe,有就执行,没有再继续找
diskpart.exe
这样就可以兼容了,而不必手工替换
AUTOIT 早期版本比较好,新版编译的exe也需要 winnet.dll支持
但这个dll是多余的
作者: zjq20032006    时间: 2010-4-3 18:59
我是在XP环境下写的,所以用其它系统的朋友最好反馈一下结果
作者: dvd008    时间: 2010-4-3 19:02
我是03pe下

不集成diskpart。exe 比较好,或者提供 集成 和不集成两个
作者: panwenfei    时间: 2010-4-3 19:03
唉~~老机器用XP的飘过
作者: zjq20032006    时间: 2010-4-3 19:12
原帖由 dvd008 于 2010-4-3 18:59 发表
如果那样,能不能配合diskpart的gui版

gui需要英文xp0 的 diskpart.exe ,文件名不能改,
因为不会修改原程序

因此将03的 改名为 diskpart3.exe

能不能实现 先找 diskpart3.exe,有就执行,没有再继续 ...

你的意思是做个diskpart的gui吧?
这个...xp0 的 diskpart.exe 有什么特别用处?我03的diskpart.exe 也可以查看隐藏分区。
不知你的情况具体是怎么样的。

[ 本帖最后由 zjq20032006 于 2010-4-3 19:15 编辑 ]
作者: dvd008    时间: 2010-4-3 19:19
不是,diskpart的gui已经有了,只能支持xp0的或者 ms for win2000那个

其它版本不能用

你的工具要调用 diskpart.exe 是03 或者 win7的,冲突


当然,如果能修改那个gui支持 其它版本刚好,
那帖子里面有gui的源代码
作者: zjq20032006    时间: 2010-4-3 19:21
请给个GUI的下载网址                         .
作者: dvd008    时间: 2010-4-3 19:25
http://bbs.wuyou.net/forum.php?m ... p;extra=&page=1

14楼 源代码

42楼,汉化的源代码,不过由于新版编译,不好用,并且需要dll支持

如果修改,请用以前对应版本编译
作者: dvd008    时间: 2010-4-3 19:28
这个里面带了pe下需要的文件,适合 03pe
7z 或winrar 解压,可以看到 gui的 exe ,

可upx 解开,能不能反编译就不知道了
作者: dvd008    时间: 2010-4-3 19:41
03的diskpart.exe 也可以查看隐藏分区

但是不能通过 list vol 看见,也就不能分配盘符, 无法使用

但xp0的 能 list vol 看见,也能分配盘符
作者: zjq20032006    时间: 2010-4-3 19:46
谢谢
diskpart的gui源码,我试试修改,应该可以结合写保护这块。
作者: 571221    时间: 2010-4-3 20:04
本地硬盘是不是不起作用 必须是移动的?  我本地上测试 不起效果  WIN7系统

[ 本帖最后由 571221 于 2010-4-3 20:13 编辑 ]
作者: zjq20032006    时间: 2010-4-3 20:26
你是在那个盘设置写保护》?
作者: fujianabc    时间: 2010-4-3 20:52
原帖由 571221 于 2010-4-3 20:04 发表
本地硬盘是不是不起作用 必须是移动的?  我本地上测试 不起效果  WIN7系统

系统所在硬盘不能设置写保护的,因为系统本身在硬盘上必须有操作。

本地其它硬盘可以。
作者: zjq20032006    时间: 2010-4-4 10:09
原帖由 571221 于 2010-4-3 20:04 发表
本地硬盘是不是不起作用 必须是移动的?  我本地上测试 不起效果  WIN7系统

请试一下这个版本,并把出错图发上来

diskattDEBUG.zip

116.17 KB, 下载次数: 73, 下载积分: 无忧币 -2


作者: 94first    时间: 2010-4-4 10:23
这个东西能用在U盘上不哦
作者: adolflyp    时间: 2010-4-4 10:43
xp3不能用,郁闷.
作者: zjq20032006    时间: 2010-4-4 10:49
原帖由 94first 于 2010-4-4 10:23 发表
这个东西能用在U盘上不哦

可以,但要量产U盘为本地磁盘
作者: ucvsv    时间: 2010-4-4 12:56
和win7里面的磁盘加密功能一样?
作者: zqjiang    时间: 2010-4-4 14:36
在window 7 下提示操作完成 重新插拔后 还是可以写入~
20g 的移动硬盘
作者: fujianabc    时间: 2010-4-4 15:10
报告bug,我在工具中选择了g:盘做写保护,但发现没成功。
在c:盘根目录下发现了一个disk.txt,里面记录了命令select vol 5,而g:盘应该是vol 6,说明工具中vol的数字有问题(我猜测原因可能是因为我硬盘第一个分区盘符是b:而不是c:)。
有一个很简单的方法避免此问题,实际上diskpart里面select vol可以直接用盘符,而不用数字。比如


  1. select vol g:
  2. att vol set readonly
复制代码

这样可以避免很多问题。
作者: zjq20032006    时间: 2010-4-4 15:48
谢谢fujianabc 大指导,问题很快会解决.
fujianabc 大试试这个,已经改成你所说的了

[ 本帖最后由 zjq20032006 于 2010-4-4 16:49 编辑 ]

diskatt.zip

116.28 KB, 下载次数: 67, 下载积分: 无忧币 -2


作者: zjq20032006    时间: 2010-4-4 16:39
请教fujianabc 大,还有一个问题是,写保护操作之后,会破坏其它类型的MBR
我试过Plop,xorldr都被破坏,不知有什么办法可以解决,用NT类型的MBR就没事

[ 本帖最后由 zjq20032006 于 2010-4-4 16:48 编辑 ]
作者: fujianabc    时间: 2010-4-4 19:22
原帖由 zjq20032006 于 2010-4-4 16:39 发表
请教fujianabc 大,还有一个问题是,写保护操作之后,会破坏其它类型的MBR
我试过Plop,xorldr都被破坏,不知有什么办法可以解决,用NT类型的MBR就没事

你看我原贴的说明,我发现只读属性是记录在硬盘第三扇区。

如果其他类型mbr要占用第三扇区,就会发生冲突。nt 5/6的mbr只占用一个扇区,所以不会有问题,其他mbr要尽量避免第三扇区。

好像xorldr可以选择占用扇区的。
作者: 571221    时间: 2010-4-5 00:21
原帖由 zjq20032006 于 2010-4-4 10:09 发表

请试一下这个版本,并把出错图发上来


出错图   WINDOWS_NT,VER.6.01(7600)  图我就不发了 提示的就是这
作者: 571221    时间: 2010-4-5 00:31
最新的我刚试了  设置本地硬盘D盘写保护  提示操作成功 让重启 我重启了  还是不保护 呵呵
楼主还得加把劲啊
作者: zjq20032006    时间: 2010-4-5 01:25
你设置本地硬盘D盘写保护,提示操作成功时,先不关提示操作成功窗口

然后在 所有程序====附件=====命令提示符
打开后输入以下命令看
diskpart.exe /s c:\disk.txt

看有什么反应
作者: zjq20032006    时间: 2010-4-5 01:27
应该是你的diskpart.exe可能有问题,你看下系统盘是不是存在diskpart.exe文件?
作者: zjq20032006    时间: 2010-4-5 01:34
请试下下两个版本

diskatt1.zip

130.97 KB, 下载次数: 70, 下载积分: 无忧币 -2

diskatt2.zip

131.14 KB, 下载次数: 63, 下载积分: 无忧币 -2


作者: zjq20032006    时间: 2010-4-5 01:39
你只有一个硬盘应该是无效的,除非你是GPT分区表
作者: zjq20032006    时间: 2010-4-5 01:43
Windows 7 Ultimate Professional 6.01.7600
X64??是不是64位系统?

571221 (福)
你能不能在 上面说的 命令提示符里
输入下面命令:
set

并把结果发上来?
不会是WIN7的系统变量不同吧?

[ 本帖最后由 zjq20032006 于 2010-4-5 10:09 编辑 ]
作者: 571221    时间: 2010-4-5 11:47
是32位系统
Users\hk>set
USERSPROFILE=C:\ProgramData
DATA=C:\Users\hk\AppData\Roaming
monProgramFiles=C:\Program Files\Common Files
PUTERNAME=HK-PC
Spec=C:\Windows\system32\cmd.exe
NO_HOST_CHECK=NO
EDRIVE=C:
EPATH=\Users\hk
ALAPPDATA=C:\Users\hk\AppData\Local
ONSERVER=\\HK-PC
BER_OF_PROCESSORS=2
Windows_NT
h=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
ndowsPowerShell\v1.0\;C:\Program Files\Common Files\Thunder Network\KanKan\Co
s
HEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
CESSOR_ARCHITECTURE=x86
CESSOR_IDENTIFIER=x86 Family 6 Model 14 Stepping 8, GenuineIntel
CESSOR_LEVEL=6
CESSOR_REVISION=0e08
gramData=C:\ProgramData
gramFiles=C:\Program Files
MPT=$P$G
odulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
LIC=C:\Users\Public
SIONNAME=Console
temDrive=C:
temRoot=C:\Windows
P=C:\Users\hk\AppData\Local\Temp
=C:\Users\hk\AppData\Local\Temp
RDOMAIN=hk-PC
RNAME=hk
RPROFILE=C:\Users\hk
dir=C:\Windows

Users\hk>
作者: fujianabc    时间: 2010-4-5 16:25
为什么设置成功后提示重新启动?
不需要重启就能生效啊。
作者: zjq20032006    时间: 2010-4-5 19:27
奇怪,不知道为什么,我的是win2003原版系统,不是SP2的,设置完之后不重启动是无效的。
作者: zjq20032006    时间: 2010-4-5 19:29
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Administrator\Application Data
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=MINI
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrator
LOGONSERVER=\\MINI
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0209
ProgramFiles=C:\Program Files
PROMPT=$P$G
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
USERDOMAIN=MINI
USERNAME=Administrator
USERPROFILE=C:\Documents and Settings\Administrator
windir=C:\WINDOWS
C:\Documents and Settings\Administrator>
作者: zjq20032006    时间: 2010-4-5 19:30
上面是WINXP/WIN2003的系统变量,看来WIN7的系统变量真的和想像的不一样啊!
作者: zjq20032006    时间: 2010-4-5 19:31
571221 (福) 你用我给你的那两个版本成功没有?那两个版本没有使用系统变量,
而是直接C:盘,你看能不能用?
还有你按43楼的操作没有?成功吗?

[ 本帖最后由 zjq20032006 于 2010-4-5 19:39 编辑 ]
作者: 天涯海角1216    时间: 2010-4-6 09:30
请教楼主:
2003 PE下为何不能设置本地磁盘写保护?
作者: fujianabc    时间: 2010-4-6 11:01
原帖由 天涯海角1216 于 2010-4-6 09:30 发表
请教楼主:
2003 PE下为何不能设置本地磁盘写保护?

系统所在硬盘不能设写保护的,否则硬盘上系统无法运行。
作者: baosheng00    时间: 2010-4-6 11:31
这个不错,病毒就不怕了
作者: boplay    时间: 2010-4-9 15:38
不知道现在的优盘为什么没有写保护开关
作者: 壹只鱼    时间: 2010-4-10 13:07
收下了,感谢LZ分享
作者: 展翅高飞    时间: 2010-4-10 14:21
感谢楼主分享,这是个好工具!
作者: zqjiang    时间: 2010-8-1 22:10
今天把U盘 量产成 固定磁盘

可以写保护了  不会被写入 和 格式化了  !!  插到其它的 PC  也 可以保护了

真的很 方便
作者: lc1212    时间: 2010-8-1 22:16
下来就被ESET给干丢了。
作者: cn555    时间: 2010-9-14 01:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 2010775454215    时间: 2010-10-10 14:10
支持楼主
支持楼主
作者: zjq20032006    时间: 2010-10-18 20:12
CLUSAPI.DLL
diskpart.exe
diskpart3.exe

DMADMIN.EXE
DMINTF.DLL
DMSERVER.DLL
DMUTIL.DLL
OSUNINST.DLL
VDS.EXE
VDSBAS.DLL
VDSDYNDR.DLL
VDSUTIL.DLL
VDS_PS.DLL

[ 本帖最后由 zjq20032006 于 2010-10-18 20:13 编辑 ]
作者: zjq20032006    时间: 2010-10-18 20:13
有些03PE或者精简的03上不能用是少了上面的文件




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3