SentinelLM!Вступление — Архив WASM.RU

Все статьи

SentinelLM!Вступление — Архив WASM.RU

Данная статья представляет собой первый выпуск элементарного пособия -- а-ля SentinelLM for Dummies -- которое должно помочь начинающему хакеру перейти в разряд хакеров подготовленных! Sentinel License Manager (далее просто SLM) является продвинутой системой защиты коммерческих приложений от взлома (пардон, имеется ввиду реверсинг в чисто познавательных целях). Разработчик SLM -- фирма Reinbow Technologies (www.reinbow.com).

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

Прежде всего, как распознать наличие защиты SLM? Обычно, пресловутые клиенты Sentinel поставляются вместе с комплектом драйверов Rainbow под названием вроде lserv.XXX, ldriv.XXX и т.п. Правда, наиболее бросающимся в глаза отличием можно считать присутствие электронного ключа для внешнего подключения (LPT, USB). Ключ (он же -- dongle) зачастую пугает новичков. Его всё-таки стоит бояться в серьёзных и грамотно построенных защитах (есть и такие!), но в случаях подобных тому, который мы в дальнейшем рассмотрим, гн. Донгл -- безобидный кусок электронно-пластикового лома размером 5,5 на 4 см. Ещё одна важная особенность SLM и её основная уязвимость -- это наличие текстового файла с лицензионной информацией. Имя файла произвольное, а содержимое примерно следующего типа:

Q843R7MXTCCQRM2VQKDSJLXEDJSR88N33SM4QZ# "XXX" version "n"
MR2M6XP5A9WJAVMYV4W7BO5TA5LAHSQ8KDSXX7# "XXX" version "n"
2Q36N2ZXJ5ANS95HMPGOEYX46HPSTB9X7V274Z# "XXX" version "n"
IKSI28479A7A7W823RS3K37SBEC7IESE9973H9# "XXX" version "n"
ZI1U2U245D66K6JNKQWJLQ4MUG7U2AI3GIHBQAENMY# "XXX" version "n"
SR78DMVBR8NGDOXW9ZAUDLBAPXHNKORQPUWWET2FBA# "XXX" version "n"
XNMMO7CB326SGKVT3GO7W2BKJGTQGMOK6A9BXXC9SM# "XXX" version "n"
25X2OCB28WO6R3XYIF473Z2PFY73XOTZ5O872JH5CY# "XXX" version "n"

После version "n" может идти expires и другие подробности лицензируемой фичи. На самом деле, парсер SLM воспринимает символ '#' как начало комментариев, т.е. он просто игнорирует всё остальное до конца строки.

Примечание: лицензионный файл может и отсутствовать.

Итак, настало время назвать почётного таргета нашего исследования. Пора рискнуть привлечь внимание антипиратских организаций... Сегодня на операционном столе побывает один из самых популярных IDE для VLSI дизайнеров на букву 'L'. Больше не скажу -- не камикадзе я :-) Так вот, для тех кто в танке: CD с 30-дневной полнофункциональной демо можно заказать на сайте TR. Если мой таргет не совпадает с вашим, не отчаивайтесь -- данное руководство применительно к большинству клиентов SLM (уже проверил на 5-и различных таргетах).

  • Внимание! Перечень операционного инвентаря:
  • SentinelLM SDK 7.1 (где достать -- писали в форуме wasm.ru)
  • Сигнатуры SentinelLM для IDA Pro (лежат в разделе "инструменты")
  • IDA Pro собственной персоной (даже не спрашивайте ;-)
  • SoftIce (куда же без него?)
  • MASM32
  • Hiew
  • ... удобное кресло перед компом!

Перед тем как приступить к делу, предлагаю разделить процесс на 5 этапов:

  1. Получение Vendor Id нашей жертвы.
  2. Генерация S/N для Vendor Id из предыдущего пункта.
  3. Долгое и нудное -- но одноразовое -- кряканье над SDK.
  4. Успешное получение новой постоянной плавающей лицензии.
  5. Осторожное проделывание отверстия в донгле для последующего превращение оного в стильный брелок.

Вот, собственно, и всё. Качайте SDK и прочий инструментарий, внимательно изучайте лицензионный файл, читайте доки о внутреннем устройстве донгла (для общего развития)... Дописываю первую главу о Vendor Id. Жду комменты и пожелания.

2002-2013 (c) wasm.ru