ключевой процесс GETORIX | INT3 Спецвыпуск: Хакер, номер #066, стр. 066-054-1 [GETORIX@INT3.RU] HANDANGO DYNAMIC REGISTRATION. САМ СЕБЕ ГЕНЕРАТОР ТЫ ЗАГЛЯНУЛ В ZIP-АРХИВ С «ЛЕКАРСТВОМ» ДЛЯ ОЧЕРЕДНОЙ ПРОГРАММЫ, ОБНАРУЖИЛ ТАМ НЕ ГЛАВНЫЙ ИСПОЛНЯЕМЫЙ ФАЙЛ, ИЗБАВЛЕННЫЙ ОТ ТРЕБОВАНИЙ УПЛАТИТЬ ПО СЧЕТУ, И НЕ МАЛЕНЬКИЙ ПАТЧ, СОЗДАННЫЙ ЧЬЕЙ-ТО УМЕЛОЙ РУКОЙ, А ГЕНЕРАТОР КЛЮЧЕЙ (ВОЗМОЖНО, ПЛОД ЧЬИХ-ТО ДОЛГИХ БЕССОННЫХ НОЧЕЙ), У ТЕБЯ РАЗЫГРЫВАЮТСЯ ПРИЯТНЫЕ ЧУВСТВА. ЭТА СИТУАЦИЯ ЗНАКОМА МНОГИМ (НО НАДЕЮСЬ, ТЫ НЕ ТАКОЙ :)) Весь материал в этой статье приведен исключительно для познавательных целей. Использование информации в преступных целях в первую очередь попадает под статьи 146 и 273 УК РФ. Автор и редакция не несут ответственности за возможное применение этой информации на практике [умение написать генератор ключей] всегда требовало от исследователя хорошего знания ассемблера, основных способов защиты, возможно, и высокого уровня общей эрудиции — никогда не знаешь, что разработчик захочет использовать для создания ключа: может, комплексные числа, а может, и уравнение Шреденгера. Пусть это занятие отнимает больше времени, чем пропатчивание (хотя если учитывать уровень современных защит и различных приемов, мешающих изменить код программы, получается как раз наоборот), оно обладает и плюсами, опровергнуть значение которых невозможно. Например, разбирая алгоритм генерации, можно быть абсолютно уверенным, что не придется исправлять проверки целостности программы, убирать надписи «not registered», искать по всему коду, а потом блокировать назойливые окошки с напоминаниями об истечении срока эксплуатации. Кроме того, очевидно, что все глюки программы останутся исключительно на совести разработчика. Ну и, разумеется, только ключ способен дать это сладкое ощущение «купленности» дорогого программного продукта. Убедительно? Тогда перейдем к рассмотрению процесса. [инструментарий исследователя] приложений для WindowsMobile в последнее время немного изменился. К примеру, основной компонент eMbedded Visual C++ 4.0 SP4 был заменен интерактивным дизассемблером IDA 4.9, в который включены WinCE Debugger. В результате было ускорено «общение» с устройством и получился «бальзам и ополаскиватель в одном флаконе», то есть исчезла необходимость переключаться между окнами отладчика и дизассемблера. К счастью, такая замена не является обязательной, поэтому все описанное ниже можно проделать и с использованием eVC. В принципе, этого достаточно, но могу посоветовать установить Microsoft Device Emulator, чтобы не губить реальное устройство. Поскольку разбор алгоритма подразумевает усиленное копание в коде ARM ассемблера, добавлю к требованиям знание основ этого языка программирования. Шпаргалка по работе с IDA и eVC-отладчиком ------------------------------------------------------------------ | IDA | eVC | ------------------------------------------------------------------ Запустить | F5 | F5 | Остановить | CTRL+F2 | SHIFT+F5 | Прервать | — | — | Шаг со входом | F7 | F11 | Шаг без входа | F8 | F10 | Шаг с выходом | CTRL+F7 | SHIFT+F11 | До курсора | F4 | SHIFT+F10 | Breakpoint | F2 | F9 | |