скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Cracking WinDAC32 Version 1.41



Оформил: DeeCo
Автор: http://www.cracklab.narod.ru

Вот попалась мне сабжевая программа, которая копирует и оцифровывает звук с компактов на диск жесткий. Начял я её юзать и оказалось, что это триал версия, триал заканчивается через тридцать дней, полюс ко всему зарегить её никакими видимыми способыми нельзя, и ещё выскакивает сообщение при каждом запуске, что это триал и всё такое. Итак... после некоторых операций и проверок оказалось, что проверка на триальность отстутствует (Очень Умно с их стороны). Тут никаких упрёков быть не может - я качал прогу с официального места, там уже кракнутой быть не могло, хотя кто его знает??? Но осталось ещё NAGлое сообщение, которое оповещает, что мы юзаем триал. Запускаем программу и видим, что сообщение - обычный messagebox, хотя этого сразу утверждать нельзя, мало ли, всё возможно пока есть делфи :) Вобщем я захожу в айс (ctrl-d) и ставлю бряк на messageboxA: bpx MessageBoxA потом выхожу из айса и закрываю программу. Снова запускаем программу и тут же вываливаемся в айс, но не там (это системные библиотеки), чтобы оказаться там где надо нажимаем один раз на F11, молодцы! Теперь мы видим перед собой сообщение об триальности, нажимаем ОК и опять оказались в айсе:

00432AD6: call [user32!MessageBoxA] ; вот вызов сообщения
00432ADC: mov [esi], ebx
00432ADE: cmp dword ptr [ebp-04], 00
00432AE2: mov [ebp+0C], eax
Так! Теперь посмотрим, какие проверки перед созданием сообщения, для этого проскролим листинговое окно айса вверх (ctrl-up) на 7 строчек до этого места:
00432AC5: test eax,eax ; проверяем нужен ли мессажбокс
00432AC7: jz 00432ACC  ; прыгаем, если не нужен
00432AC9: mov eax, [eax+1C] ; готовим данные для сообщения
00432ACC: push .....
00432ACF: push .....
00432AD2: push .....
00432AD5: push eax ; закончили готовить данные для сообщения и сохранили eax
Итак, отсюда видно, что во второй строке условие появления сообщения. Чтобы сообщение убрать нужно поменять jz на jnz. !ДЛЯ людей, которые возмущены почему в триале я меняю jz на jnz: !после небольших исследований я понял, что функции проверки триальности нет, !либо её кто-то вырубил уже, либо автор гонит :) Я лично склоняюсь ко второму !Но это факт - переведите часы вперед и программа запустится, !как ни в чём не бывало! Т.е. в hex-варианте: 74 на 75. Как же это сделать: открываем программу в WDasm'e и дизассемблируем. Затем переходим по адресу 00432AC7 и затем окрываем программу в Qview и нажимаем F7 (поиск). В строке hex вводим как можно больше hex кода из WDasm'a по адресу 00432AC7! Это делается потому, что QView не всегда корректно отображает адреса увиденные в айсе, поэтому мы ищем нужную нам команду при помощи хекс обозначений из WDasm'a. Вобщем находим нужную строку и меняем jz на jnz , затем сохраняем изменения и программа кракнута. А для особо ленивых предлагаю готовый крак:
----------------вырезать тут------------
WinDAC32 crack by vallkor //PTDS

This REmove the Nag message in begin
WinDAC32.exe
00031EC7: 74 75
----------------вырезать тут------------

ps: ну надеюсь всем понятно, что статья написана только в ознакомительных целях и если вы решили таки юзать программу - купите её.

исследовал и наваял туториал:
vallkor //PTDS (vallkor@chat.ru)
{Комманда PTDS нуждается в новых членах! Если вы считаете, что способны на многое и хотите поделиться своими знаниями и взамен получить новые пишите мне}






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook