Разделы сайта
Выбор редакции:
- Скачать программу сервисы google play на андроид
- Видеоплееры для windows - выбираем лучший видео проигрыватель для компьютера
- Бесплатные программы для записи CD-DVD дисков на русском языке: Список лучших
- Узнаем как отформатировать флешку если она защищена от записи
- Использование телефона в качестве модема
- Установка Ubuntu LINUX с флешки - инструкция
- Лучшие компактные смартфоны по отзывам покупателей
- Как узнать какие платные подписки и услуги подключены на ваш номер МТС и отключить их?
- Бюджетная колонка S28 Portable Mini Wireless Bluetooth V3
- Распиновка микро USB разъема
Реклама
Количество терминальных сессий windows 7 |
Чтобы запатчить новые версии (если не менялась значимо логика работы соответствующего участка кода), необходимо сделать следующее: 0. Инструкция годится для более или менее образованных, а главное, сообразительных специалистов, умеющих думать. Те, кто привык все “копировать” по Copy/Paste, думается, не справятся и будут разводить “стоны” и “причитания” о том, что “многа букОв”, “сложно” или “нИАсилил” в силу больше страхов и стереотипов мышления, нежели сложности проблемы. Это их удел. Рожденный ползать, как известно, летать не может. Не дай себе засохнуть, Анон! Выпей Иаду или делай ДЕЛО и начни себя уважать! 1. Скачать любую – платную или бесплатную версию Hiew 2. Взять termsrv.dll некой поддерживаемой версии – оригинальную и запатченную версии. Если нет запатченной – разумно предположить, что надо ее запатчить имеющимся патчером не тупите! Начинайте думать! Все нужные файлы положить в отдельную папку или папки. Не надо ничего пытаться править на единственной копии в system32. Все равно НИЧЕГО НЕ ПОЛУЧИТСЯ (запись заблокирована в system32) и так делают только бараны. 3. Сравнить патченную и НЕпатченную версии одного и того же dll любым компарером бинарных файлов. В комплект винды входит консольная утилита FC. Команда “FC /b termsrv.org termsrv.crk > differences.txt” ведет к профиту. Список различий, а он там маленький, строк на 20, направится в файл differences.txt В списке видим (выявляем) 3 условных блока, где адреса идут подряд. Первый блок – 2 байта в самом начале exe, по смещениям 140-с-чемто-h (dll имеет тот же формат, что и exe, разница лишь в том, что в нем только процедуры и функции для внешнего вызова – т.н. экспорты, поэтому и непосредственно исполнить его, переименовав в ехе не удастся). Это данные, поск смещения попадают на заголовок ехе файла. По этим смещениям хранится контрольная сумма кода-данных (без заголовка), которую Винда проверяет перед запуском, убеждаясь, что файл не был поврежден и что нибудь не грохнется, соотв, при попытке его исполнить. Вернемся к ним позже. 3. Открыть оригинальный dll в одном окне Hiew, запатченный – в другом (запуcтить 2 копии Hiew! Вообще куда удобнее юзать Far – двЭ щтуки, как файл менеджер и основу для запуска “этих ваших” Hiew). В обоих нажать F4 (Mode) и выбрать Decode (F3). Увидим дизассмеблированный кусок файла из самого начала. Смотреть там нечего, ибо Hiew “пытается” дизассемблировать заголовок EXE файла, а это данные, а не код. Нечего туда пялиться, х-ту он вам показывает, что совершенно нормально, ибо тут надо ДУМАТЬ, а не “копировать”! Еще раз собираемся и начинаем думать не нужно пытаться тупо и буквально выполнять инструкцию… 4. В обоих Hiew (по очереди, блин, думаем…) нажимаем F5 (Goto) и видим, что в верху появилось поле ввода. Туда вбиваем адрес первого различия (из ВТОРОГО БЛОКА!), найденного в файле различий. НАПРИМЕР, в Win7SP1x86Rus это адреса в районе 19100h, а в VistaSP2Eng (x86 или x64 – хз), как я видел в блоге автора – адреса в районе 65200h. Попадаем на место первого исправленного байта. Данные в этом окне Hiew имеют вид: 5. Выполнив переход на нужное смещение в предыдущем пункте, мы видим, что курсор (серенький такой:)), показывает на начало 6-байтовой команды (в х64 может быть больше байт) правее которой “дизассемблирована” инструкция ТИПА cmp eax, Первая инструкция (которая никак не патчится, она “выше первого различия”) называется mov – какая, простите, первая ассоциация приходит на ум из английского языка? – правильно – move – т.е. переместить. Аргументы инструкции идут во втором “подстолбце”. eax и edi – это т.н. 32-битные регистры – одиночные ячейки памяти в самом проце, предназначенные для хранения данных в период их обработки. Почти все регистры однотипны, туда теоретически можно записать что угодно, лишь бы влезло, но часть из них традиционно используется для хранения данных определенных типов (чтобы не путаться), например, EAX, EBX, ECX, EDX используются непосредственно для “данных пользователя”, причем ECX традиционно идет как счетчик (циклов например), а ESI, EDI – как указатели некой текущей позиции в памяти, адресов, с которыми предстоит работать. А часть регистров аппаратно зависима и их “лучше не трогать” – например регистр IP автоматически содержит адрес текущей инструкции, которую выполняет процессор, и если попытаться записать туда какие-то свои данные – переменную своей проги, то проц тупо уйдет на инструкцию с этим адресом и все грохнется. ESP – указывает на стек – этакую “бутылку”, в которую кто первый залез, тот последним вылезет (Fist In Last Out), предназначенную для временного хранения данных, которые не помещаются в регистры, но нет смысла их загонять обратно в память, поск они будут использованы вскоре. Для работы с данными, обычно, некий байт – 8бит, слово – 16бит, длинное слово – 32бит или двойное длинное слово 64бит (для 64-бит процессоров) помещаются из памяти в регистр. Для работы с короткими данными можно обращаться к частям регистра (например eax состоит из ax – нижние 16бит и ah и al – части самого ax), но это за пределами нашей проблемы. Потом с данными в регистре производятся некие мат преобразования, после чего результат помещается обратно в память – в туже самую или иную ячейку или любую другую, выделенную автором (или компилятором его) проги для соотв целей. В квадратных скобках указываются адреса. Если надо взять ДАННЫЕ из ячейки памяти по какому-то адресу, а не сам адрес, то просто пишут адрес в квадратных скобках. Конструкция ТИПА означает, что данные надо взять из ячейки памяти, имеющей адрес, значение которого получается сложением значения в регистре ESI + 324h. В Ассемблере принято писать более понятно , но автору Hiew было удобнее показывать так, возможно, для наглядности. При вводе команд Hiew отлично принимает стандартные конструкции типа , что показано ниже. Итого понимаем, что данная инструкция берет данные (4байта=32бит) по адресу и кладет их в регистр EAX. Следующая инструкция ((которая уже патчится) – CMP. Первое, что приходит на ум светлоликому, прилежно учившему английский в школе – это compare. Речь идет о сравнении. В остальном все тоже самое, что и в предыдущей инструкции. Адрес только соседний. Инструкция Следующей инструкцией идет Следующие 2 инструкции Следующая инструкция Последняя приведенная инструкция 6. Теперь берем запатченный termsrv.dll в другом окне Hiew, по тому же адресу смотрим какие там инструкции. Сравнение “с тем что было” сразу ставит все на свои места! Если бы нам пришлось искать это место самостоятельно, то пришлось бы трассировать отладчиком процедуры этого dll, как это очевидно делал автор патча или дизассемблировать все чем-то вроде IDA и внимательно изучать код, содержащий сотни тысяч инструкций. Но у нас все готовое! Это как в анекдоте про механика, который один раз стукнул молотком и машина завелась, но тонкость в том, что он знал куда стукнуть и это стоит немалого труда. (Только не надо тут про деньги – засуньте себе их жопу! Особенно в предверии великого праздника! Для любителей “заработка в интернете” – есть специализированные сайты.) Почему же патч не срабатывает на всех последующих версиях – потому, что меняются адреса и слегка меняется код (его аргументы) при компиляции. Это приводит к смещению нужного кода внутри ехе на другие смещения, а если искать по сигнатуре (строгой последовательности байтов), может не находит поск агрументы поменялись. Многие адреса ведь тоже являются аргументами инструкций и меняют бинарный код до неузанваемости при том, что суть его все та же… Сделайте это вручную! У Вас же голова на плечах, а не “строгая последовательность извилин”… 7. Теперь в ОРИГИНАЛЕ той версии termsrv.dll, которую патчит патчер, нужно найти некую уникальную, в контексте программы, последовательность байт ОКОЛО того места которое нужно запатчить, чтобы поискать ее в новой версии termsrv.dll, той которую Вы хотите запатчить, но патчер ее не патчит… 8. Теперь надо взять termsrv.dll той версии, которую Вам нужно запатчить. Запускаем третью копию Hiew, открываем в ней новый dll” (дабы легко переключаться между всем трему и сравнивать визуально). Находим нужное место, как описано чуть выше или переходим по адресу, который писали “на бумажку” (бумажка вообще – друг программиста в этом бренном мире, где дохнут жесткие диски, выбивает пробки и виснут ОС). 9. Если убедились, что точно нашли то, что надо, наводите курсор на инструкцию cmp и смело жмите F3-Edit. “Серенький” курсор поменяется на “обычный” (для текстового режима дисплея) – подстрочный. Он должен указывать на ту же инструкцию cmp. Когда все вбили жмите ОДИН РАЗ Esc. Диалог ввода инструкций пропадет, но его можно вызвать еще раз в любой момент (в режиме редактирования) нажав Tab. Все измененные байты будут иметь желтый цвет. Дотошно проверьте, что все выглядит корректно, нигде не накосячили. Проверять за вас тут никто ничего не будет, никаких “защит от дураков” любого ранга и звания НЕТ. Регалии никто учитывать не станет. Что сделали – то и получили. Накосячили – зависнет и работать не будет. 10. Теперь нужно поправить контрольную сумму ехе. Делать это до безумия скучно, поскю Hiew сделает эту работу за Вас и делать Вам почти ничего не придется. Жмем F8 (Header). Появляется “серое невзрачное” окно с “расшифровкой” параметров заголовка ехе файла. 11. Получив запатченный файл можно пробовать подменить termsrv.dll в целевой ОС. Если все работает, значит Вы стали кулхацкером или сделали первый ОСОЗНАННЫЙ шаг на этом пути. Никто не мешает Вам ковырять и познавать дальше, делая мир лучше и добрее. В нете есть много инструкций и целых тематических форумов для тех кто хочет думать своей головой, а не только потреблять ширпотребную порнуху от Матрицы. Не побрезгуйте опубликовать список измененных байт (получить его можно с помощью все того же “стокового” “FC /b File1 File2″) для других, менее искушенных пользователей, здесь и/или на других ресурсах, сделайте добро ближнему, как завещал Господь и прославьте свое имя в анналах хакерской истории. По списку изменений можно изготовить.CRK файл (для патчеров, понимающих этот древний формат), либо изготовить patch.exe с помощью какого либо патч-мейкера, коих, за годы эволюции, написали десятки и сотни. Только выбирайте тогда “с поддержкой Windows Vista/7″ ибо старые, хоть и хорошие-годные, но ничего не знают об Escalate privileges, и Винда тупо не позволит им что либо патчить в Windows/System или Program Files. В инструкциях следует упомянуть о требовании остановки службы терминалов, либо использовании патчей на файлах в отдельных папках с последующей подменой в system32 силами самих пользователей. В любом случае, список изменений публикуйте, не жлобьтесь на “лавры”, поск кому-то возможно, придется трахаться вручную и инфа позволит найти альтернативное решение. Авторский патчер все это делает автоматически, включая работу с WinSxS – смотрел код, но найти такой патчмейкер, чтобы все это учитывал, думается будет не просто. Сервер терминалов Windows 7 / Vista / XP (sp1/sp2/sp3) - реальное решение. Терминальный сервер для подключения к удаленному рабочему столу Windows 7 / Vista / XP (sp1/sp2/sp3) одновременно нескольких пользователей. Сервер терминалов можно использовть для запуска одного приложения с удалённых компьютеров или к вашему терминальному серверу на Windows 7 / XP / Vista/ можно подключить одновременно разные старые компьютеры типа 486 и Pentium 1, они будут работать как будто на них установлена операционная система Windows Vista /7 / XP с Office XP-2003-2007, 1С и кучей разных офисных программ. По умолчанию Windows 7/Vista/XP не поддерживает работу одновременно нескольких пользователей. Для того чтобы позволить нескольким пользователям работать одновременно по RDP , надо заменить файл C:\Windows\System32\termsrv.dll и внести изменения в реестр - чтобы убрать ограничение наложенное на Windows XP / 7/Vista . Перед тем как вносить изменения в Windows 7 / Vista / XP , убедитесь, что ваши действия не противоречат законодательству Вашей страны и лицензионному соглашению, так что использовать метод или нет решать Вам. Как из Windows XP / 7 / Vista сделать терминальный сервер?
1. Создайте несколько пользователей с правами администратора или обычного пользователя, обязательно установите пароль. Убедитесь что включена опция - Быстрое переключение между пользователями (Панель управления -> Учетные записи пользователей -> Изменение входа пользователей в систему) 2. Разрешите удалённое подключение - выберите «Мой компьютер», щелкнув правой кнопкой мыши и откройте его «Свойства». В появившемся окне зайдите во вкладку «Удаленные сеансы». Пункт «Разрешить удаленный доступ к этому компьютеру» подтвердите галочкой. Выбрать удалённых пользователей (иначе Remote Desktop будет работать только для администраторов) и нажмите «Ок» 3. Убедитесь, что возможность подключения к удалённому рабочему столу работает для одного пользователя. Делаем терминальный сервер Windows XP / 7 / Vista4. Скачать универсальный патч для создания терминального сервера
: 5. Выполните файл UniversalTermsrvPatch-*.exe который соответствует разрядности Вашей системы и нажмите Patch для замены файл а C:\Windows\System32\termsrv.dll 6. Выполните файл *.reg который соответствует Вашей операционной системе для внесения изменений в реестр 7. Перегрузите операционную систему 8. Пуск -> Выполнить -> gpedit.msc Для Windows 7 Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удалённых рабочих столов -> Узел сеансов удалённых рабочих столов -> Подключения -> Для Windows XP Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Сервер терминалов-> Ограничить количество подключений Устанавливаем "Включено" и меняем значение количества разрешённых терминалов. 9. Перезагрузите компьютер Если вы все выполнили правильно, то терминальный сервер Windows 7 / Vista / XP (sp1/sp2/sp3) готов. Теперь у вас должен работать удаленный рабочий стол одновременно для нескольких пользователей. Дополнительные настрйки терминального сервера Windows XP1. Как показывает практика, пользователи терминального сервера просто отключаюются, а программы работают дальше. Можно задать время отключения неактивного сеанса Пуск -> Выполнить -> gpedit.msc Включить и указать время Так же там есть другие ограничения, можете выбирать как Вам нравиться 2. Запуск одной программы для всех удалённых пользователей терминального сервера, без рабочего стола Пуск -> Выполнить -> gpedit.msc Включить Указать рабочую папку 3. Запуск одной программы для выбраных пользователей терминального сервера, без рабочего стола (внимание, действует даже если зайти локально, так что я даже не знаю как это отменить потом, разве что удалить пользователя, а потом создать нового или с помощью загрузочного диска liveCD , (программой ERD-commander) с выбором загрузки реестра нужной нам операционной системы. Пуск -> Выполнить ->regedit Создать строковой параметр Shell и в поле "Значение" указать полный путь к файлу программы 4. Запуск одной программы самостоятельно пользователем терминального сервера, без рабочего стола Для начала выполнить п.2 для всех пользователей , перегрузиться и потом вернуть значение как было (Не задан) В настройках клиента Windows (Подключение к удаленному рабочему столу) с которого подключаемся, в Параметрах во вкладке Программы ставим галочку "При подключении запускать следующую программу" Указать полный путь к программе и имя файла Указать рабочую папку 5. Запуск программы при входе в систему на рабочий стол Добавить ярлык в папку Автозагрузка Как и в прошлых клиентских версиях операционных систем Майкрософт, пользователи Pro и Enterprise Windows 10 редакций могут удаленно подключаться к своим компьютерам через службу удаленных рабочих столов (RDP). Однако есть ограничение на количество одновременных RDP сессии – возможна одновременная работа только одного удаленного пользователя. При попытке открыть вторую RDP сессию, сеанс первого пользователя предлагается завершить. По сути, ограничение на количество одновременных rdp подключений является не техническим, а скорее лицензионным, запрещающее создавать на базе рабочей станции RDP сервер для работы нескольких пользователей. Совет . В домашних редакциях Windows 10 входящие подключения к удаленному рабочему столу совсем запрещены, что, впрочем, можно победить с помощью . Мы рассмотрим два способа отключить ограничение на количество одновременных RDP подключений к Windows 10: Примечание . Модификации системы, описанные в этой статье, вероятно, будут считаться нарушением лицензионного соглашения на Windows со всеми вытекающими последствиями. Модификация файла termsrv.dllУбрать ограничение на количество RDP подключений можно с помощью модификации файла termsrv.dll (файл библиотеки, используемый службой Remote Desktop Services). Файл находится в каталоге C:\Windows\System32). Перед модификацией файла termsrv.dll желательно создать его резервную копию (в случае необходимости можно будет вернуться к первоначальной версии файла): copy c:\Windows\System32\termsrv.dll termsrv.dll_backup
Net stop TermService
Найдите строку: 39 81 3C 06 00 00 0F 84 73 42 02 00 И замените ее на: B8 00 01 00 00 89 81 38 06 00 00 90
RDP Wrapper LibraryАльтернативой модификации файла termsrv.dll является использования проекта RDP Wrapper Library . Эта программа работает в качестве прослойки между менеджером управления службами (SCM- Service Control Manager) и службой терминалов (Terminal Services) и позволяет включить не только поддержку нескольких одновременных RDP сессии, но и активировать поддержку RDP Host на домашних редакциях Windows 10. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами. Таким образом, это решение будет работать даже при обновлении версии файла termsrv.dll, что позволяет не опасаться обновлений Windows. Скачать RDP Wrapper можно с репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6) Совет . Кстати говоря, доступны исходники RDP Wrapper Library, что позволяет при желании самому собрать исполняемые файлы. Архив RDPWrap-v1.6.zip содержит несколько файлов:
Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям. |
Читайте: |
---|
Популярное:
Новое
- Видеоплееры для windows - выбираем лучший видео проигрыватель для компьютера
- Бесплатные программы для записи CD-DVD дисков на русском языке: Список лучших
- Узнаем как отформатировать флешку если она защищена от записи
- Использование телефона в качестве модема
- Установка Ubuntu LINUX с флешки - инструкция
- Лучшие компактные смартфоны по отзывам покупателей
- Как узнать какие платные подписки и услуги подключены на ваш номер МТС и отключить их?
- Бюджетная колонка S28 Portable Mini Wireless Bluetooth V3
- Распиновка микро USB разъема
- Кастрация защищенных аккумуляторов Sanyo и Panasonic и небольшой ликбез по Li-ion