Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизТелнет Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c