
Долгоиграющие прогию Методы снятия защиты с шароварных прог
Xakep, номер #034, стр. 034-052-3
Накручивание счетчика
Если перевод даты не помог или используется счетчик запусков проги, то есть другой способ - "мониторинг реестра". Для него тебе понадобится отправиться сюда: www.sysinternals.com. Здесь валяется Regmon for Windows NT/9x, который доступен и в исходниках. Давай теперь разберем работу с Regmon на примере накрутки моей проги CyD Shell. Запусти Regmon, а потом запусти CyD Shell. В окне Regmon появятся все события, связанные с обращением к реестру. Каждое обращение разбито на несколько колонок:
1. # - порядковый номер сообщения.
2. Process - прога, обратившаяся к реестру.
3. Request - запрос.
4. Path - путь.
5. Result - результат.
6. Other - дополнительные параметры.
Самое первое, что нужно поискать, - строку, в которой будет поле Process равно "Cyddeskt" и поле Request равно SetValueEx. В момент загрузки программы считывают параметры и настройки, а SetValueEx - означает запись в реестр. Так что же можно записать во время загрузки? Только счетчик. Посмотри в поле Other - это значение, которое записано в реестр. Если хорошо посмотреть на скрин 1, то ты увидишь там 18. Запись происходит по адресу: HKEY_CURRENT_USER\Software\CyD\CyD Desktop\ProductID.
Теперь посмотри немного выше. По этому же адресу происходило чтение параметра и посчиталось значение 19. Это значит, что счетчик работает в обратном порядке, и когда он достигнет нуля, прога перестанет запускаться. Теперь ты сможешь спокойно вернуть прогу к жизни, увеличив ручками этот счетчик. А в большинстве прог можно сразу увеличить его до 10000, и прога прозевает это. Если счетчик работает на увеличение (например, до 100), то можно поставить там значение -10000, и тогда прога задолбается ждать, когда наступит предел.
Точно так же можно корректировать и даты. Например, можно поправить один параметр в реестре для The Bat так, что он будет работать бесконечно, показывая, что у тебя осталось -5000 дней.
Если у тебя возникли проблемы с мониторингом, то, чтобы не перестанавливать прогу, можешь просто удалить из реестра все значения, связанные с прогой. Если используется счетчик запусков, а не дата, то можно сделать даже проще. После установки прога запишет начальные параметры в реестр. Запусти regedit и найди здесь: HKEY_CURRENT_USER\Software\имя фирмы или проги. Выдели раздел и экспортируй его в файл. Когда закончится лимит запусков, просто импортируй этот файл на родину, и все настройки вернутся в начальное состояние.
Накручивание счетчика. Второй эпизод
Почему я говорю только о реестре? Да потому что это самый распространенный и самый удобный способ для проги сохранить свои параметры. Но этот способ не единственный. Некоторые современные и большинство старых прог используют для сохранения простые файлы. Для решения этой проблемы отправляйся сюда же, на www.sysinternals.com, и качай File Monitor (Filemon for Windows NT/9x). Это тулза для мониторинга обращений к файлам.
Работа с ним абсолютно такая же, как и с Regmon. Так что ты без проблем вычислишь место и способ сохранения счетчика.