Заметки о Windows и других программных продуктах Microsoft...

Исправляем недостатки RDP с помощью RDP Wrapper Library

Исправляем недостатки RDP с помощью RDP Wrapper Library

У настольных операционных систем Microsoft есть некоторые ограничения, связанные с работой службы удаленных рабочих столов. Так во первых, поддержка серверной части (RDP Host) есть только в старших редакциях Windows (не ниже Professional). В домашних редакциях этот функционал отключен, поэтому подключиться к младшим версиям Windows по RDP невозможно.

И во вторых, количество параллельных RDP-сессий ограничено. Допускается только одно одновременное подключение по RDP, а при попытке открыть вторую RDP-сессию система выдаст сообщение о том, что в системе уже находится один пользователь и предложит его выкинуть завершить его сеанс.

Обойти эти ограничения позволит проект RDP Wrapper Library by Stas’M. RDP Wrapper работает как прослойка между менеджером служб (Service Control Manager, SCM) и службой удаленных рабочих столов. При этом, в отличии от других решений подобного рода, он не подвергает изменениям файл termsrv.dll (библиотека, используемая службой Remote Desktop Services), что позволяет не опасаться обновлений Windows.

Судя по официальному сайту, проект активно живет и развивается. На данный момент выложена версия 1.5 от 2014.12.11, для которой заявлена поддержка новейших ОС, включая Windows 10 Technical Preview. Также доступны исходники, так что при желании можно самостоятельно собрать проект.

Загрузить RDP Wrapper можно со страницы программы в репозитории GitHub. В архив входят следующие компоненты:

• RDPWinst.exe — инсталлятор, с помощью которого производится установка и удаление RDP Wrapper;
• RDPConf.exe — утилита для настройки параметров подключения;
• RDPCheck.exe — утилита для локальной проверки работы RDP;
• install.bat и uninstall.bat — bat-файлы для удобства установки\удаления программы.

rdp wrapper файлы

 

Для установки программы надо открыть командную строку с правами администратора, перейти в директорию с распакованными файлами и запустить install.bat. Все остальное, включая настройку исключений на файерволле, установщик сделает сам.

установка rdp wrapper

 

Дополнительно можно запустить утилиту RDPConf.exe, которая позволяет включать\отключать доступ, а также настраивать основные параметры подключения (порт, количество сессий на пользователя, тип аутентификации и пр.).

настройка rdp wrapper

 

Ну и в качестве проверки я открыл на компьютер с установленной Windows 7 Home Basic две RDP-сессии для двух разных пользователей.

пример работы rdp wrapper

 

Что еще можно сказать. Проект однозначно полезный, в некоторых ситуациях даже незаменимый. Из минусов же — используя RDP Wrapper вы скорее всего нарушаете лицензионное соглашение.

Дополнение 04.05.2019.

Для корректной работы на Windows 10 1809 требуется обновить файл конфигурации rdpwrap.ini. В него надо добавить следующие строчки:

[10.0.17763.292]
; Patch CEnforcementCore::GetInstanceOfTSLicense
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=AFAD4
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=77A11
LocalOnlyCode.x64=jmpshort
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
SingleUserPatch.x86=1
SingleUserOffset.x86=4D665
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=1322C
SingleUserCode.x64=Zero
; Patch CDefPolicy::Query
DefPolicyPatch.x86=1
DefPolicyOffset.x86=4BE69
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17F45
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
; Hook CSLQuery::Initialize
SLInitHook.x86=1
SLInitOffset.x86=5B18A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=1ABFC
SLInitFunc.x64=New_CSLQuery_Initialize

И в конец ini файла дополнительно надо добавить строки:

[10.0.17763.292-SLInit]
bInitialized.x86 =CD798
bServerSku.x86 =CD79C
lMaxUserSessions.x86 =CD7A0
bAppServerAllowed.x86 =CD7A8
bRemoteConnAllowed.x86=CD7AC
bMultimonAllowed.x86 =CD7B0
ulMaxDebugSessions.x86=CD7B4
bFUSEnabled.x86 =CD7B8

bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bRemoteConnAllowed.x64=ECAC4
bMultimonAllowed.x64 =ECAC8
ulMaxDebugSessions.x64=ECACC
bFUSEnabled.x64 =ECAD0

В конце файла обязательно пустая строка.

Взято отсюда: https://github.com/stascorp/rdpwrap/issues/699

 
 
Комментарии

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

Честно говоря, особо этим вопросом не интересовался. Вполне возможно, что применение RDP Wrapper нарушает лицензионное соглашение Microsoft, однако однозначно на это ответить наврядли кто нибудь сможет.

По поводу легитимности данного решения, в лицензионном соглашении пишут:

f. Remote Access Technologies. You may remotely access and use the software installed on the
licensed computer from another computer to share a session using Remote Assistance or similar
technologies. A “session” means the experience of interacting with the software, directly or
indirectly, through any combination of input, output and display peripherals.

То есть, для удалённого доступа подобного рода разрешается использовать стороннее ПО, каким является RDP Wrapper.

Источник:
http://download.microsoft.com/Documents/UseTerms/Windows%207_Home%20Basic_English_266c7e01-34d6-4b9a-8d43-6cc2d1d39056.pdf

Константин

не должно нарушаться, поскольку, не вносится никаких изменений в файлы от майкрософт. И второе — таким образом над своим компьютером будет измываться (скорее всего) единственный пользователь этого компьютера, что и оговаривается в лицензионных соглашениях, очень расплывчатых в этом месте. Например доступ к фалам то 10, то 20 одновременных подключений в разных версиях, RDP то 0, то 1, то 1.5 🙂 для медиа центра, при этом сам код терминального сервера присутствует буквально в каждой редакции виндов. Спрашивается,- для чего?

Таким образом даже сами представители Майкрософт будут плавать в данном вопросе, как студенты-троешники.

woodbrother

Если Вы так радеете за непоколебимость лицензионного соглашения (дабы у производителя не случилось недополученной прибыли), давайте скинемся долларов по 50 для топменеджеров microsoft, чтобы застраховать их от противоправных посягательств этих грязных (тьфу-прости меня Господи) пиратов!

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

Дмитрий

Подключение нескольких сессий к клиентской ОС — явное нарушение лицензионного соглашения. Как и подключение к серверу без соответствующих лицензий (CAL, TerminalService).

Дмитрий

XP — не поддерживает, плохо 🙁

XP даже Microsoft не поддерживает 🙂

бедная XP ее никто не поддерживает патчит кто хочет но там кстати все ок работает но 3,4GB лимит озу очень все портит

включай режим PAE и XP x32 — 16gb нет проблем! тока одно — прцесс в памяти до 3gb.

включай режим PAE и XP x32 — 16gb нет проблем! тока одно — прцесс в памяти до 3gb.
И как же Вы смогли это сделать? Я когда-то давно заморачивался этой темой и после включения PAE количество памяти ни разу не увеличилось. Поделитесь великой тайной…

неадмин

клас, актуально

Павел

можно ли сделать, чтобы к RDP в Windows домашней базовой могли подключаться не только пользователи с администраторскими правами, но и обычные пользователи?

Владимир

Такая же беда. Ответ пока не найден.

Мне кажется, или в России на лицензионное соглашение обращают внимание только администраторы в организациях, дабы не было проблем при проверках? Что-то я не видел, чтобы хоть кто-то из моих знакомых его сколько-нибудь внимательно читал, если читал вообще.
Неспроста есть высказывание, что русские — самая быстрочитающая нация, когда речь заходит о всяких там лицензионных соглашениях, в особенности на те, которые лечатся от жадности активатором в последствии.

Жадности подвержены не только русские. Я думаю любой законопослушный европеец с радостью воспользуется халявой, если будет уверен в своей безнаказанности.

Роман

Подскажите пожалуйста, после автоматического обновления Windows 10 перестал работать RDP. Пишет » Не удалось подключиться к удаленному рабочему столу» в секции Diagnostics — Listener state: Not listening, остальное все зеленым! Уже и переустанавливал и обновлял, не помогло.. Кто нибудь подскажет, в чем может быть проблема?

Вот здесь https://github.com/stascorp/rdpwrap/issues/45 похожая проблема, там же и решение есть.

Алексей

Здравствуйте! программа хорошая вопросов нет. Но скажите когда десятка обновилась до версии 1703 то перестала работать программа. Я ее заново устанавливаю , , обновляю но в графе Listener State — No listening пишет. Помогите решить данную проблему пожалуйста

базан

поддерживаю Алексея после обновления до 1703 работать перестала , решения пока не нашел…. Все? Закончилось rdp library

базан

вот это помогло https://translate.googleusercontent.com/translate_c?depth=2&hl=ru&rurl=translate.google.com&sl=auto&sp=nmt4&tl=ru&u=https://github.com/stascorp/rdpwrap/issues/194&usg=ALkJrhgfy4xqhicwxxX4JyHLvTujL3x9Zw это ссылка с переводом сайта там в самом конце решение Попробуйте этот файл: rfxvmt.zip .
Распакуйте его в C: \ WINDOWS \ system32.
Переустановка rdpwrap и запустить update.bat.

Алексей

Легально ли использовать эту программу для терминального доступа на Windows Server?

Не легально. А чем вам штатный терминальный сервер не угодил?

Тем что его на Home Edition попросту нету )

после последних обновлений перестало работать. проблема НЕ единичная.

Поддерживаю, после майских обновлений Windows 10 перестал работать, а именно после установки/переустановки rdp wrapper 1.6.2 останавливается служба удаленных рабочих столов и отказывается запускаться даже вручную (ошибка 5, нет доступа). Послу uninstall служба восстанавливается, но только на 1 рабочий стол. Советы по установке разрешений на папку C:\Program Files\RDP Wapper\ и удаление защитника и файервола результата не дали.

Скачал прогу по линкам в статье. Запустил cmd-> net stat -ano . Потом запустил instal.bat , пока шла установка в командной строке снова выполнил команду net stat -ano и она показала мне что при установке идет интернет активность по 80 порту на 3 сайта. Прочекал их IP через whois сервис? оказались какие то американские и европейские адреса. Все это можете проделать и Вы. По итогу при установке она отправляет какие то данные каким то левым чувакам. Я полагаю эта прога открывает возможность подключения на Ваш комп из интернета. Возможно так же отправляет имя учетных записей. И убирает ограничение на перебор паролей в локальных групповых политиках компа. Злоумышленник подрубается на ваш комп, по известным ему учеткам начинает брутфорсить пароль.
Так что ставить это или нет решайте сами.

Владимир

>>> По итогу при установке она отправляет какие то данные каким то левым чувакам.

Не пробовали при установке интернет выключить..? 🙂

К своему комментарию Выше добавлю что когда он подключится Вы ничего не будете про это знать, потому что прога как раз и создана чтобы открывать возможность нескольким пользователям подключаться xD

Проект то с открытым кодом, при желании можно исходники проверить.

удалите эту старую статью (стара как мамонт)

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

После установки обновления KB4493446 на Windows 8.1 перестал пускать больше 1 пользователя. Помогает снос обновления.

На 10-ках не работает, ни с патчами, ни с инструкцией из статьи. Не тратьте зря время. Зря зашел на этот сайт.

Сергей

2Dima, потому что рукожоп 😉 наивно полагать что в 2019 помогут советы из статьи 2015 года. В статье дана ссылка на github проекта. Там вся актуальная информация. На данный момент работают все системы вплоть до последней сборки 1903 (только в версии home, пока есть нерешенная проблема при переподключении к сессии).

github проекта закрыт(

Microsoft купил GitHub, чтобы закрыть этот проект. Других лицензионных способов у него не нашлось.

Доброе время суток хочу предложить RDP его можно скачать в телеграмме в поиске rdp
или по ссылке http://93.80.51.14:81/RDP_RUS.rar

Сергей

Как же сегодня это тема актуально. Очень жаль, что подобные патчи не обновляются или больше некому за это взяться. Даже народ, который захочет купить, все-равно будет проходить те же самые этапы взлома, при этом, что подобный крэк будет работать крайне не долго.

Leave a Reply to неадмин