Ãœðù - Xakep Online
Ãœðù - Xakep Online
Ãœðù - Xakep Online
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
coding<br />
Клиент удаленного администрирования в действии<br />
Внешний вид формы клиентской части<br />
s.png',fmCreate);<br />
//Пока есть соединение, читаем данные<br />
while connected do<br />
ReadStream(s,-1,true);<br />
//Уничтожаем поток<br />
FreeAndNil(s);<br />
//Отключаемся<br />
Disconnect;<br />
Image1.Picture:=nil;<br />
//Выводим полученный скриншот на экран<br />
PNG := TPNGObject.Create;<br />
Bitmap := TBitmap.Create;<br />
try<br />
PNG.LoadFromFile('C:\s.png');<br />
Bitmap.Assign(PNG);<br />
Image1.Picture.Bitmap.Assign(Bitmap);<br />
finally<br />
PNG.Free;<br />
Bitmap.Free;<br />
end;<br />
end; //end — with<br />
end;<br />
Как видишь, тут все элементарно. С помощью собственной<br />
процедуры connect_to_server (ее реализацию ты можешь<br />
найти в исходниках) мы подключаемся к серверу. Для этого<br />
вызывается метод Connect компонента TidTCPClient и предварительно<br />
устанавливаются свойства Host и Port. Затем с<br />
помощью процедуры WriteLn мы отправляем серверу команду<br />
«get_screen» и в ответ получаем графический файл формата<br />
PNG, который сохраняем на диске C и отображаем пользователю<br />
посредством компонента TImage.<br />
Реализацию остальных функций ты найдешь в исходниках<br />
программы, а сейчас давай просто посмотрим, как она<br />
осуществлена. Если нажать на кнопку «Просмотр», ее текст<br />
поменяется на «Отключить просмотр», а кнопки «Скриншот»<br />
и «Управление» блокируются. Далее включается таймер,<br />
который через определенные промежутки времени (я установил<br />
значение 400 мс) обращается к серверу с просьбой<br />
прислать скриншот. Если пользователь нажимает на кнопку<br />
повторно, то режим просмотра отключается. Аналогично<br />
xàêåð 05 /101/ 07<br />
/<br />
работает и режим управления, только клиент, кроме запроса<br />
прислать скриншот, отправляет еще координаты курсора<br />
мыши (сообщения «mouse_move», «mouse_x» и «mouse_y»,<br />
полученные с помощью функции GetCursorPos), которые<br />
затем и устанавливаются у получателя. Если пользователь<br />
нажимает на кнопку «Сообщение 'Пора работать!'», на сервер<br />
уходит команда «message_for_you», которая приводит к<br />
вызову функции MessageBox и к выводу поверх всех открытых<br />
окон указанного текстового сообщения.<br />
Итак, программа разработана, пора испытывать ее в боевых<br />
условиях. Предупреждаю: если у тебя стоит Firewall, настрой его<br />
так, чтобы был возможен обмен сообщениями между двумя компьютерами<br />
сети по определенном порту (у меня выбран 6666).<br />
Несколько слов напоследок<br />
Конечно, эта утилита не совершенна, но за совершенство<br />
обычно просят деньги :). Все в твоих руках — ты запросто<br />
можешь сделать из нее более серьезный продукт, реализовав<br />
дополнительные функции и возможности. Во-первых,<br />
наверняка, сразу бросается в глаза проблема мерцания при<br />
обновлении картинок. Ее можно решить, несколько изменив<br />
алгоритм работы получения скриншотов: для этого посылай<br />
не сами картинки, а лишь изменения между ними.<br />
Стоит отметить тот факт, что, если разрешения экранов мониторов<br />
клиента и сервера различаются, может наблюдаться<br />
эффект отставания курсора мыши: когда на своем мониторе ты<br />
наводишь курсор на одно место, на скриншоте, присланном с<br />
удаленного компьютера, он отстает и располагается чуть выше.<br />
Решается эта проблема вводом специального коэффициента и<br />
применением его к координатам, передаваемым на сервер.<br />
Также можно реализовать функцию работы по паролю. А уж<br />
про скрытие программы в трей и придание ей невидимости<br />
я и говорить не буду — это классика жанра. А вот управление<br />
компьютером посредством ICQ — это действительно<br />
круто. Представь только! Тебе вообще не нужно вдаваться<br />
в тонкости сетевых технологий и протоколов передачи<br />
данных. Ты просто встраиваешь в свой сервер возможность<br />
приема и отправки ICQ-сообщений и управляешь<br />
компьютером удаленно из любой точки мира (благо в сети<br />
можно найти компоненты, помогающие реализовать это без<br />
особых хлопот, да и мы в одном из предыдущих выпусков<br />
писали про создание асечного бота). z<br />
DVD<br />
На диске ты найдешь<br />
полные исходные<br />
коды программы,<br />
описанной в статье,<br />
а также компонент<br />
TPNGImage, предназначенный<br />
для работы<br />
с графическими файлами<br />
формата PNG.<br />
123