Board logo

标题: [原创]批处理输入密码但显示*的代码之批处理应用版 [打印本页]

作者: s11ss     时间: 2007-12-16 17:22    标题: [原创]批处理输入密码但显示*的代码之批处理应用版


@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

作者: penghuahui     时间: 2007-12-16 23:27
汇编?
可以讲解一下吗?
作者: s11ss     时间: 2007-12-17 09:30


  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 ]
作者: xingsys     时间: 2007-12-17 13:12
怎么用呢,请老大讲解一下
作者: s11ss     时间: 2007-12-17 17:28
直接运行。
作者: vkill     时间: 2007-12-18 21:51
jihao
作者: pujihong123     时间: 2009-2-12 21:22
看不太懂,收藏备用!入门了再慢慢研究!谢谢楼主!
作者: zhengqian529     时间: 2009-2-13 15:12
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

能问下是怎么得到的吗?