-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathBackDoorProgram-WindowsProcessExplorer.cpp.backupfile
More file actions
67 lines (52 loc) · 2.34 KB
/
BackDoorProgram-WindowsProcessExplorer.cpp.backupfile
File metadata and controls
67 lines (52 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "WindowsProcessExplorerCore.hpp"
#include "StdAfx.h"
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[])
{
if(argc == 2 && strcmp(argv[1],"-showall") == 0)
{
ProcessList();
}
if(argc == 3 && strcmp(argv[1],"-killpid") == 0)
{
KillProcess(atoi(argv[2]));
/*
PidNumber = 100
atoi() = sting Value(PidNumber) --> int Value(PidNumber)
X:\>***.exe argv[1]=Command(-killpid) argv[2]=string(PidNumber)
*/
}
AllocConsole();//Give the process a new console 给进程,创造一个新的控制台
SetConsoleTitle("Program Main Help Info");//Modify the console's title 修改控制台的标题
HANDLE handle_ConsoleResult = GetStdHandle(STD_OUTPUT_HANDLE);//Get the console output handle 获得控制台输出的句柄
DWORD pointerConsole = 0;
TCHAR BufferSpace[1024] = {0}; //Create a buffer for outputting a character group 创建一个输出字符组的缓冲区
lstrcpy(BufferSpace,_T("Please run in Dos CommandLine Mode.\n\nTHIS PROGRAM HELP TEXT:\n\n命令:-showall 功能:展示所有应用进程\n\n命令:-killpid (%程序 进程ID%) 功能:杀死特定应用进程\n\nCommand:-showall\nFunction:Show all application processes\nCommand:-killpid (%Program Pid%)\nFunction: Kill a specific application process\n\nThis program is compiled by Twlilght_Yujiang\n"));
//Copy characters to buffer 复制字符到缓冲区
//_T == Use Unicode encoded character set (_T == 使用Unicode编码字符集)
WriteConsole(handle_ConsoleResult,BufferSpace,lstrlen(BufferSpace),&doubleWord_PointerConsole,NULL);
/*
NULL or &doubleWord_PointerConsole,NULL
从缓冲区中输出字符
*/
CloseHandle(handle_ConsoleResult);
FreeConsole();//Give process, freed console created in memory
getchar();
/*
strcmp(a,b)为字符串比较函数,比较的是从字符串的第一个字符开始比较他的ASCLL码值,跟字符串的长度无关。
当a > b 时,返回值 > 0
当a = b 时,返回值 = 0
当a < b 时,返回值 < 0
! 是逻辑运算符-->非
即当值为真时改成假,值为加时改成真
strcmp()在程序设计的判断真假中0为假,非0为真
所以在if(!strcmp(A,B))这个语句中我们可以将A和B的关系设为两种,一种是A==B,另一种是A!=B
当A==B时:strcmp(A,B)为0,!strcmp(A,B)为非0,if判断为真
当A!=B时:strcmp(A,B)为非0,!strcmp(A,B)为0,if判断为假
*/
return 0;
}