Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Сломать программу? Легко!

Обсудить статью на форуме

Хорошая подборка видеоуроков, инструментов крэкера, книг и статей - здесь.

Автор: specz <specz@mail.ru>

Привет дружище, вот мы и вновь встретились с тобой. Сегодня мы не будем отучать какую нибудь игрушку от компакта или ломать крэкмис, сегодня мы попытаемся сломать полноценную программу, и сэкономим 25 баксов. Кстати после этого, на сайте производителя ты сможешь сломать почти все программы, кроме онлайновых переводчиков, так как они юзают online регистрацию. Ну что ж начнём.

Я всё не мог решить с какой проги начать, толи с My BootDisk или ChessMagician, и решил сделать так: сейчас мы будем учиться ломать программу My BootDisk, а вот онлайновые шахматы вы будете ломать сами, опираясь на этот пример. Да к тому же шахматы не все любят, да и не все умеют играть :)

Вот как описывает программу автор, для перевода я использовал переводчик "Сократ полиглот" :)


*********************

Добро пожаловать в Мой Диск Загрузки!

Выигрышное Дисковое Создание первого Средства Загрузки Windows для Windows 95, Windows 98, Windows Я, Windows NT 4.0, Windows 2000 и XP Windows.

Введение

Мой Диск Загрузки создает пусковому диску с поддержкой мыши и дюжины акций и облигаций предприятий общественного пользования системного исправления, включая исправление начальной загрузки, файловое извлечение, разметка накопителя, быстрая установка, разметка диска, Внешнее оформление товара изменения, файловое удаление, архивный экземпляр, дисковое сканирование и более. Это устанавливает Windows быстрее, ищет неисправность ряды загрузки или разрушает проблемы и обнаруживает потенциальный файловый ущерб. Технология Windows NT основывала системы как например, Windows NT4, Windows 2000, Windows XP не будет из удачи. Мой Диск Загрузки обеспечивает решение загружающего Windows NT/2000/XP только одним флоппи-диск. Это позволяет, чтобы искать неисправность аварию загрузки многочисленной операционной системы и загружать аварийные случаи файлов. Мой Диск Загрузки создает как Загрузку Дисковый так и Диск Ремонта. Они обычно машинные специфические, то есть., они сделаны согласно вашей системной конфигурации. Одна из восхитительных функций программного обеспечения должны загружать стандартный Диск Загрузки из Internet, который включает МС-ДОС 5.00, МС-ДОС 6.20, МС-ДОС 6.21, МС-ДОС 6.22, Windows 95 =, Windows 95B, Windows 98, Windows 98 SE, Windows Я, Windows NT 3.51, Windows NT 4.0, Windows 2000, XP Windows. После загрузки, Вы можете включить ваше флоппи-диск и делать это согласно этому. Мой Диск Загрузки также дублирует и восстанавливает системные важные файлы, а также важные персональные файлы включая Точку зрения Экспресса почт, Книги Адреса и Т.Е. Любимую.

Характеристики

? Проблема загрузки Исправления.
? Системная авария Исправления
? Извлеките файл из CD Microsoft Windows.
? Разметка Накопителя.
? Быстрая среда установки для Microsoft Windows.
? Чистое создание установки.
? Файловый и операционный директорий
? Обнаружьте потенциальный файловый ущерб.
? Продублируйте и восстанавливайте важные системные файлы.
? Продублируйте и восстанавливайте важные персональные файлы.
? Загрузите Windows NT/2000/XP с только одним флоппи-диск.
? Загрузите ряд стандартного ФЛОППИ-ДИСК Загрузки из Internet.


*********************


Ну как? просто потрясающая программка, неправда ли :), и ещё, кто нибудь из вас юзал Windows Я?:). Ну вот отлучился я немного, время начать ломать. На сей раз нам понадобится отладчик, а именно SoftICE, где достать спросите, я подскажу - Яндекс.ру :) Так идём дальше, ну вот уже имеете SoftICE ( далее просто САЙС ), пора его установить, забегу немного вперёд, лично у меня 2 операционки ХР и 98, на обоих стоит САЙС, но я предпочитаю работать в 98, чего и вам советую, полную инфу о том, как установить отладчик ищите на cracklab.narod.ru, там много чего интересного для себя найдёте.

Так отладчик настроен и готов к использованию, теперь осталось за малым, нужна прога пациентка "My BootDisk", быстренько бежим на http://www.zhangduo.com и качаем её оттуда ( вес примерно 600кб ). Ну вот скачали, пошла инсталяция, запускаем, тут же появляется окно в котором автор пишет, что мол прога поработает 15 дней, а после истечения срока неплохо было бы заплатить всего-то каких 25 американских рублей. Щас разбежались.

Попробуем ввести произвольное имя и серийник, лично я вводил specz/1234321, жмём ОК, и тут выскакивает окно, что мы ввели неправильный регистрационный номер. Сдается мне, что это окно похоже на MessageBoxA(), но никогда нельзя гарантировать, что это именно MessageBoxA(), так как программеры бывают разные, и могут просто жутко прикольнуться :). Так, снова вводим свои атрибуты и вызываем САЙС при помощи CTRL+D. Надеюсь вы во время установки всё сделали правильно, так же отредактировали winice.dat, если нет, то будет очень жутко и неудобно ( если что, то можете взять winice.dat под 98 с моими установками, winice.dat положите в папку, куда заинсталировали САЙС ). Так теперь в отладчике пишем bpx MessageBoxA и жмём F5. Далее в нашей программе жмём ОК и вываливаемся в отладчик, теперь в отладчике жмём F12, снова появилось окно проги, в котором указывается, что мы ввели неверный номер (MessageBoxA), мы опять жмём ОК и должны появится где-то здесь в отладчике:

====х[cut here]x====
:0048A33D E87A30FCFF call 0044D3BC
:0048A342 50 push eax

* Reference To: user32.MessageBoxA, Ord:01DDh
|
:0048A343 E898D6F7FF Call 004079E0

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048A2F2(U)
|
:0048A348 33C0 xor eax, eax ----------------------- мы находимся тут -----------------------
:0048A34A 5A pop edx
:0048A34B 59 pop ecx
:0048A34C 59 pop ecx
====х[cut here]x====

Теперь немного теории о MessageBoxA(), вот как мне объяснил MozgC " Как известно messageboxa передается 4 параметра, т.е. push xxxxxxx будет 4 раза а потом вызов messagebox’a. Push’и необязательно должны быть подряд. " Думаю здесь всё понятно, будем искать последний push, т.е. 4. Давай пролистаем вниз в отладчике при помощи мыши, надеюсь она у тебя работает, пока не наткнёмся на адрес :0048A440 54 push esp, вот он 4 push, можешь сам посмотреть и убедиться, что это после :0048A348 - 4 push. Теперь cтавим бряк на этот адрес, только уже не bpx 0048A440, a bpm 0048A440, и жмём F5. Мы снова оказались в нашей программе, снова вводим свои данные и жмём ОК, теперь оказавшись в отладчике обрати внимание на эти строки MSR LastBranchFromIP и LastBranchToIp, в них указаны адреса, которые были выполнены, прежде чем мы попали на наш push. На данный момент нас интересует MSR LastBranchFromIP с адресом 00404DBF. Теперь в САЙС сносим все брейкпоинты при помощи команды bc* и записываем новый бряк bpx 00404DBF, снова жмём F5. Так снова оказывается в нашей программе, вводим свои данные и жмём ОК, теперь мы находимся где-то здесь:

====х[cut here]x====
:00404DBB 52 push edx
:00404DBC C1EA02 shr edx, 02
:00404DBF 7426 je 00404DE7 ----------------------- этот адресс и вызывает наг скрин -----------------------

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00404DDD(C)
|
:00404DC1 8B0E mov ecx, dword ptr [esi]
====х[cut here]x====

Теперь давай немного подумаем, как вообще происходит проверка, сперва прога берёт наш введенный серийник и проверяет со сгенерированным по нашему введенному имени, если они совпадают, то нас поздравляют, и пропускают дальше, а если нет, то мы попадаем сюда, а позже на наш MessageBoxA(). Давай поищим call, т.е. поднимись немного вверх при помощи мыши или CTRL+Page Up, и увидим приблизительно вот что:

====х[cut here]x====
:00404D7C 750C jne 00404D8A
:00404D7E 85D2 test edx, edx ----------------------- а тут мы проверяем наш серийник со сгенерированным по нашему имени -----------------------
:00404D80 7403 je 00404D85
:00404D82 FF4AF8 dec [edx-08]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00404D80(C)
|
:00404D85 E866FCFFFF call 004049F0 ----------------------- перед этим call’om и происходит проверка серийника -----------------------

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00404D7C(C)
|
:00404D8A 5A pop edx
:00404D8B 5F pop edi
====х[cut here]x====

Теперь давай взглянем чуть выше call’a и посмотрим что находится по адресу :00404DBF, достаточно 2 раза щёлкнуть мышкой по этому адресу или набрать bpx 00404DBF, перед этим удалите предыдущий бряк при помощи bd 00 ( 00 - номер брэйкпоинта, его можно узнать набрав bl ). Теперь нажмите F5, чтобы выйти из отладчика, если с первого раза не получится, то повторяйте нажимая F5. Ну вот, теперь последний рубеж, вводите своё имя и серийник, нажимаем ОК, выпадаем в отладчик, теперь пишем d EDX, для того, чтобы посмотреть что находится по этому адресу. Спросите почему именно EDX, а не EBP или ESI, просто программа написана на Дельфи и там так принято или EDX или EAX. Тогда возникает вопрос, почему не использовали bpx hmemcpy, а зачем, если так намного быстрее. Я увидел примерно такое CMW27***-*******, вместо звёздочек идут цифры, вот, это и есть серийник. Теперь можете подпрыгивать до потолка, поздравляю, вы только что сэкономили 25 баксов :), всё быстренько записываем на бумажку, вводим и воуля, никакого наг окна и напоминания о том, что прога шароварная.

Теперь можем с треском врываться на http://www.zhangduo.com, качать все проги кроме переводчиков и спокойно ломать. Теперь вот думаю в следующей статье написать как находить генерацию серийного номера и написать кейген, если The_Neption поможет с Delphi :).

P.S. Запомните все материалы публикуются только в учебных целях и автор за их использование ответственности не несет.
З.Ы. Большую благодарность хочу выразить The_Neption за понимание и MozgC, который мне очень помог, хотя встретив меня в реальной жизни наверное убил бы :)

Если будут вопросы, то мыльте на: specz@mail.ru

С уважением specz.

Обсуждение статьи: Сломать программу? Легко! >>>


Комментарии к статье: Сломать программу? Легко!

SLV 19.06.2004 11:33:00
Standard how2crack tutorial.
---
Mafia32 19.06.2004 17:29:18
Ну что я могу сказать... обычный тутор. Минимум теории, максимум \"сделай как я\". Я лично против такой литературы. Хотя нравится человеку - пусть пишет.
---
specz 19.06.2004 20:58:50
:) мне нравится когда всё обосновано, стандарт туториал, ну дык я сам по таким учился, я ведь не обещал чего нибудь необычного....
---
А2К 03.07.2004 17:34:32
Я вот наконец нашел реальную инфу как делать кряки... Супер!
---
Zmeu 05.03.2006 16:16:34
А мне понравилось !
---
Sk8erBoi 19.03.2006 11:10:37
Такие статьи можно клепать после каждого удачного взлома. Другое дело, насколько они хороши...
---

Материалы находятся на сайте https://exelab.ru



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS