Delphi World - Cracking WinDAC32 Version 1.41
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
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 нуждается в новых членах! Если вы считаете, что способны на многое и хотите поделиться своими знаниями и взамен получить новые пишите мне}

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования