在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例常规C/C++编程 → Windows扩展命令程序(源码)

Windows扩展命令程序(源码)

常规C/C++编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:0.04M
  • 下载次数:14
  • 浏览次数:96
  • 发布时间:2020-08-18
  • 实例类别:常规C/C++编程
  • 发 布 人:ploneljs
  • 文件格式:.c
  • 所需积分:2
 相关标签: 命令

实例介绍

【实例简介】
【实例截图】

【核心代码】


/*****************************************************
*   制作时间:2020/7/21
*	当前版本:3.7.5.3
*	程序作者:ljs
*	编写人数:1(个人)
*	版权拥有:有
*	扫描病毒:无(原版没有)
*	是否报毒:是
*	程序名称:Windows扩展命令程序
*	内核编写:C,E,C  
*   程序大小:大约10MB
*	编译环境:Windows
*	运行环境:Windows
*	详细版本:Windows专业版 
*	系统类型:64位操作系统
*	内部文件列表:command.exe
*	              comword.exe
*	              olly.dll
*	              SkinH_EL.dll
*	              sqlite3.dll
*	              XCGUI.dll
*	              compass.exe                                                                         
*
*
*******************************************************/
 
#ifndef EXTERN_C//定义为c文件 
#ifdef __cplusplus//定义为c文件 
#define EXTERN_C extern "C"//定义为c文件 
#else//定义为c文件 
#define EXTERN_C extern//定义为c文件 
#endif//定义为c文件 
#endif //定义为c文件 
#include <stdio.h>//c文件基础函数 
#include <stdlib.h>//c文件基础函数 
#include <windows.h>//c文件基础函数 
#include <io.h>//c文件基础函数 
#include <conio.h>//c文件基础函数 
#include <string.h>//c文件基础函数 
#define BACKSPACE 8//定义变量 
#define CHARLANG 96//定义变量 
#include <assert.h>//验证程序断言
#include <complex.h>//支持复数算术运算
#include <ctype.h>//字符类型
#include <errno.h>//出错码
#include <fenv.h>//浮点环境
#include <float.h>//浮点常量
#include <inttypes.h>//整型格式转换
#include <iso646.h>//替代关系操作符宏
#include <limits.h>//实现常量
#include <locale.h>//局部类别
#include <setjmp.h>//非局部
#include <signal.h>//信号
#include <stdarg.h>//可变参数表
#include <stdbool.h>//布尔类型和值
#include <stddef.h>//标准定义
#include <stdint.h>//整型
#include <tgmath.h>//通用类型数学宏
#include <time.h>//时间和日期
#include <wchar.h>//宽字符支持
#include <wctype.h>//宽字符分类和映射支持
#include <math.h>//数字运算
#include <tchar.h>
#include <fcntl.h>  
#define N 50//全局变量
#include <tlhelp32.h>	//进程快照函数头文件


//--------------------------------------------------- 
#define gotoxyInPool(x, y) gotoxyWithFullwidth(x   9, y - 3)// 定位到游戏池中的方格



//--------------------------------------------------- 
#ifdef _MSC_VER // M$的编译器要给予特殊照顾
 #if _MSC_VER <= 1200 // VC6及以下版本
 #error 你是不是还在用VC6?!
 #else // VC6以上版本
 #if _MSC_VER >= 1600 // 据说VC10及以上版本有stdint.h了
  #include <stdint.h>
 #else // VC10以下版本,自己定义int8_t和uint16_t
  typedef signed char int8_t;
  typedef unsigned short uint16_t;
 #endif
 #ifndef __cplusplus // 据说VC都没有stdbool.h,不用C  编译,自己定义bool
  typedef int bool;
  #define true 1
  #define false 0
 #endif
 #endif
#else // 其他的编译器都好说
 #include <stdint.h>
 #ifndef __cplusplus // 不用C  编译,需要stdbool.h里的bool
 #include <stdbool.h>
 #endif
#endif

void zuozhe(){
	printf("       欢迎使用Windows扩展命令程序\n");
	printf("                        ——by:ljs\n\n\n");	
	printf("       制作时间:2020/7/21\n");
	printf("       当前版本:3.7.5.3\n");
	printf("       程序作者:ljs\n");
	printf("       编写人数:1(个人)\n");	
	printf("       版权拥有:有\n");
	printf("       扫描病毒:无(原版没有)\n");
	printf("       是否报毒:是\n");
	printf("       程序名称:Windows扩展命令程序\n");
	printf("       内核编写:C,E,C  \n");
	printf("       程序大小:大约10MB\n");
	printf("       编译环境:Windows\n");
	printf("       运行环境:Windows\n");
	printf("       详细版本:Windows专业版 \n");
	printf("       系统类型:64位操作系统\n");
	printf("       内部文件列表:command.exe\n");
	printf("                     comword.exe\n");
	printf("                     olly.dll\n");
	printf("                     SkinH_EL.dll\n");
	printf("                     sqlite3.dll\n");
	printf("                     XCGUI.dll\n");
	printf("                     compass.exe\n");	
}
int shuom(){
	HANDLE handle;  
    //WORD wOldColorAttrs;  
    //CONSOLE_SCREEN_BUFFER_INFO csbiInfo;  
    handle = GetStdHandle(STD_OUTPUT_HANDLE); 
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//设置红色 
	printf("                               软件说明显示\n"); 
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);//设置绿色和蓝色相加
	printf("----------------------------------------------------------------------\n"); 
	SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//恢复到原始颜色 	
	printf("       欢迎使用Windows扩展命令程序\n");
	printf("                        ——by:ljs\n");	
	printf("关于软件:\n"); 
	printf("       制作时间:2020/7/21\n");
	printf("       当前版本:3.7.5.3\n");
	printf("       程序作者:ljs\n");
	printf("       编写人数:1(个人)\n");	
	printf("       版权拥有:有\n");
	printf("       扫描病毒:无(原版没有)\n");
	printf("       是否报毒:是\n");
	printf("       程序名称:Windows扩展命令程序\n");
	printf("       内核编写:C,E,C  \n");
	printf("       程序大小:大约10MB\n");
	printf("       编译环境:Windows\n");
	printf("       运行环境:Windows\n");
	printf("       详细版本:Windows专业版 \n");
	printf("       系统类型:64位操作系统\n");
	printf("       内部文件列表:command.exe\n");
	printf("                     comword.dll\n");
	printf("                     olly.exe\n");
	printf("                     SkinH_EL.dll\n");
	printf("                     sqlite3.dll\n");
	printf("                     XCGUI.dll\n");
	printf("                     compass.dll\n\n\n\n");
	
	printf("文件操作及使用方法:\n");
	printf("    格式 [文件] [参数1][参数2][参数3][参数4][参数5]\n");
	printf("\n");
	printf("    参数1:(必填)\n");
	printf("         /F 使用管理员权限\n");
	printf("         /N 不使用管理员权限【不建议】\n");
	printf("\n");
	printf("    参数2:(必填)\n");
	printf("         /U 标识符属性U [不影响使用]\n");
	printf("         /E 标识符属性E [不影响使用]\n");
	printf("         /N 标识符属性N [不影响使用]\n");
	printf("    注意:若其中一个不好用(无法显示窗口)建议更换标识符\n"); 
	printf("\n");
	printf("    参数3:(必填)\n");
    printf("         /!exit       结束\n");
    printf("         /KQPB        屏蔽win键,任务管理器\n");
    printf("         /JCPB        解除屏蔽win键,任务管理器\n");
    printf("         /savelog     先行时间\n");
    printf("         /ljs         作者\n");
    printf("         /xswindows   关于主界面\n");
    printf("         /BJCK        查看edb数据库\n");
	printf("         /EXEDB       excel 转换 edb\n");
    printf("         /HBEDB       edb 数据库合并\n");
    printf("         /HEX         文件反编译\n");
    printf("         /JK          文件加壳\n");
    printf("         /LJQ         web网截\n");
    printf("         /SQLDB       SQL数据库操作工具\n");
    printf("         /SQLITE      SQL数据库操作工具\n");
    printf("         /SQLMAN      SQL数据库操作工具\n");
    printf("         /WEB         web服务器\n");
    printf("         /ZDY         自定义网络协议\n");
    printf("         /TPC         TPC网络协议\n");
    printf("         /JMWJ        加密文件\n");
    printf("         /YS          端口和网络映射\n");
    printf("         /WMI         获取硬件信息\n");
    printf("         /JVW         扫描局域网\n");
    printf("         /DK          端口转换监控\n");   
    printf("         /JC          进程管理和监控\n");   
    printf("         /LL          网络流量监控\n");  
	printf("         /WJZY        文件资源管理器(超文本浏览)\n");    
	printf("         /BM          字符编码查看器\n");   
	printf("         /JKNC        内存监控显示\n");   
	printf("         /DDOS        DDOS多线程攻击网站\n");   
	printf("         /NTJC        进程文件详细查看\n");  
	printf("         /USB         USB(U盘详细信息和查看)\n");    
	printf("         /ARP         ARP欺骗攻击\n"); 
	printf("         /DIE         结束所有窗口及本程序\n"); 
	printf("         /FILE        获取文件字数行数等\n");
	printf("         /CIP         扫描查看IP端口\n");
	printf("         /AES         将文件转换为16进制和汇编代码\n");
	printf("         /TS          程序调试和调试信息\n");
	printf("         /NX          静态逆向文件源码信息\n");
	printf("\n"); 
    printf("    参数4:(必填)\n");
    printf("         /N           程序标识符[允许多开程序](现有窗口程序会强制关闭)\n");
    printf("         /Y           程序标识符[禁止多开程序](现有窗口程序不会强制关闭)\n");
    printf("\n");
    printf("    参数5:(在使用参数3‘/FILE’命令时必填)\n");
    printf("         \"文件路径\" 文件输入参数\n"); 
    printf("\n");
    printf("    注意:\n");
    printf("         1、在使用时请不要再末尾加pause等命令,有时影响使用\n");
    printf("         2、在使用多开程序窗口的时候请注意cpu的资源占用,小心死机\n");
    printf("         3、若无法显示窗口,建议更换标识符\n");
	printf("         4、若更换标识符后仍无法显示窗口,输入'/'查询命令,检查命令是否有误\n");  
    printf("         5、在使用参数3的‘/FILE’命令时一定呀注意参数5为可用路径且参数5必填\n");  
	printf("         6、参数5的路径要用英文\"\"包起来才好用,不然会有部分空格路径找不到文件【\"文件路径\"】\n");  
	printf("\n");
    printf("    命令[例子]:\n");
    printf("         compass /N /E /WEB /Y {禁止管理员 标识符属性E 窗口为WEB 允许多开程序}\n");
    printf("         compass /F /N /TPC /N {允许管理员 标识符属性N 窗口为TCP 禁止多开程序}\n");
    printf("         compass /N /U /WEB /N {禁止管理员 标识符属性U 窗口为WEB 禁止多开程序}\n");
    printf("         compass /N /U /FILE /N \"C:\\1.txt\"{禁止管理员 标识符属性U 窗口为文件信息 禁止多开程序 文件路径}\n");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);//设置绿色和蓝色相加
    printf("----------------------------------------------------------------------\n"); 
	SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//恢复到原始颜色 
} 

bool getProcess(const char *procressName)				//此函数进程名不区分大小写
{
	char pName[MAX_PATH];								//和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
	strcpy(pName,procressName);							//拷贝数组
	CharLowerBuff(pName,MAX_PATH);						//将名称转换为小写
	PROCESSENTRY32 currentProcess;						//存放快照进程信息的一个结构体
	currentProcess.dwSize = sizeof(currentProcess);		//在使用这个结构之前,先设置它的大小
	HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
 
	if (hProcess == INVALID_HANDLE_VALUE)
	{
		MessageBox(NULL, _T("CreateToolhelp32Snapshot()调用失败!"), _T("软件错误"), MB_OK);
		return false;
	}

	bool bMore=Process32First(hProcess,&currentProcess);		//获取第一个进程信息
	while(bMore)
	{
		CharLowerBuff(currentProcess.szExeFile,MAX_PATH);		//将进程名转换为小写
		if (strcmp(currentProcess.szExeFile,pName)==0)			//比较是否存在此进程
		{
			CloseHandle(hProcess);								//清除hProcess句柄
			return true;
		}
		bMore=Process32Next(hProcess,&currentProcess);			//遍历下一个
	}
	CloseHandle(hProcess);	//清除hProcess句柄
	return false;
}
int file(){
	int a;
	a=0;
	char *mistake = "true";//判断文件完整性 
	if((access("XCGUI.dll",F_OK))!=-1)   
    {   
        printf("XCGUI.dll初始化成功\n");   
        system("cls");//减少显示信息//清屏 
    }   
    else  
    {  	  
	    system("title Windows扩展程序 ---by:ljs[文件初始化错误]"); 
        MessageBox(NULL, _T("          软件错误\n无法找到...\\XCGUI.dll\nXCGUI.dll初始化失败"), _T("初始化失败"), MB_OK);
        mistake = "flace";
	} 
	if((access("olly.dll",F_OK))!=-1)   
    {   
        printf("olly.dll初始化成功\n");   
        system("cls");//减少显示信息//清屏 
    }   
    else  
    {  	     
    system("title Windows扩展程序 ---by:ljs[文件初始化错误]"); 
        MessageBox(NULL, _T("          软件错误\n无法找到...\\olly.dll\nolly.dll初始化失败"), _T("初始化失败"), MB_OK);
        mistake = "flace";
	} 
	if((access("SkinH_EL.dll",F_OK))!=-1)   
    {   
        printf("SkinH_EL.dll初始化成功\n");  
		system("cls");//减少显示信息//清屏  
    }   
    else  
    {  	     
    system("title Windows扩展程序 ---by:ljs[文件初始化错误]"); 
        MessageBox(NULL, _T("              软件错误\n无法找到...\\SkinH_EL.dll\nSkinH_EL.dll初始化失败"), _T("初始化失败"), MB_OK);
        mistake = "flace";
	} 
	if((access("sqlite3.dll",F_OK))!=-1)   
    {   
        printf("sqlite3.dll初始化成功\n");   
        system("cls");//减少显示信息//清屏 
    }   
    else  
    {  	  
	system("title Windows扩展程序 ---by:ljs[文件初始化错误]");    
        MessageBox(NULL, _T("            软件错误\n无法找到...\\sqlite3.dll\nsqlite3.dll初始化失败"), _T("初始化失败"), MB_OK);
        mistake = "flace"; 
	} 
	
	if((access("command.exe",F_OK))!=-1 || (access("comword.exe",F_OK))!=-1)   
    {   
        printf("主程序初始化成功\n");
        system("cls");//减少显示信息//清屏 
    }   
    else  
    {  	  
	system("title Windows扩展程序 ---by:ljs[文件初始化错误]");    
        MessageBox(NULL, _T("                  软件错误\n无法找到...\\command.exe(或)\n无法找到...\\comword.exe(或)"), _T("文件缺失"), MB_OK);
        mistake = "flace"; 
	} 

	if(mistake =="flace")
	{
	printf("文件完整性检验失败\n");  
	exit(0);
	}
	
}
/**********************************************
函数名:IsProcess
作用:  关闭软件进程
参数:  *path             软件名字符串,在最前面要加一个随意字符(不重复)
        SeaechCriteria    你加的那个字符
返回值:TRUE---成功
        FALSE--失败

**********************************************/

BOOL IsProcess(char *path,char SearchCriteria)

{
char tmp[MAX_PATH] = {0};
/**********************************
函数名:strrchr
作用:  在指定的字符串中查找某一字符第一次出现的位置
参数:  string   限定的字符串
       char     规定要查找的字符
返回值:成功--该字符到结束
       失败--FALSE
**********************************/
strcpy(tmp,strrchr(path,SearchCriteria) 1);
HANDLE hkernel32;
HANDLE hSnap;
PROCESSENTRY32 pe;
BOOL bNext;
pe.dwSize = sizeof(pe);
/**********************************
函数名:CreateToolhelp32Snapshot
作用:  获取进程信息,为其建立快照
参数:  dwFlag    TH32CS_SNAPPROCESS包含所有的进程
       th32ProcessID  0表示当前进程
返回值:INVALID_HANDLE_VALUE--调用失败
       hWnd---调用成功
**********************************/
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

/****************************************
函数名:Process32First
作用:  获取进程中的第一个进程句柄
参数:  hSnap     进程句柄
       pe        PROCESSENTRY32结构,用来储存进程信息
返回值:TRUE--成功
       FALSE--失败
****************************************/

bNext = Process32First(hSnap,&pe);
while(bNext)
{
/*****************************************
函数名:stricmp
作用:  比较字符串,不区分大小写
参数:  s1    
       s2
返回值:小于0 --- s1<s2
       等于0 --- s2=s1
大于0 --- s1>s1
*****************************************/
if(0 == stricmp(pe.szExeFile,tmp))
{
/***************************************************
函数名:OpenProcess
作用:  打开一个已经存在的进程对象
参数:  dwDesiredAccess   指定访问方法
       blnheritHandle    句柄是否能有子进程继承(TRUE--是)
dwProcessID       进程标识符
返回值:0---失败
       hWnd---进程句柄
***************************************************/
hkernel32 = OpenProcess(PROCESS_TERMINATE|PROCESS_CREATE_THREAD
|PROCESS_VM_WRITE|PROCESS_VM_OPERATION,1,pe.th32ProcessID);

if(0 == TerminateProcess(hkernel32,0))
return FALSE;
return TRUE;
}

/**********************************************
函数名:Process32Next
作用: 获取下一个进程的句柄
参数:  hSnap  句柄

返回值:TRUE---成功
        FALSE---失败
**********************************************/

bNext = Process32Next(hSnap,&pe);
}
CloseHandle(hSnap);
return FALSE;
}




int chushihua(){
	char *filename;
	filename = "pass.txt";
    remove(filename); 
    
    char *filename1;
    filename1 = "password.txt";
    remove(filename1);
} 


char *b;
int jiaohuan(char *a)
{
char ans[1001];
int now;
  int l=strlen(a);
  int i;
  for(i=0;i<l;i  )
  {
    if(a[i]>=97&&a[i]<=122)a[i]=a[i]-32;
  }//大小写转换
  b = a; 
  return 0;

}

void start(){
	    system("title Windows扩展程序 ---by:ljs");
	    system("cls");
	    //if(strcmp(argv[4], "//F")!=0){a1=0;}
		//else{exit(0);}	
		printf("正在检验文件完整性\n");
	    file(); 
	    printf("文件完整性检验完成\n");
	    system("cls");//减少显示信息//清屏 
}


int Initializationdefinition(){
	int n = 10;
    int sum = 1;
    bool flag = false;
    int num = n;
	
}

void GetLine(FILE *f)
{
	int letter = 0, line = 0;
	//接收字符,行数
	int mark = 0;
	while (!feof(f))
	{
		letter = fgetc(f);
		if (letter == '\n')
			line  ;
	}
	printf("共有行数 %d\n", line);
}
void GetWord(FILE *f)
{
	int letter = 0, word = 0;
	//接收字符,词数
	int mark = 0;
	//0为非字符,1为字符串
	while (!feof(f))
	{
		letter = fgetc(f);
		if ((letter >= 'a'&&letter <= 'z') || (letter >= 'A'&&letter <= 'Z') || letter == '_')
		{
			if (mark == 0)
				mark = 1;
		}
		else if (letter == '.') //防止头文件和浮点数的'.'被误判
		{
			if (mark == 0 || mark == 1)
				continue;
		}
		else
		{
			if (mark == 1)
			{
				word  ;
				mark = 0;
			}
			else
				continue;
		}
	}
	printf("共有词数 %d\n", word);
}
void GetLetter(FILE *f)
{
	int letter = 0, num = 0;
	//接收字符,字符数
	while (!feof(f))
	{
		letter = fgetc(f);
		if (letter == '\n') //除换行标记外均视为字符
			continue;
		num  ;
	}
	printf("共有字符数 %d\n", num - 1);  //除去eof标志
}
void MoreData(FILE *f)
{
	int letter = 0, code = 0, empty = 0, note = 0, mark = 0, notemark = 0;
	/*
	接受字符,代码行数,空行数,注释行数,类型标记,注释行标记
	mark的参数:0空行,1存在格式化字符的空行,2代码行,3注释行
	notemark参数:0未判定,1单行注释,2多行注释
	*/
	while (!feof(f))
	{
		letter = fgetc(f);
		if (mark == 0 || mark == 1) //判定空行
		{
			if (letter == ' ')
				continue;
			else if (letter == '\n')
			{
				empty  ;
				mark = 0;
				continue;
			}
			else if ((letter == '{' || letter == '}') && mark == 0)
			{
				mark = 1;
				continue;
			}


			else
			{
				if (letter == '/')
					mark = 3;
				else
					mark = 2;
			}
		}

		if (mark == 2) //判定代码行
		{
			while (!feof(f) && letter != '\n')
				letter = fgetc(f);
			mark = 0;
			code  ;
			continue;
		}

		if (mark == 3) //判定注释行
		{
			while (!feof(f))
			{
				letter = fgetc(f);

				if (letter == '/' && notemark == 0) //单行注释起始判定
					notemark = 1;
				else if (letter == '*' && notemark == 0) //多行注释起始判定
					notemark = 2;
				else if (letter == '*' && notemark == 2) //多行注释结束判定
					notemark = 3;

				if (notemark == 1) //单行注释结束判定
				{
					while (!feof(f) && letter != '\n')
						letter = fgetc(f);
					note  ;
					mark = 0;
					notemark = 0;
					break;
				}

				if (notemark == 2)  //多行注释中间行数计算
				{
					while (!feof(f) && letter != '\n')
						letter = fgetc(f);
					note  ;
				}

				if (notemark == 3 && letter == '/') //多行注释结束判定
				{
					while (!feof(f) && letter != '\n')
						letter = fgetc(f);
					note  ;
					mark = 0;
					notemark = 0;
					break;
				}
				else if (notemark == 3 && letter != '*') //判定是否为注释中的*
					notemark = 2;
			}
		}
	}
	printf("共有空行数 %d  代码行数 %d  注释行数 %d\n", empty, code - 1, note); //除去eof行
}




#define _CRT_SECURE_NO_WARNINGS
int main(int argc, char ** argv)
{
//判断是否有空参数    
/* 
int IsEmpty = 0;
int length = strlen(argv[1]);
int n;
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;n<length;n  )
{
//判断ASCII码是否为32
if(argv[n]==32)
IsEmpty=1;
else
{
IsEmpty=0;
//存在一个字符则跳出循环
break;
}
}
if(length == 0)
exit(0);
else if(IsEmpty)
exit(0);
else
{
int aa;
aa=1;
}

IsEmpty = 0;
length = strlen(argv[2]);
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;n<length;n  )
{
//判断ASCII码是否为32
if(argv[n]==32)
IsEmpty=1;
else
{
IsEmpty=0;
//存在一个字符则跳出循环
break;
}
}
if(length == 0)
exit(0);
else if(IsEmpty)
exit(0);
else
{
int aa;
aa=1;
}

IsEmpty = 0;
length = strlen(argv[3]);
//遍历整个字符串,如果全为空格,则返回字符串也为空
for(n=0;n<length;n  )
{
//判断ASCII码是否为32
if(argv[n]==32)
IsEmpty=1;
else
{
IsEmpty=0;
//存在一个字符则跳出循环
break;
}
}
if(length == 0)
exit(0);
else if(IsEmpty)
exit(0);
else
{
int aa;
aa=1;
}
*/  
        HANDLE handle;  
        handle = GetStdHandle(STD_OUTPUT_HANDLE); 
        if(argv[1] == NULL)
		{
		shuom(); 
		printf("\n\n\n\n");
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//设置红色 
		printf("                               错误显示\n"); 
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);//设置绿色和蓝色相加
		printf("----------------------------------------------------------------------"); 
		printf("\n参数为空,错误.\n");	
		printf("----------------------------------------------------------------------\n"); 
		SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//恢复到原始颜色 
		return 0;
		}
		
        //文件及软件开始初始化
		//检查文件是否存在
		//设置标题 
        start();	
        
        //转换文件大小写(统一为大写) 
	    jiaohuan(argv[1]);
	    argv[1] = b;
	    jiaohuan(argv[2]);
	    argv[2] = b;
	    //参数3部分支持小写    
	    jiaohuan(argv[3]);
	    argv[3] = b;
	    jiaohuan(argv[4]);
	    argv[4] = b;
	    
	    //判断参数1 
        if(strcmp(argv[1], "/F")==0)
		{
			//判断参数2 
		    if(strcmp(argv[2], "/U")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性U]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性U] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性U] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性U] [参数4错误]");}
			}
		    else if(strcmp(argv[2], "/E")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性E]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性E] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性E] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性E] [参数4错误]");}
			}
		    else if(strcmp(argv[2], "/N")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性N]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性N] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性N] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [标识符属性N] [参数4错误]");}
			}
		    else
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [参数2错误]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [参数2错误] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [参数2错误] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限成功] [参数2错误] [参数4错误]");}
			}
		}
        else if(strcmp(argv[1], "/N")==0)
		{
		    if(strcmp(argv[2], "/U")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性U]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性U] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性U] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性U] [参数4错误]");}
			}
		    else if(strcmp(argv[2], "/E")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性E]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性E] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性E] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性E] [参数4错误]");}
			}
		    else if(strcmp(argv[2], "/N")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性N]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性N] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性N] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [标识符属性N] [参数4错误]");}
			}
		    else
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [参数2错误]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [参数2错误] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [参数2错误] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [管理员权限失败] [参数2错误] [参数4错误]");}
			}
			
		}	
		else if(strcmp(argv[1], "/help")==0 || strcmp(argv[1], "/HELP")==0)
		{
		system("cls");
		shuom();
		getch();
		}
        else
		{
		    if(strcmp(argv[2], "/U")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性U]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性U] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性U] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性U] [参数4错误]");}
			}
		    else if(strcmp(argv[2], "/E")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性E]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性E] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性E] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性E] [参数4错误]");}
			}
		    else if(strcmp(argv[2], "/N")==0)
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性N]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性N] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性N] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [标识符属性N] [参数4错误]");}
			}	
		    else
			{
			system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [参数2错误]");
			if(strcmp(argv[4], "/Y")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [参数2错误] [允许多开程序]");}
			else if(strcmp(argv[4], "/N")==0){system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [参数2错误] [禁止多开程序]");}
	        else{system("title Windows扩展程序 ---by:ljs [文件初始化成功] [参数1错误] [参数2错误] [参数4错误]");}
			}
		}
        printf("。");//加载中 
        
        
        //判断参数3 
		if(strcmp(argv[3], "/NX")==0 || strcmp(argv[3], "/TS")==0 || strcmp(argv[3], "/AES")==0 || strcmp(argv[3], "/CIP")==0 || strcmp(argv[3], "/ARP")==0 || strcmp(argv[3], "/JMWJ")==0 || strcmp(argv[3], "/YS")==0 || strcmp(argv[3], "/WMI")==0 || strcmp(argv[3], "/JVWJ")==0 || strcmp(argv[3], "/DK")==0|| strcmp(argv[3], "/JC")==0|| strcmp(argv[3], "/LL")==0|| strcmp(argv[3], "/WJZY")==0|| strcmp(argv[3], "/BM")==0|| strcmp(argv[3], "/JKNC")==0|| strcmp(argv[3], "/DDOS")==0|| strcmp(argv[3], "/NTJC")==0|| strcmp(argv[3], "/USB")==0)
		{
                    FILE *fp = NULL;
                    fp = fopen("pass.txt", "w "); //第一个逗号前是文件位置。逗号之后是打开文件方式
                    printf("。");
                	if (getProcess("comword.exe"))
	                {
	                	if(strcmp(argv[4], "/N")==0)
						{
							system("cls");
							printf("\n");
							printf("\n");
							printf("\n");
							printf("\n");
							SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//设置红色 
							printf("                               错误显示\n"); 
							SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);//设置绿色和蓝色相加
							printf("----------------------------------------------------------------------\n"); 
							printf("已有窗口正在运行,请关闭后在运行或允许多开程序\n");
							printf("----------------------------------------------------------------------\n"); 
							SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//恢复到原始颜色 			
							getch();
                            if( strcmp(argv[2], "/U")==0){fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else if( strcmp(argv[2], "/E")==0){fprintf(fp,"%s",argv[3]);/*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else{fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/} 
                            fclose(fp);  //记得用完关闭文件	}
						}
	                	else
						{
						    if( strcmp(argv[2], "/U")==0){fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else if( strcmp(argv[2], "/E")==0){fprintf(fp,"%s",argv[3]);/*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else{fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/} 
                            fclose(fp);  //记得用完关闭文件	}
						}
						 
	             	}
	             	else
					{
	             			if( strcmp(argv[2], "/U")==0){fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else if( strcmp(argv[2], "/E")==0){fprintf(fp,"%s",argv[3]);/*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else{fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/} 
                            fclose(fp);  //记得用完关闭文件	}       
					}  
					system("start comword.exe");
        } 
		else if(strcmp(argv[3], "/help")==0 || strcmp(argv[3], "/HELP")==0 || strcmp(argv[3], "/?")==0 || strcmp(argv[3], "/?")==0){system("cls");shuom();getch();}
		else if(strcmp(argv[3], "/ljs")==0 || strcmp(argv[3], "/LJS")==0){system("cls");zuozhe();getch();}
		else if(strcmp(argv[3], "/BJCK")==0 || strcmp(argv[3], "/EXEDB")==0 || strcmp(argv[3], "/HBEDB")==0 ||  strcmp(argv[3], "/HEX")==0 ||  strcmp(argv[3], "/JK")==0 ||  strcmp(argv[3], "/LJQ")==0 ||  strcmp(argv[3], "/SQLDB")==0 ||  strcmp(argv[3], "/SQLITE")==0 ||  strcmp(argv[3], "/SQLMAN")==0 ||  strcmp(argv[3], "/WEB")==0 ||  strcmp(argv[3], "/ZDY")==0  ||  strcmp(argv[3], "/TPC")==0)
		{
                    FILE *fp = NULL;
                    fp = fopen("password.txt", "w "); //第一个逗号前是文件位置。逗号之后是打开文件方式
                    printf("。");
                	if (getProcess("command.exe"))
	                {
	                	if(strcmp(argv[4], "/N")==0)
						{
							//int YN;结束进程 
                            //YN = IsProcess("command.exe",'i');结束进程 
                            system("cls");
							printf("\n");
							printf("\n");
							printf("\n");
							printf("\n");
							SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//设置红色 
							printf("                               错误显示\n"); 
							SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);//设置绿色和蓝色相加
							printf("----------------------------------------------------------------------\n"); 
							printf("已有窗口正在运行,请关闭后在运行或允许多开程序\n");
							printf("----------------------------------------------------------------------\n"); 
							SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//恢复到原始颜色 			
							getch();
                            if( strcmp(argv[2], "/U")==0){fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else if( strcmp(argv[2], "/E")==0){fprintf(fp,"%s",argv[3]);/*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else{fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/} 
                            fclose(fp);  //记得用完关闭文件	}
                            
						}
	                	else
						{
						    if( strcmp(argv[2], "/U")==0){fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else if( strcmp(argv[2], "/E")==0){fprintf(fp,"%s",argv[3]);/*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else{fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/} 
                            fclose(fp);  //记得用完关闭文件	}
                            
						} 
	             	}
	             	else
					{
	             			if( strcmp(argv[2], "/U")==0){fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else if( strcmp(argv[2], "/E")==0){fprintf(fp,"%s",argv[3]);/*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/}
                            else{fprintf(fp,"%s\n",argv[3]);  /*逗号之前是一个指针,表明往里面输入。逗号之后fprintf是往文件里面输入*/} 
                            fclose(fp);  //记得用完关闭文件	}        
					} 
					system("start command.exe");
		}
		else if(strcmp(argv[3], "/DIE")==0)
		{			
			if (KillMyProcess("command.exe")==0) 
			printf(" --- 进程被终止\n");
			else 
			printf(" --- 进程没被终止 \n" ) ;
			
			if (KillMyProcess("comword.exe")==0) 
			printf(" --- 进程被终止\n");
			else 
			printf(" --- 进程没被终止 \n" ) ;
			
			exit(0);//结束 
		}
		
		else if(strcmp(argv[3], "/FILE")==0)
		{
		int choose = 0;
		char com; //获取具体命令
		FILE * fp = NULL;
		char* func = (char*)malloc(sizeof(char) * 50); //接收命令参数
		fp = fopen(argv[5], "r");
		if (fp == NULL)
		{
			printf("文件打开失败。\n");
		}
		system("cls");
		GetLetter(fp);
		rewind(fp);
		GetWord(fp);
		rewind(fp);
		GetLine(fp);
		rewind(fp);
		MoreData(fp);
		rewind(fp);	
		getch();
		}
		else
		{
		system("cls");
		printf("\n");
		printf("\n");
		printf("\n");
		printf("\n");
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);//设置红色 
		printf("                               错误显示\n"); 
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);//设置绿色和蓝色相加
		printf("----------------------------------------------------------------------\n"); 
		printf("参数3错误[无法打开指导的窗口程序] \n加载错误...\n");
		printf("请单击应用查看(cmd命令[Compass & pause]\n");
		printf("----------------------------------------------------------------------\n"); 
		//恢复到原始颜色 
		SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);		
		getch();
		}  
    return 0;//结束main主程序 
}


int KillMyProcess(char *exeName)
{
int rc = 0;
HANDLE hSysSnapshot = NULL;
PROCESSENTRY32 proc;
hSysSnapshot = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0 );
if ( hSysSnapshot == (HANDLE)-1 ) return 1;
proc.dwSize = sizeof(proc);
if ( Process32First ( hSysSnapshot, &proc ) ) {
do {
if (stricmp(proc.szExeFile, exeName)==0) {
HANDLE Proc_handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc.th32ProcessID);
if (Proc_handle==NULL || !TerminateProcess(Proc_handle, 0)) rc = 1;
else rc = 0;
}
} while ( Process32Next ( hSysSnapshot, &proc ) );
}
CloseHandle ( hSysSnapshot );
return rc;
}


标签: 命令

实例下载地址

Windows扩展命令程序(源码)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警