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

Вниз

Телнет   Найти похожие ветки 

 
AeroTm   (2007-01-07 23:12) [0]

Понадобилось собрать программку удалёного консольного админа. Использовал прямое перенаправление in/out-консоли в сокет. Вот фрагмент кода:


{CreateServer}
 WSAStartUp($202,WSAData);
 HSocket:=WSASocket(AF_INET,SOCK_STREAM,IPPROTO_IP,nil,0,0);
 adr.sin_family := AF_INET;
 adr.sin_addr.s_addr:=INADDR_ANY;
 adr.sin_port:=htons(23);
 Bind(HSocket,@adr,sizeof(adr));
 Listen(HSocket,1);
 WSAAsyncSelect(HSocket,Handle,CM_SOCKETMESSAGE, FD_ACCEPT);

{OnAccept}
 i:=sizeof(sin);
 ClientHSocket:=WSAAccept(HSocket, @sin, @i,nil,0);
 Zeromemory(@s_info,SizeOf(s_info));
 s_info.cb:=sizeof(s_info);
 s_info.dwFlags:=256;
 s_info.hStdInput:=ClientHSocket;
 s_info.hStdOutput:=ClientHSocket;
 s_info.hStdError:=ClientHSocket;
 CreateProcess( nil, PChar("cmd.exe"), nil, nil, true, $8000040, nil, nil, s_info, p_info);

В общем случае всё работает. Проблема в следующем. Нашлись две системы (обе XP SP2, но абсолютно не связанных между собой,т.е. дистрибутивы разные), на которых работать код отказался. Все функции отрабатываются нормально, без ошибок. И даже процесс cmd.exe появляется, но тут же закрывается. Соединение не теряется.
Кстати, функция "Телнет" в remote administrator также не работает на этих системах. ( Ошибся форумом? :) ) Что это, политики, драйвера, луна может? Пришлось всё переделать на пайпы, но хочу понять, где и в ком косяк!??


 
Eraser ©   (2007-01-08 00:00) [1]

> [0] AeroTm   (07.01.07 23:12)

а cmd.exe на той системе локально запускается?


 
kaZaNoVa ©   (2007-01-08 00:01) [2]

удалить сп2 он ограничивает много((


 
Eraser ©   (2007-01-08 00:13) [3]

> [2] kaZaNoVa ©   (08.01.07 00:01)

ага )) у меня к примеру есть программка, которой я могу получить права админа на всех компах ниже SP2, где не установлен один патчик )


 
AeroTm   (2007-01-08 12:18) [4]


> Eraser ©   (08.01.07 00:00) [1]
> а cmd.exe на той системе локально запускается?

Да, к тому же пересобранный код на пайпах тоже работает отлично.


> kaZaNoVa ©   (08.01.07 00:01) [2]
> удалить сп2 он ограничивает много((

на всех остальных машинах с сп2 всё работает. причём установил винду с дистрибутива той винды, на которой код не пашет - и чуда не произошло - мой телнет так же запустился...патчи поверх сознательно не устанавливались. Ещё есть systeminfo с этого компа.


 
Piroxyline ©   (2007-01-08 15:28) [5]


> Eraser ©   (08.01.07 00:13) [3]

А до SP2 не прокатывает фокус с программой-заставкой cmd.exe?



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
2-1168607110
O.O
2007-01-12 16:05
2007.01.28
Тип DECIMAL


2-1168639754
Ezorcist
2007-01-13 01:09
2007.01.28
Overriding virtual method TRegReaderObj.Destroy has lower.....


2-1168100863
Metaaa
2007-01-06 19:27
2007.01.28
Запуск сервиса


15-1167926050
kaZaNoVa
2007-01-04 18:54
2007.01.28
Психология и интернет, реальность и виртуальность.


2-1168457149
Kolan
2007-01-10 22:25
2007.01.28
Научите правильно работать с XMLDocument