中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-31 11:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]批处理输入密码但显示*的代码之批处理应用版 查看 1,889 回复 7
楼 主 [原创]批处理输入密码但显示*的代码之批处理应用版 发表于 2007-12-16 17:22 ·  中国 北京 鹏博士BGP
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
@echo off&setlocal&pushd %tmp%	%Hide password by displaying *	{s11ss 2007-12-16}%
<"%~f0" more +10|debug>nul&move t "t.com"
echo The length of the password should not bigger than 32!&echo Press any key to continue...&pause>nul&cls
t
echo exit|cmd /kprompt d20:0 20$_q$_|debug>t
for /f "skip=2 tokens=*" %%a in (t) do set t=%%a&call set t=%%t:~61,16%%&call set s=%%s%%%%t%%
for /f "skip=2 tokens=2" %%a in (t) do set/a l=0x%%a&goto :t
:t
cls&echo The password is:&call echo.%%s:~1,%l%%%
del t t.com&popd&echo.&echo Press any key to exit...&pause>nul&goto :eof
e0100 BB 00 B8 8E C3 BF 00 00 BE 00 00 B4 00 CD 16 80
e0110 FC 0E 75 0E 83 FE 00 74 F2 4E 4F 4F 26 C6 05 20
e0120 EB E9 80 FC 1C 74 1C 3C 20 72 E0 26 C6 05 2A 8C
e0130 C2 BB 00 00 8E C3 26 88 84 01 02 8E C2 83 C7 02
e0140 46 EB C8 BB 00 00 8E C3 8B C6 26 A2 00 02 B8 00
e0150 4C CD 21
rcx
53
n t
w
q
本帖最近评分记录 (共 4 条) 点击查看详情
评分人分数时间
abcd +5 2007-12-16 19:25
knoppix7 +4 2007-12-17 18:05
huzixuan +8 2007-12-19 18:17
radem +6 2009-02-13 19:05
2 发表于 2007-12-16 23:27 ·  中国 广东 广州 教育网
初级用户
★★
积分 163
发帖 86
注册 2007-09-05 03:02
18年会员
UID 96588
性别 男
状态 离线
汇编?
可以讲解一下吗?
3 发表于 2007-12-17 09:30 ·  中国 北京 鹏博士BGP
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
Originally posted by penghuahui at 2007-12-16 11:27 PM:
汇编?
可以讲解一下吗?

com文件:
按键输入可见字符的(包括空格)都显示一个*号,并同时向以0:201h开始的内存地址空间写入该字符;是退格键时就只是把上一个显示的*号换成空格,下次这个空格可能被新输入的可见字符覆盖(如果按退格键时前面没有*号就什么也不做);是回车键时就结束输入过程,并把字符串的长度写入0:200h。

批处理执行完com文件后就用debug把从0:200h到0:220h的数据写到文件中,根据字符串的长度获得原始输入数据并显示出来。

[ Last edited by s11ss on 2007-12-17 at 09:31 AM ]
4 发表于 2007-12-17 13:12 ·  中国 四川 成都 电信
初级用户
积分 80
发帖 31
注册 2005-11-28 00:29
20年会员
UID 46066
状态 离线
怎么用呢,请老大讲解一下
5 发表于 2007-12-17 17:28 ·  中国 辽宁 大连 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
直接运行。
6 发表于 2007-12-18 21:51 ·  中国 甘肃 定西 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
jihao
7 发表于 2009-02-12 21:22 ·  中国 甘肃 张掖 电信
初级用户
积分 47
发帖 27
注册 2008-06-23 22:44
18年会员
UID 120749
性别 男
来自 甘肃. 武威
状态 离线
看不太懂,收藏备用!入门了再慢慢研究!谢谢楼主!
好好学习,
天天向上。
8 发表于 2009-02-13 15:12 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
初级用户
★★
积分 100
发帖 93
注册 2009-01-14 15:04
17年会员
UID 136661
性别 男
来自 湖南
状态 离线
e0100 BB 00 B8 8E C3 BF 00 00 BE 00 00 B4 00 CD 16 80
e0110 FC 0E 75 0E 83 FE 00 74 F2 4E 4F 4F 26 C6 05 20
e0120 EB E9 80 FC 1C 74 1C 3C 20 72 E0 26 C6 05 2A 8C
e0130 C2 BB 00 00 8E C3 26 88 84 01 02 8E C2 83 C7 02
e0140 46 EB C8 BB 00 00 8E C3 8B C6 26 A2 00 02 B8 00
e0150 4C CD 21

能问下是怎么得到的吗?
论坛跳转: