Blog. Just Blog

Исследование защиты программы Process Lasso

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
Скриншот программы Process Lasso
Скриншот программы Process Lasso

Process Lasso на протяжении вот уже двух десятков лет заслуженно сохраняет звание одного из самых мощных менеджеров процессов. Для каждого процесса можно вручную или автоматически установить приоритет, а также посмотреть детальную информацию о его модулях. Нежелательные процессы, нагружающие систему, можно автоматически завершать, а также блокировать запуск процессов из "черного списка". Также Process Lasso ведет лог запускаемых процессов, который сохраняется в журнал событий. Пробная версия урезана по функционалу, а за полную версию надо выложить денежку. Ну или не надо, смотря как подойти к вопросу.

Забираем с офсайта дистрибутив, устанавливаем. Главный исполняемый файл ничем не упакован, отправляем его на разборку в дизассемблер. Пока тот работает, посмотрим на проявления триальности.

Окно "О программе"
Окно "О программе"

В окне "О программе" отображается счетчик дней и присутствуют кнопки для активации и покупки.

Главное окно программы
Главное окно программы

В главном окне программы выводится надпись "UNLICENSED". Вот с нее и начнем.

Строка в ресурсах
Строка в ресурсах

В самой программе эта строка отсутствует, зато есть в языковых файлах. В ресурсном файле эта строка находится под индексом 1203 или 4B3h, если в шестнадцатеричной системе счисления. Поиском в листинге дизассемблера по этому значению обнаруживается следующий код:
  1. .text:0042E166                 mov     ecx, offset unk_545D98
  2. ; Вызвать функцию проверки
  3. .text:0042E16B                 call    sub_46DC90
  4. .text:0042E170                 test    al, al
  5. ; Если AL=0, то вывести надпись
  6. .text:0042E172                 jnz     short loc_42E1CD
  7. .text:0042E174                 push    3FFh            ; cchBufferMax
  8. ; Загрузить строку из файла с ресурсами
  9. .text:0042E179                 lea     eax, [ebp+Buffer]
  10. .text:0042E17F                 push    eax             ; lpBuffer
  11. .text:0042E180                 push    4B3h            ; uID
  12. .text:0042E185                 push    [ebp+hInstance] ; hInstance
  13. .text:0042E188                 call    sub_470050
  14. .text:0042E18D                 mov     edx, eax
  15. .text:0042E18F                 add     esp, 10h
Тут вызывается функция проверки sub_46DC90 по адресу 0042E16B, если она вернула AL=0, то загружается строка "UNLICENSED", иначе выполняется условный переход. Если посмотреть функцию проверки, то там будут функции работы с реестром, получение системных параметров, видимо, для привязки к компьютеру, различная математика и всякое подобное. Разгребать это не имеет смысла, так как код активации все равно проверяется на сервере. Просто пропишем в начало функции пару команд MOV AL,1 и RET. Сохраняем изменения, проверяем.

Программа успешно "зарегистрирована"
Программа успешно "зарегистрирована"

В окне "О программе" все красиво, на логотип добавилась надпись "PRO", кнопки покупки и активации исчезли, счетчик дней сменился благодарностью за покупку. В главном окне программы пропала надпись "UNLICENSED", в заголовок добавилась строчка "Pro". Цель достигнута.

Поделиться ссылкой ВКонтакте
Просмотров: 1241 | Комментариев: 11

Комментарии

Отзывы посетителей сайта о статье
ManHunter (08.02.2024 в 01:50):
Жека, одним отладчиком реверс не ограничивается, а практически все толковые инструменты остались только на x86. Так что нет, не вижу ни единой причины для перехода.

И просьба не начинать очередной холивар в камментах на эту тему, буду нафиг удалять.
Жека (08.02.2024 в 01:46):
ManHunter, Серверный только в x64, я таким не занимаюсь. Ну и зря, сейчас есть отличный дебагер x64dbg. По удобству и функционалу превосходит, замученный всеми ollydbg-110. Не знаю как вам и другим, но мне он чертовски нравится - рекомендую, Пора брат Пора... уже и 64-битные юзать проги:).
user (02.02.2024 в 20:22):
Документируем правильно:

;--------------------------------------------file PRL.CRK
Process Lasso v.12.4.7.20

x32 - Set PRO
ProcessLasso.exe
.0046DCAB: 3C B0 ;0006D0AB:
.0046DCAE: 0F 00 ;0006D0AE:

x64 - Set PRO
ProcessLasso.exe
.00000001`4008550B: 3C B0 ;0008490B:
.00000001`4008550E: 05 00 ;0008490E:

x32 server - Set PRO
ProcessLasso.exe
.0046D23B: 3C B0 ;0006C63B:
.0046D23E: 0F 00 ;0006C63E:

x64 server - Set PRO
ProcessLasso.exe
.00000001`400848BB: 3C B0 ;00083CBB:
.00000001`400848BE: 05 00 ;00083CBE:
;--------------------------------------------end of file PRL.CRK
ManHunter (02.02.2024 в 15:47):
Ага, тоже уже нашел. Ровно такая же защита.

0046D220 -> mov al,1 и ret

https://hostingkartinok.com/sh...1b796d6d7820
ManHunter (02.02.2024 в 15:40):
Серверный только в x64, я таким не занимаюсь.
Petya (02.02.2024 в 15:36):
В соответствии с принципом королевы следовало на Server Edition замахиваться. Или там защита серьёзнее?
ManHunter (01.02.2024 в 17:19):
Дров там никаких не наблюдается, так что в лучшем случае по списку. При запуске устанавливает свой сервис. Ради интереса натравил на процессы антивируса, PL вполне ожидаемо соснул.
morgot (01.02.2024 в 16:57):
"блокировать запуск процессов из "черного списка".
А как блочит-то, драйвер грузит или просто перебор по списку?
ManHunter (01.02.2024 в 09:00):
Раньше паковал, а тут вот как-то так. Я тоже удивился.
крутой (01.02.2024 в 07:26):
И все?
Просто как ))
Этот Джереми Коллак же автор PECompact, чет свое не пакует

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0044 сек.) / Память: 4.5 Mb
Наверх