Сейчас на форуме: asfa, _MBK_, Adler (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Кейген в крямиксе
Посл.ответ Сообщение

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

Создано: 29 декабря 2009 07:51
· Личное сообщение · #1

Всем привет! Ломаю крямикс, прерываюсь на адресе 401D30. На адресе 401FF5 происходит сравнение преобразованного серийника с числом 521E4B92. Хочу сделать, чтобы крямикс сам сгенерировал правильный серийник для этого call по адресу 401D4C заменяю на MOV EAX, DWORD PTR DS:[404FF0]. Начиная с адреса 402015 пишу:
INC DWORD PTR DS:[404FF0]
POP EDI 'Восстановление регистров
POP ESI
POP EBP
POP EBX
JMP 00401D30 ' возврат на начало процедуры
По адресу 402005 пишу PUSH 404FF0 (чтобы выдало результат, если будет совпадение).
Запускаю. Прерывается с сообщением: debugged program was unable to process exeption.
Кто подскажет где я ошибся?
Дебагер: Олли
Уровен сложности в крямиксе второй.

8908_28.12.2009_CRACKLAB.rU.tgz - crkme3.exe




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 29 декабря 2009 14:31
· Личное сообщение · #2

phell пишет:
Восстановление регистров

ты их сохранял чтобы восстанавливать?
а перед call'ом который ты заменяеш идут 3 пуша.

-----
zzz




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

Создано: 30 декабря 2009 06:19
· Личное сообщение · #3

Да, точно, не увидел, что программа сама их восстанавливает. Всё исправил, запустил. Уже сутки подбирается пароль. Есть ли другой способ нахождения пароля, кроме брут-форса?




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 30 декабря 2009 09:29
· Личное сообщение · #4

phell пишет:
Есть ли другой способ нахождения пароля, кроме брут-форса?

разобрать алгоритм проверки

-----
zzz





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 01 ноября 2012 12:09
· Личное сообщение · #5

Знаю, что тема старая, но как такового решения данного крякми тут нет... Посему предлагаю таки добить

И так, там 3 проверки 3-х степеней слодности


1. EASY!!

Code:
  1. 00401CFC   .  E8 17060000   CALL <JMP.&MFC42.#3095>   ; читаем то что ввели
  2. 00401D01      0FAFC0        IMUL EAX,EAX
  3. 00401D04      8D0CC5 000000>LEA ECX,DWORD PTR DS:[EAX*8]
  4. 00401D0B      33C8          XOR ECX,EAX
  5. 00401D0D      81F9 84E13000 CMP ECX,0x30E184                         ; сравниваем



По сути тут сводится все к решению уравнения вида 8х² xor x² =0x30E184

вот только из за ксора решений несколько:
1073741158
1073742490
2147482982
ну и 666☺

можно это уравнение решить как то математически?


2. Easier

проверка начинается тут : 00401D30
там по сути почти тоже, только в цикле 2 раза по 40 000 раз...

ну и сравнение с другой константой (0x521E4B92).....
верное решение пока говорить не буду, но что б особо вопросов не было, то MD5:26ba8a80829a961cd59c0a62e0122872

проще всего сбрутить, но мне кажется это не особо тру, хотя если упростить и оптимизировать...

3. Very HARD
Пока не смотрел

-----
-=истина где-то рядом=-





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 01 ноября 2012 13:59
· Личное сообщение · #6

KingSise пишет:
можно это уравнение решить как то математически?

А почему бы и нельзя? Умножение на 8-это тупо сдвиг влево на 3 бита. Стало быть, ксорится число с собой же, сдвинутым на 3 бита. Младшие 3 бита известны сразу, дальше шагать по 3 бита да расксоривать. Отсюда найдёшь квадрат. И дальше решать как квадратичное сравнение, благо, модуль вполне удобный.




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 02 ноября 2012 17:30 · Поправил: KingSise
· Личное сообщение · #7

2. Easier

в общем если с EASY все просто, то с остальными частями -

вот начало процедуры которую я не совсем понимаю:
Code:
  1. 00401A10 >/$  83EC 08       SUB ESP,0x8


Это вроде CRC, но не оно, явно что то самопальное... Может кто прокомментирует?
Бо я пока не вижу, как это можно обратить или упростить (дабы сбрутить было реально)
Эта же СКС используется и в Very HARD

если поможет: pass:83410473:jaKrevedko

З.Ы. Удалось еще получить второй пасс 152799377

925f_02.11.2012_EXELAB.rU.tgz - brut.asm

-----
-=истина где-то рядом=-




Ранг: 51.8 (постоянный), 58thx
Активность: 0.03=0.03
Статус: Участник

Создано: 02 ноября 2012 18:08
· Личное сообщение · #8

Про второй уровень.
Алгоритм, понятное дело, самопальный. Попробовал сначала выдернуть его целиком и вставить в свою программку перебора. Получилось ~ 1000 вариантов/сек, т. е. весь брут на 1,5 месяца. Пришлось лезть вглубь алгоритма. Довольно быстро выяснилось, что первые 39999 циклов - фейковые, вся нужная информация формируется на последнем 40000-ом проходе. Соответственно, написал брут, который за пару минут перебрал все варианты и нашел еще 4 ключа в дополнение к двум уже выложенным:
277389841
935804265
1471175593
-30185495

Если будет время, третий уровень тоже посмотрю, но там возни значительно больше предстоит.



Ранг: 22.4 (новичок), 19thx
Активность: 0.020
Статус: Участник

Создано: 02 ноября 2012 20:17
· Личное сообщение · #9

crackmes.de/users/tragen/crackme_3




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 02 ноября 2012 21:26
· Личное сообщение · #10

Johnny Mnemonic, и к чему это?

-----
-=истина где-то рядом=-





Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 02 ноября 2012 21:52
· Личное сообщение · #11

KingSise
Наверное к тому, что там есть солюшн с описанием ;)

-----
ds





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 05 ноября 2012 13:02
· Личное сообщение · #12

DimitarSerg, не стоило все же решение постить...

Prober пишет:
выяснилось, что первые 39999 циклов - фейковые


Угу, я заметил, тупо тут вписал 39999
Code:
  1. 00401F37   .  43            INC EBX
  2. 00401F38   .  47            INC EDI
  3. 00401F39   .  41            INC ECX
  4. 00401F3A   .  40            INC EAX
  5. 00401F3B   .  46            INC ESI


По аналогии сделал в хард, вроде как брутится, посмотрим как быстро найдет нужное значение...

-----
-=истина где-то рядом=-



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


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