中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]批处理输入密码但显示*的代码之批处理应用版
作者:
标题: [原创]批处理输入密码但显示*的代码之批处理应用版 上一主题 | 下一主题
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『楼 主』:  [原创]批处理输入密码但显示*的代码之批处理应用版


@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


   此帖被 +23 点积分       点击查看详情   
评分人:【 abcd 分数: +5  时间:2007-12-16 19:25
评分人:【 knoppix7 分数: +4  时间:2007-12-17 18:05
评分人:【 huzixuan 分数: +8  时间:2007-12-19 18:17
评分人:【 radem 分数: +6  时间:2009-2-13 19:05


2007-12-16 17:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
penghuahui
初级用户




积分 163
发帖 86
注册 2007-9-5
状态 离线
『第 2 楼』:  

汇编?
可以讲解一下吗?

2007-12-16 23:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 3 楼』:  



  Quote:
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 ]

2007-12-17 09:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xingsys
初级用户





积分 80
发帖 31
注册 2005-11-28
状态 离线
『第 4 楼』:  

怎么用呢,请老大讲解一下

2007-12-17 13:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 5 楼』:  

直接运行。

2007-12-17 17:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 6 楼』:  

jihao

2007-12-18 21:51
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
pujihong123
初级用户




积分 47
发帖 27
注册 2008-6-23
来自 甘肃. 武威
状态 离线
『第 7 楼』:  

看不太懂,收藏备用!入门了再慢慢研究!谢谢楼主!



好好学习,
天天向上。
2009-2-12 21:22
查看资料  发送邮件  发短消息 网志  OICQ (4301178)  编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 8 楼』:  

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

能问下是怎么得到的吗?

2009-2-13 15:12
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (250988158)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: