中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-30 08:38
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 如何防止doskey.com在内存中被卸载 查看 3,018 回复 33
楼 主 如何防止doskey.com在内存中被卸载 发表于 2006-02-20 21:06 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
如何防止doskey.com在内存中被卸载?请各位大虾赐教了,谢谢!
2 发表于 2006-02-21 11:07 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
doskey 好象本身就没有卸载功能,就和 smartdrv 一样
3 发表于 2006-02-21 11:15 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
doskey -u 可以使doskey从内存中卸载

doskey -R可以使doskey从内存中重新装载

现在的问题是:如何使“doskey -u”命令失效?
4 发表于 2006-02-21 11:25 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
你说的是哪个 DOS 版本的 doskey ?
5 发表于 2006-02-21 13:07 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
DOS版本:
Windows Millennium [Version 4.90.3000]
6 发表于 2006-02-21 13:09 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
这个doskey.com是从MS-DOS 7.1的映像文件里提取的,应该是7.1版本的吧。
经过试用,也可以在Windows Millennium [Version 4.90.3000] DOS版本中应用
7 发表于 2006-02-21 15:08 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
奇怪了,我的 doskey 怎么没有这个参数,估计你的是第三方开发的
8 发表于 2006-02-21 15:11 ·  中国 江西 抚州 电信
高级用户
★★★
中國DOS聯盟常任參議员
积分 686
发帖 318
注册 2005-11-04 13:00
20年会员
UID 77577
性别 男
状态 离线
用Edit.com 以二进制打开并编辑Doskey.exe 文件更改 -u参数为基它字符,,
9 发表于 2006-02-21 16:18 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
在WINXP环境下,用HexEdit如何修改Doskey,即如何直观地查找到 -u 命令
10 发表于 2006-02-21 16:53 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re martin325:

MS-DOS7.10 的 doskey.com 确实是第三方工具,是 Paul Houle 编写的增强版本,这个使用 doskey /? | more 即可查知。而MSDOS6.22及以下、Win9x及以上等微软自己的 doskey 版本,都是不带卸载参数的。

至于在 DOS/Win 查找 doskey 的命令行参数的位置这必须使用调试工具进行跟踪调试后才能确定,通过普通的查找方法是无法得知的,也即单纯运用 edit / hexedit 无法实现 /u 参数的禁止,除非已经得知它的地址。

另外,需要提醒的是,即使 doskey 始终常驻内存,也并不能禁止 doskey 宏命令的新增、修改和删除,所以用 doskey 实现的写命令的禁用,是可以轻松解除的。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
11 发表于 2006-02-22 09:51 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
请问哪儿提供下载不带卸载参数的DOSKEY?

并且这个DOSKEY适用于Windows Millennium [Version 4.90.3000] DOS版本中应用

请大虾帮忙了:)
12 发表于 2006-02-22 09:59 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
如果doskey 始终常驻内存,如何解除被禁止 的doskey 宏命令的新增、修改和删除?
13 发表于 2006-02-22 13:14 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
请问7楼的高手,你的Doskey可以上传一下吗?
14 发表于 2006-02-22 13:41 ·  中国 山西 临汾 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re martin325:

DOSKEY 理应在所有的 Windows 版本和大多数 MS-DOS 版本中存在,只是 MS-DOS 下的 doskey.com 有版本限制,而 WinNTs 下32位的 doskey.exe 则不能在16位的MS-DOS 下运行。难道你的 WinME 没有 doskey.com 吗,那么可以试试 Win98 下的 doskey.com?

DOSKEY 宏命令的创建、修改、删除十分简单,类似于环境变量设置语句 set 。

创建或修改:doskey del=none
删除:doskey del=

至于你所说的“解除”,我理解为禁止 doskey 命令的操作,这通常是比较复杂的。不过也有一个取巧的办法:doskey doskey=cls ,将 doskey 命令也禁止掉,这样就无法在命令行使用 doskey ,自然也就无法修改和删除宏命令了。

当然,“道高一尺,魔高一丈”,这个取巧也可以轻松破解,而且解法不只一种(已得4种),只不过知道的人比较少罢了。在这里,不妨作为一个竞猜题目,请高位达人各抒己见,看能否得出与我心中所想有所异趣的答案。

[ Last edited by willsort on 2006-2-22 at 13:47 ]
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
15 发表于 2006-02-22 14:29 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
哈哈,不知笑天所说的“高位达人”是怎么个“高位”,“达人”达到一个什么样的人。

看完你的无奖竞猜。我大致点一下,看咱们是否想到一块了

space
batch
ren
alt-

本来我就觉得martin325玩这种“加密”没什么意思,不过大家在一起交流交流,切磋切磋技艺也挺有意思。哈哈
论坛跳转: