PDA

Просмотр полной версии : Delphi и "Удаоенный рабочий стол"


Zitt
31.05.2009, 03:14
Реально ли? (если то как) написать клиент для виндовского удаленного раб стола... тоесть, чтобы в проге вбиваешь ип, логин\пасс она заходила на и выполняла команды не удаленном компе....

Nightmarе
31.05.2009, 04:18
радмин ;) но это работа только с внешними айпи которые редко попадаются

Zitt
31.05.2009, 10:28
радмин разве умеет к стандартному урс подключаться?

Zitt
01.06.2009, 19:16
что вобще не рально такое написать ?(

aqqa
01.06.2009, 23:12
Попробуй такую шнягу....
Option Explicit
On Error Resume Next
Dim objReg, objWMIService, objItem, colItems
Dim strComputer, strKeyPath, strValueName, strValue
Const HKEY_LOCAL_MACHINE = &H80000002

If WScript.Arguments.Count <> 1 Then
strComputer ="."
InputBox("Enter machine name you want to " &_"enable Remote Desktop", "Machine Name?", "")
If strComputer = "" Then
Call cleanUP
End If
Else
strComputer = WScript.Arguments(0)
End If

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
If Err.Number <> 0 Then
Wscript.Echo Err.Number & " The remote machine (" & strComputer & ")" &_
" is unavailable or access denied."
Err.Clear
Call cleanUP
End If

strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
strValueName = "CurrentVersion"
objReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValu e

If strValue >= 5.1 Then
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
strValueName = "fDenyTSConnections"
objReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValu e
If strValue = 0 Then
Wscript.Echo "Remote Desktop is already enabled on: " & strComputer
Call cleanUP
Else
strValue = 0
objReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValu e
Wscript.Echo "Remote Desktop was enabled on: " & strComputer
Call cleanUP
End If
Else
Wscript.Echo "The remote machine (" & strComputer & ")" &_
"is not Windows XP or Windows 2003"
Call cleanUP
End If


Sub cleanUP
Set strComputer = Nothing
Set strKeyPath = Nothing
Set strValueName = Nothing
Set strValue = Nothing
Set stdOut = Nothing
Set objReg = Nothing
WScript.Quit
End Sub

fl00der
01.06.2009, 23:28
aqqa, а тебе вот не кажется, что твой код на VB, а автору надо на дельфях?
Мне это тоже интересно. Неужели никто не пробывал "взломать" RDP-протокол? Поидее можно было бы сделать сетевого червя, который распространялся бы по нему и записывал/отправлял логи куда-нибудь. Для радмина такая вещь есть.

МongBa†
04.06.2009, 04:27
Вот как раз ковыряюсь...
статейка что и как: http://www.delphisources.ru/pages/faq/base/ts_client.html
стабильно рабочий mstscax.dll: http://dump.ru/file/2839944 , более поздние версии глючат (

Joker-jar
04.06.2009, 05:28
Ищи реализацию RDP на Delphi

aqqa
04.06.2009, 08:42
aqqa, а тебе вот не кажется, что твой код на VB, а автору надо на дельфях?
Мне это тоже интересно. Неужели никто не пробывал "взломать" RDP-протокол? Поидее можно было бы сделать сетевого червя, который распространялся бы по нему и записывал/отправлял логи куда-нибудь. Для радмина такая вещь есть.
Ты прям предо мной америку открыл....
Раз тебе интересно сиди разбирайся!
Вам, епт, готовый код подавай с полными коментариями на русском языке,а вы потом на форме название поменяеете и как всегда в ублюдские цвета раскрасите......программисты бля! Хакеры нах!

Dr.Gonzo
04.06.2009, 15:13
2Zitt: Берешь клиент-серверное приложение простое на Indy.
составляешь список команд, добавляешь шифрование если надо, потом просто делаешь скрины экрана и шлешь клиенту с интервалом, а клиентское ПО определяет координаты мыши и шлет серваку, сервак в свою очередь двигает мышь.
Достаточно разбить свою задачу на ряд маленьких подзадачь и постепенно их реализовать.
А если интересен пример простенького приложения на Delphi7, пиши в личку, были где-то наработки

Zitt
05.06.2009, 13:35
Пасиб всем.. Буду смареть..

fl00der
14.06.2009, 00:47
Вот как раз ковыряюсь...
статейка что и как: http://www.delphisources.ru/pages/faq/base/ts_client.html
стабильно рабочий mstscax.dll: http://dump.ru/file/2839944 , более поздние версии глючат (Спасибо тебе, буду тоже разбиратьсяТы прям предо мной америку открыл....
Раз тебе интересно сиди разбирайся!
Вам, епт, готовый код подавай с полными коментариями на русском языке,а вы потом на форме название поменяеете и как всегда в ублюдские цвета раскрасите......программисты бля! Хакеры нах!Ну ты конечно прям такой дерзкий, но всеже остынь немного. Мне комменты не нужны, и раскрашивать я ничего не собираюсь.

AquaKlaster
14.06.2009, 02:04
Спасиб мне тоже помогло!

akahaos
15.07.2009, 13:47
У кого-нибуди работает MsRdpClient1.AdvancedSettings2.ClearTextPassword?
Сколько не пробовал, все время ошибку выдает: Интерфейс не поддерживается.
Хотя на VB6, точно такойже код и таже версия библиотеки mstscax, все прекрасно работает

ca5per
16.07.2009, 01:49
Post Deleted

St0nX
16.07.2009, 08:53
rfc
http://www.faqs.org/rfcs/rfc908.html
http://www.faqs.org/rfcs/rfc1151.html

-[БуШ]-
16.07.2009, 10:19
aqqa, +1
а нафига, аналог радмина писать? чё команды уже неакктуальны либа? Пишешь серверную часть, которая должна оповестить о начале работы и открыть порт. потом вбиваешь список команд, и то что они должны делать. и с клиента шлёшь запросы с определённой командой. хотя хрена я распинаюсь - это стандартный троян.

ca5per
16.07.2009, 14:56
Post Deleted

mr. ZetRikS
17.07.2009, 13:23
А я в своё время помнится писал что то подобное, реализовал только видеонаблюдение, а команды в принципе просто реализовать, статей полно
спроси у гугла как написать backdoor на Delphi
А видео наблюдение я реализовывал примерно так:
Делал скрины примерно раз в 100 мс и сжимал их, а потом пересылал на законнекченый адрес клиента... сервер висел на так сказать заражённой машине...

ca5per
17.07.2009, 14:45
Post Deleted

AKYLA
17.07.2009, 18:29
Где-то валялся пример даже удаленное управление как у Radmin, но проблема в таких программах то чего я так и не нашел и увы не смог сам осилить, это то, что бы не весь снимок отсылать каждый раз, а только изменения на рабочем столе, без этого все будет очень медленно, даже по локалке.
Так что если кто может поделится подобным кодом, буду очень благодарен, тогда возможно и будет реализация и можно будет выложить.

St0nX
17.07.2009, 20:51
ппц причем тут самописные серверы? если ТС хочет реализовать клиент работающий на протоколе RDP.

mr. ZetRikS
19.07.2009, 01:27
А скрины, тоже бред пересылать... даже сжатые... имхо функция есть чисто глянуть какие иконки на раб. столе... Вот ScreenShot:<качество> - прислать скриншот экрана на FTP

Если разрешение экрана скажем 1024х768 и урезать его (сжать не в плане уменьшать качество до нуля, хотя качество на jpg картинках мона регулировать) нун скажем при качестве порядка 4 из 10 и размере картинки 320х240, то получается изображение в несколько килобайт, которые при нормельном коннекте пересылать по 5 штук (раз в 200 мс) в секунду не очень то и проблематично... :)

С РАдмином на диалапе тож особо не поработаешь :)

Нун... каждый выбирает свою реализацию... а нафига скрин по фтп? если мона наблюдать в живую... нун и он же буит писать реализацию команд... почему бы добавить не присылание на фтп, а скажем прямое получение картинки. или на какой нить друго серв заливалась она. дабы работа была менее палевной :)

Кстати, автор, если будешь реализовывать как предложил я, сделай двойую буферизацию на клиенте, код не сложный, а картинка мерцать не будет, это описано в книге "Занимательное программирование"

zeppe1in
19.07.2009, 01:33
нет не реально)

ca5per
19.07.2009, 04:55
Что ты увидишь в 320 * 240 :-D

W!z@rD
19.07.2009, 09:09
какие нафиг jpg??? oO

gif, отсылать только изменный участок изображения, информации передается минимум. в итоге на клиенте накладываются только изменные участки.

Смысл слать полный скрин?

mr. ZetRikS
19.07.2009, 14:34
какие нафиг jpg??? oO

gif, отсылать только изменный участок изображения, информации передается минимум. в итого на клиенте накладываются только изменные участки.

Смысл слать полный скрин?


Мона слать и гифы, но гифы не меньше помоему весить будут, а серверное приложение в размере вырастет от алгоритма обрезания не изменённой части картинки...
Хотя если кто то выложит алгоритм обрезания изменённной части картинки, вырезание этой изменившейся части и вставку её в другую картинку, мне буит интересно почитать, и поюзать, да и остальным думаю тоже :)
Смысл слать полный? он не полный... он сжатый и с уменьшеным размером...

320 * 240 мона увидеть структуру рабочего стола и то, что на нём находится, что мешает на клиенте сделать увеличение картинок... :)

Ктати, можно сделать скажем передачу при начале работы, нун получение размера рабочего стола, и определение на сколько 320 меньше действительной координаты, дабы получить цифру на которую умножать при управлении мышой...

То есть
if мыша_над_картинкой then
Begin
Y:= Координата_на_картинке_y * разница_разрешений;
X:=........;
Отправление_координат(X,Y);
End;

Если продолжать дальше, то так же можно посылать нажатия клавиш мыши...

Только вот передачу нажатых клавиш в поле ввода думаю будет немного сложнее реализовать, а так, помоему всё норм... и не сложно... автор надеюсь не ищет сложные решения... )