批处理之家's Archiver

Seter 发表于 2009-10-3 17:08

批处理命令行工具隐藏输入数据[开源]

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

yslyxqysl 发表于 2009-10-3 17:39

char c[[color=red][b]65535[/b][/color]]...
算你狠...

Seter 发表于 2009-10-3 18:30

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

[[i] 本帖最后由 Seter 于 2009-10-3 18:36 编辑 [/i]]

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

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

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.