Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Delphi и "Удаоенный рабочий стол" (https://forum.antichat.xyz/showthread.php?t=122941)

Zitt 31.05.2009 03:14

Delphi и "Удаленный рабочий стол"
 
Реально ли? (если то как) написать клиент для виндовского удаленного раб стола... тоесть, чтобы в проге вбиваешь ип, логин\пасс она заходила на и выполняла команды не удаленном компе....

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=imp ersonate}!\\" &_
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

Цитата:

Сообщение от fl00der
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

Цитата:

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

Спасибо тебе, буду тоже разбираться
Цитата:

Сообщение от aqqa
Ты прям предо мной америку открыл....
Раз тебе интересно сиди разбирайся!
Вам, епт, готовый код подавай с полными коментариями на русском языке,а вы потом на форме название поменяеете и как всегда в ублюдские цвета раскрасите......программисты бля! Хакеры нах!

Ну ты конечно прям такой дерзкий, но всеже остынь немного. Мне комменты не нужны, и раскрашивать я ничего не собираюсь.

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

Цитата:

Сообщение от ca5per
А скрины, тоже бред пересылать... даже сжатые... имхо функция есть чисто глянуть какие иконки на раб. столе... Вот 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

Цитата:

Сообщение от W!z@rD
какие нафиг jpg??? oO

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

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


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

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

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

То есть
PHP код:

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

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

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


Время: 01:53