Rambler's
Top100

Исследование защиты Turbo Launch v5.0

Автор: ViNCE AHT
Дата: 05.01.2004
Раздел: Reverse Engineering

Tutorial: Turbo Launch v5.0
Download: www.savardsoftware.com
---
Author: ViNCE
Team: AHT
E-mail: vincelabs@pisem.net
---
Инструменты: SoftICE, W32Dasm, FileInfo, UPX v1.24, Hex-редактор
Рейтинг программы: [10\10]

iNTRO
Turbo Launch - отличная програмка для оптимизации работы юзера на компе. После запуска появляется удобная панелька, на которой располагаются ярлычки на нужные проги... ну и к этому КУЧА приятных функций... но прога как всегда не бесплатная - ~$20. Приступим...

rIPPiNG
Сперва натравим FileInfo на TurboLauncher.exe - прога запакована UPX v1.24. Воспользуемся самим UPX'ом и запустим декомпрессию:
upx.exe -d turbolauncher.exe
Итак, прога распакована! ;) Явно, авторы пытались уменьшить размер exe-шника, а не защитить прогу от крякеров... хотя upx для защиты явно не катит... Среди неприятностей незарегистрированной версии я отметил всего лишь появление нага, который можно отключить только через 10 секунд после появления... А это плохо ;( Открываем Айс и ставим бряк для прерывания в коде проги:
bpx GetVersion
Теперь выходим и запускаем прогу. Прога прервётся, ставим бряк на реестр:
bpx RegQueryValueExA
Прога опять прервётся... Теперь раз жмём на F12 и мы в модуле проги, а тут остаётся только трейсить до такой строки:

:004E773C E8EB280000 call 004EA02C
:004E7741 84C0 test al, al
:004E7743 7507 jne 004E774C ;<- а вот и наш переход
:004E7745 8BC3 mov eax, ebx
:004E7747 E88CFCFFFF call 004E73D8 ;вызов нага

По умолчанию переход "спит", так что патчим переход jne на jmp (7507->EB07).
Пробуем... запускаем прогу - работает и без нага. Отлично... но ещё не всё! После того как исчезает наг появляется тупая справка с заголовком "Getting Started". Меня она задолбала. При каждом старте Turbo Launcher'а вылезала эта долбаная справочка. Я так и не вытерпел... открываем Айс и ставим бряк на адрес перехода, отвечающего за наг (чтобы не трейсить сначала проги):
bpx 004E7743
Начинаем трейсить... Как только наткнёмся на call, после выполнения которого появляется справка ставим на него бряк. Повторяем процесс и заходим в этот call. Встретиться ещё один. Сделаем тоже самое. А вот когда будем трейсить второй call внутри и опять вылезем по третьему call'у (...ну я и написал! ;)) тут смотрим чуть выше переход. Код будет примерно такой:

:0048896D 7419 je 00488988 ;<- "спящий" переходик
:0048896F 8D55FC lea edx, dword ptr [ebp-04]
:00488972 8BC6 mov eax, esi
:00488974 E8FF0C0000 call 00489678 ;<-Вызов дурацкой справки
Вот и переход. Остаёться пропатчить je на jmp (7419->EB19) и мы забудем о дурацкой справке.
Всё, теперь никаких всплывающих окон и всякой чуши, конечно, в проге остались надписи типа "unregistered version", но как я почитал в справке - ограничений у незарегистрированной версии нет, а если уж тебе захочется убрать подобный string'и, то открывай файл в WinDASM'е и бегом в SDR. Удачи!

---
ReleaseDate: [20.09.2003]



[Главная] [Другие статьи] [Обсудить в форуме]
©2003-2004 Lowlevel.RU

Rambler's Top100