Board logo

标题: [文本处理] 批处理命令行工具隐藏输入数据[开源] [打印本页]

作者: Seter    时间: 2009-10-3 17:08     标题: 批处理命令行工具隐藏输入数据[开源]

做了个很简单的密码输入程序,可以自定义输出字符
用法:
  1. for %%i in ('password *') do echo %%i
  2. for %%i in ('password') do echo %%i
复制代码
源程序(C语言编写,某DEF说要用SetConsoleMode,可惜我没用):
  1. #include <stdio.h>
  2. int main(int argc,char* argv[]){
  3. char c[65535],*p=c;
  4. while(13!=(*p++=getch()))fprintf(stderr,"%s",argc-1?argv[1]:"");
  5. *p=0;printf("%s",c);return 0;
  6. }
复制代码
下面这个没发上来,写下面这个程序完全为了避免YSL大大骂人..
  1. #include <stdio.h>
  2. #include <malloc.h>
  3. int main(int argc,char* argv[]){
  4. char *c;
  5. unsigned long p=1;
  6. c=malloc(sizeof(char));
  7. while(13!=(c[p-1]=getch())){c=realloc(c,sizeof(char)*(++p));fprintf(stderr,"%s",argc-1?argv[1]:"");}
  8. c[p]=0;printf("%s",c);free(c);
  9. }
复制代码
链接: https://pan.baidu.com/s/1ES_jIRJoqc9dxg6WTJcvuw 提取码: 2fvr
作者: yslyxqysl    时间: 2009-10-3 17:39

char c[65535]...
算你狠...
作者: Seter    时间: 2009-10-3 18:30

吞内存嘛..
其实我可以写一个效率比这个低很多,但是不会浪费的程序
更新在顶楼了

[ 本帖最后由 Seter 于 2009-10-3 18:36 编辑 ]
作者: lincc0519    时间: 2010-1-15 14:58

给seter的意见
1.你这个password程序支持了特殊按键,如:输入right 键出来两个星号
2输入backspace星号没有消除
3希望这个程序只能输入20H到80H的按键(即不能输入特殊按键,输入特殊按键时寄存器和电脑屏幕不做任何反应)
作者: lincc0519    时间: 2010-1-15 20:51

意见4
按键反回后同时输入到参数所带的文件内
作者: Seter    时间: 2010-1-31 21:05

是哦,这是个问题...我回头改去
意见四看不懂...我语文差嘿嘿
作者: lincc0519    时间: 2010-2-19 20:24

哈哈!
希望你早日改出来,我好欣赏欣赏!
意见4,由于cmd不支持像%^&这类的字符,我的意见是在输入任何字符同时也输入到指定的文件内(这样方便md5运算)
作者: Seter    时间: 2010-2-20 09:05

意见四个人觉得比较鸡肋,输到文件里也相当于半个直接显示了...如果真有需要可以自己改下...
作者: zcydez    时间: 2010-3-6 14:05

楼主说的怎么用啊???
求语法




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2