Сейчас на форуме: 2nd, bedop66938, -Sanchez-, barsik (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› Обход защиты Дос программы.
Посл.ответ Сообщение

Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 14 июня 2008 20:56 · Поправил: sppol
· Личное сообщение · #1

Есть учебная Dos-программа которая строит графики по определенным функциям. При запуске требует ввести пароль зависящий от кода процессора, который показан там же.Была запакована PKLite пока я её не распаковал CUP 386, оказалось написана на Borland C.
Дизассемблировал IDA pro. Обнаружил текстовые строки с приветствием о вводе пароля ("введите свой пароль")... дальше пока никак.
Подскажите, как можно извлеч пароль или вообще исключить его проверку.
п.с. Распакованный и исходный файлы прилагаю.

3d2d_14.06.2008_CRACKLAB.rU.tgz - DK.rar



Ранг: 186.8 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 16 июня 2008 19:26
· Личное сообщение · #2

seg015:0108 cmp si, 3
seg015:010B jl loc_108D3
seg015:010D
seg015:010D loc_1091D: ; CODE XREF: sub_10817+FEj
seg015:010D cmp word_2F33A, 0
seg015:0112 jz loc_10928

Нопим оба джампа и решаем задачки.



Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 июня 2008 19:49
· Личное сообщение · #3

Огромное спасибо! Всё получилось! Но как вы нашли эти условные переходы? Очень хотелось разобраться бы самому..



Ранг: 186.8 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 16 июня 2008 21:39 · Поправил: MoonShiner
· Личное сообщение · #4

dseg:3138 aVvediteSvoiPar db 'Введите свой пароль^3:',0
Как можно видеть, строка находится в сегменте данных по смещению 3138h. Явных ссылок на нее нет, значит можно попробовать поиск ворда в коде. Alt+B, вбиваем 3138, ставим галку в Hex, жмем Ok. Попадаем сюда:
seg015:04B2 loc_10CC2: ; CODE XREF: sub_10C9B+20
seg015:04B2 mov ax, 3138h
Проходим по адресу sub_10C9B+20, попадаем сюда:
seg015:04AB jz loc_10CC2
Пролистываем выше и видим начало функции. Делаем предположение, что эта функция и требует ввод пароля. Ее начало:
seg015:048B sub_10C9B proc far ; CODE XREF: sub_10817+CA
Пройдя по адресу sub_10817+CA выходим на:
seg015:00D1 call sub_10C9B
Проанализировав код выше, видим, что прыгаем на код, в котором потом осуществляется обязательный вызов функции регистрации, из этого места:
seg015:010B jl loc_108D3
Нопим этот джамп, ниче хорошего не происходит. Видно, что функция вернет или 1, или 0. Сейчас она возвращает 0. Чтобы возвращала 1, достаточно занопить второй джамп. При проверке все прокатывает.

ЗЫ Можно все сделать грамотнее и точнее, но мне было влом ковыряться. Я это объяснение в несколько раз дольше писал.



Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 17 июня 2008 15:04
· Личное сообщение · #5

Еще раз спасибо! Буду разбираться.


 eXeL@B —› Крэки, обсуждения —› Обход защиты Дос программы.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати