Русское сообщество AutoIt

  • Май 22, 2013, 23:54:13 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

Создан файловый архив для участников форума.

Закачивайте свои файлы и получайте рейтинг, прямые ссылки, и т.п.

Для изображений и скриншотов по прежнему есть AUTOIT.RV.UA

Реклама

Автор Тема: Создания Hash RDP пароля в autoit  (Прочитано 1213 раз)

0 Пользователей и 1 Гость смотрят эту тему.

beliy [?]

Создания Hash RDP пароля в autoit
« Создано: Декабрь 07, 2011, 19:19:47 »
Версия AutoIt: последняя

Описание: Помогите получить способ генерации Hash rdp средствами Autoit

Примечания: это можно делать с помощью разных сторонних утилит, но хотелось бы получать автоматически самим скриптом. Что б вы понимали - пишу скрипт для генерации многих необходимых rdp подключений под конкретные логин/пасс дабы не создавать вручную новым пользователям...
Вот статья которая может помочь - http://www.remkoweijnen.nl/blog/2007/10/18/how-rdp-passwords-are-encrypted/
Заранее большое спасибо...




  Записан

beliy [?]

  • Осваивающий
  • **

  • Автор темы
  • Репутация: 48
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 276
    • Награды
Re: Создания Hash RDP пароля в autoit
« Ответ #1, Отправлен: Декабрь 08, 2011, 11:45:42 »
Извиняюсь, но вероятно мы не совсем друг друга поняли :whistle:
Уточнения:
1. надо код на Autoit для генерации hash аналогично как это делает сама windows, а не готовая тулза
2. насколько мне известно шифруется hash не в RC4, а с помошью функции CryptProtectData - http://msdn.microsoft.com/en-us/library/ms884464.aspx.

P.S. Проблема уже решена - тему закрываю.

Вот функция Autoit:
Код: AutoIt [Выделить]
Func CryptRDPPassword($str)
    Local Const $CRYPTPROTECT_UI_FORBIDDEN = 0x1
    Local Const $DATA_BLOB = "int;ptr"

    Local $passStr = DllStructCreate("byte[1024]")
    Local $DataIn = DllStructCreate($DATA_BLOB)
    Local $DataOut = DllStructCreate($DATA_BLOB)
    $pwDescription = 'psw'
    $PwdHash = ""

    DllStructSetData($DataOut, 1, 0)
    DllStructSetData($DataOut, 2, 0)

    DllStructSetData($passStr, 1, StringToBinary($str,2)); UTF16 Little Endian
    DllStructSetData($DataIn, 2, DllStructGetPtr($passStr, 1))
    DllStructSetData($DataIn, 1, StringLen($str)*2)

    $return = DllCall("crypt32.dll","int", "CryptProtectData", _
                                    "ptr", DllStructGetPtr($DataIn), _
                                    "wstr", $pwDescription, _
                                    "ptr", 0, _
                                    "ptr", 0, _
                                    "ptr", 0, _
                                    "dword", $CRYPTPROTECT_UI_FORBIDDEN, _
                                    "ptr", DllStructGetPtr($DataOut))
    If @error Then Return ""

    $len = DllStructGetData($DataOut, 1)
    $PwdHash = Ptr(DllStructGetData($DataOut, 2))
    $PwdHash = DllStructCreate("byte[" & $len & "]", $PwdHash)
    Return DllStructGetData($PwdHash, 1)
EndFunc

Func UncryptRDPPassword($bin)
    Local Const $CRYPTPROTECT_UI_FORBIDDEN = 0x1
    Local Const $DATA_BLOB = "int;ptr"

    Local $passStr = DllStructCreate("byte[1024]")
    Local $DataIn = DllStructCreate($DATA_BLOB)
    Local $DataOut = DllStructCreate($DATA_BLOB)
    $pwDescription = 'psw'
    $PwdHash = ""

    DllStructSetData($DataOut, 1, 0)
    DllStructSetData($DataOut, 2, 0)

    DllStructSetData($passStr, 1, $bin)
    DllStructSetData($DataIn, 2, DllStructGetPtr($passStr, 1))
    DllStructSetData($DataIn, 1, BinaryLen($bin))

    $return = DllCall("crypt32.dll","int", "CryptUnprotectData", _
                                    "ptr", DllStructGetPtr($DataIn), _
                                    "ptr", 0, _
                                    "ptr", 0, _
                                    "ptr", 0, _
                                    "ptr", 0, _
                                    "dword", $CRYPTPROTECT_UI_FORBIDDEN, _
                                    "ptr", DllStructGetPtr($DataOut))
    If @error Then Return ""

    $len = DllStructGetData($DataOut, 1)
    $PwdHash = Ptr(DllStructGetData($DataOut, 2))
    $PwdHash = DllStructCreate("byte[" & $len & "]", $PwdHash)
    Return BinaryToString(DllStructGetData($PwdHash, 1), 2)
EndFunc
 





  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
[Окна, Диалоги] Создание поля для ввода пароля средствами AutoIT
AutoIt для новичков
AtoS 11 3739 Последний ответ Ноябрь 18, 2010, 12:10:16
от HaeMHuK
Защита сохраняемого пароля
AutoIt для новичков
Pavel 4 2406 Последний ответ Август 09, 2010, 23:13:59
от Pavel
Генератор пароля
Примеры и рабочие проекты
rollex 15 4028 Последний ответ Июнь 13, 2011, 17:16:38
от amel27
[Автоматизация] Генератор пароля
AutoIt для новичков
_Lexa98_ 2 906 Последний ответ Ноябрь 13, 2011, 19:55:16
от _Lexa98_
Генератор пароля
AutoIt для новичков
trizorka 9 1140 Последний ответ Ноябрь 28, 2012, 08:32:59
от cibergod
[Элементы GUI] Поле для ввода пароля на несколько значений этого пароля.
AutoIt для новичков
gora 15 1859 Последний ответ Май 13, 2012, 23:43:45
от CreatoR
Запустить программу с правами админа без ввода пароля в Win 7
AutoIt для новичков
WSWR 1 700 Последний ответ Июнь 05, 2012, 15:13:32
от sngr
ввод пароля на сайте связьбанк
AutoIt для новичков
wobl 2 460 Последний ответ Август 28, 2012, 22:13:08
от wobl
Автоматизация ввода пароля для входа в InternetOffice от СберБанка
AutoIt для новичков
Yeti 1 616 Последний ответ Сентябрь 04, 2012, 17:26:15
от DarWiM
строки ввода логина и пароля
GUI - Графический интерфейс пользователя
sanf 9 803 Последний ответ Февраль 22, 2013, 15:29:13
от sanf


Реклама

* Последние сообщения на форуме
post Re: [Массивы] _ArrayDelete очень медленный
[Автоустановка приложений] peter911 Сегодня в 23:52:38
post Re: [Элементы GUI] Дочернее окно с рамкой на фоне родительского, в Windows XP
[GUI - Графический интерфейс пользователя] WSWR Сегодня в 23:44:35
post Re: [Массивы] _ArrayDelete очень медленный
[Автоустановка приложений] joiner Сегодня в 23:35:38
post Re: AutoIt и RTL
[AutoIt для новичков] CreatoR Сегодня в 23:14:22
post [Массивы] _ArrayDelete очень медленный
[Автоустановка приложений] peter911 Сегодня в 20:04:24
post Re: [Элементы GUI] Дочернее окно с рамкой на фоне родительского, в Windows XP
[GUI - Графический интерфейс пользователя] InnI Сегодня в 19:55:23
post AutoIt и RTL
[AutoIt для новичков] gora Сегодня в 19:50:34
post Re: [Элементы GUI] Дочернее окно с рамкой на фоне родительского, в Windows XP
[GUI - Графический интерфейс пользователя] WSWR Сегодня в 19:45:19
post Re: Яркость пикселя
[AutoIt для новичков] WSWR Сегодня в 19:37:15
post Re: Как организовать комплексное удаление тегов и ненужной инфы?
[Регулярные выражения и прочее] hellm Сегодня в 19:12:29

* Пользователи онлайн
  • Dot Гостей: 115
  • Dot Скрыт: 1
  • Dot Пользователей: 24
  • Dot Пользователи Online: