![]() |
eXeL@B —› Вопросы новичков —› CrackMe и zLib |
Посл.ответ | Сообщение |
|
Создано: 18 ноября 2017 17:42 · Поправил: PastInTheFuture · Личное сообщение · #1 Пытаюсь решить этот CrackMe уже третью неделю. Застопорился на одной функции. Узнав, какое значение оно должно возвращать, я принялся за работу и начал разрабатывать стратегию. В итоге все тщетно, сколько бы я не пытался — практически нереально подобрать нужные значения. Вот, что я узнал из того, что требует CrackMe: В поле E-mail вводится почта в нормальном виде, я так понимаю. Затем есть функция, которая заменяет точки, на _ и прочее. Затем в поле Serial вводим путь к папке, в котором то и должны быть байты, удовлетворяющие функции. Убив просто гору времени на разбор этой функции, я попытался проанализировать строки программы еще раз. Увидев строку inflate 1.2.11 Copyright 1995-2017 Mark Adler и строки исключения, я принялся гуглить. Погуглив я узнал, что это скорее всего метод сжатия файла zlib, но подробной информации что где взять и как ее использовать, я не нашел. Прошу знающих помочь или хотя бы направить меня в нужное направление: в какую сторону копать. Чтоб вы убедились, что я правда пытался сделать — прикрепляю сам crackme и некоторые мои наработки в IDA Pro. https://mega.nz/#!944DQIpI!LZJu_mX6Wjfu56sy8Bf7-OKbA3EyDpKp5DL7aWy6BaY ![]() |
|
Создано: 18 ноября 2017 17:49 · Личное сообщение · #2 нет слов. гугль забанен? ----- От многой мудрости много скорби, и умножающий знание умножает печаль ![]() |
|
Создано: 18 ноября 2017 17:54 · Личное сообщение · #3 |
|
Создано: 18 ноября 2017 17:57 · Личное сообщение · #4 |
|
Создано: 18 ноября 2017 18:14 · Поправил: ajax · Личное сообщение · #5 |
|
Создано: 18 ноября 2017 18:29 · Личное сообщение · #6 |
|
Создано: 18 ноября 2017 18:40 · Личное сообщение · #7 |
|
Создано: 18 ноября 2017 18:42 · Личное сообщение · #8 |
|
Создано: 18 ноября 2017 19:33 · Личное сообщение · #9 PastInTheFuture Ну ясно что у вас не получается и полная засада, но вы не сказали в чём именно. Что есть некоторая функция не понятная, понятно. Но что именно с ней не получается, какое звено цепи не понятно ? Подозреваю что разбор функции" свёлся не к анализу её, последовательному реверсу, а судя по описанию тупо попытки извлечь инфу путём перебора и запроса в гугл на строки. ----- vx ![]() |
|
Создано: 18 ноября 2017 20:03 · Личное сообщение · #10 difexacaw пишет: Ну ясно что у вас не получается и полная засада, но вы не сказали в чём именно. Что есть некоторая функция не понятная, понятно. Но что именно с ней не получается, какое звено цепи не понятно ? Подозреваю что разбор функции" свёлся не к анализу её, последовательному реверсу, а судя по описанию тупо попытки извлечь инфу путём перебора и запроса в гугл на строки. Далеко не так. Я делал так: сначала разобрался с тем, какое значение должна возвратить функция. Она должна возвратить 1. Ну вот я и посмотрел в теле функции, откуда может взяться 1. Нашел такой код: v84 = 1; вот от этого места и шел. А подбирал я именно ASCII символы, чтоб обойти все исключения. Проблема в том, что очень запутанно, возможно, я пошел не тем путем, каким нужно: я начал реверсить, возможно, уже известную функцию(zlib). Может быть там нужно сделать какие либо манипуляции с данными, чтоб эта функция успешно сработала. Знаете, это наподобие реверса уже известного всем алгоритма MD5. Зачем его реверсить, если и так понятно, что будет на выходе. Можно же просто воспользоваться ею, не обязательно ее анализировать. Вот я и спрашиваю, возможно, этот тот самый случай. В гугле я искал только информацию по zlib и информацию о исключениях в этой функции. ![]() |
|
Создано: 18 ноября 2017 20:18 · Поправил: difexacaw · Личное сообщение · #11 PastInTheFuture Если вы залезли в механизм сжатия, то это чисто вопрос опыта - нужно быть знакомым с этими механизмами, любой их них может быть определён как механизм сжатия/криптования просто полистав код; он будет монотонный, странные казалось бы повторения, mmx операции, отсутствие обращения в память - это всё для оптимизации. С другой стороны вопрос остаётся не понятным. По выражению vXX = M понятно что вы разбираете код, сгенеренный декомпилером. Причём анализ его происходит через восстановление данных, обратный проход по графу данных, это не анализ, а проход по источникам данных. То что вам кажется весьма запутанным, думаю скорее всего так и есть, часто декомпиль выдаёт дикий треш, что делает его использование бессмысленным. Покажите исходный асм код, на котором возникла проблема. ----- vx ![]() |
|
Создано: 18 ноября 2017 21:08 · Личное сообщение · #12 difexacaw пишет: Покажите исходный асм код, на котором возникла проблема. Вы меня неправильно понимаете. Проблема не в каком то коде асма, а в функции в целом. В функции используется 31 case. Через дизасм смотреть его просто нереально. Декомпилятор показывает все правильно, разве что некоторые операции заменяет сдвигами, но результат тот же. Просто взгляните на crackme.idb и все поймете, если есть желание. Функцию я назвал, переменные тоже обозначил некоторые. Может быть вы увидите в ней какой либо алгоритм сжатия и т.д ![]() |
|
Создано: 18 ноября 2017 21:46 · Личное сообщение · #13 |
|
Создано: 18 ноября 2017 22:24 · Личное сообщение · #14 |
|
Создано: 18 ноября 2017 23:18 · Личное сообщение · #15 |
|
Создано: 18 ноября 2017 23:44 · Личное сообщение · #16 |
|
Создано: 19 ноября 2017 00:08 · Поправил: dosprog · Личное сообщение · #17 ) А на кой тебе тот крякмикс сдался? - жаждешь трудиться в той конторе? Взял бы лучше полезный какой софт поковырял, а крякмиксы то херня полная - при желании можно такого навертеть, что и сам фиг распутаешь. Проблемы на ровном месте --Добавлено-- ) Пропатчи вон crackme.exe .00403C0B: C0 D0 - и не парься ![]() |
|
Создано: 19 ноября 2017 06:12 · Поправил: Gideon Vi · Личное сообщение · #18 PastInTheFuture пишет: Сначала нужно же самому попытаться решить ну вот решил ты, что нужно разбираться с zlib (на самом деле нет), и где попытки разобраться? Где асм-листинг функции, на разбор которой ты потратил гору времени? Что в ней не понятно? ![]() |
|
Создано: 19 ноября 2017 09:24 · Личное сообщение · #19 PastInTheFuture пишет: Проблема не в каком то коде асма, а в функции в целом. В функции используется 31 case. посмотри эту функу, может что-то знакомое увидишь... Если нет, то тренируйся пока на кошках ![]() |
|
Создано: 19 ноября 2017 13:01 · Личное сообщение · #20 Gideon Vi пишет: где попытки разобраться? Где асм-листинг функции, на разбор которой ты потратил гору времени? Внимательнее читайте, выше прикрепил asm-код функции. Добавлено спустя 4 минуты SReg пишет: посмотри эту функу, может что-то знакомое увидишь... Эту функцию, как раз таки, и смотрю Добавлено спустя 10 минут dosprog пишет: А на кой тебе тот крякмикс сдался? - жаждешь трудиться в той конторе? Да, хочу там работать, а что такого? ![]() |
|
Создано: 19 ноября 2017 13:14 · Личное сообщение · #21 |
|
Создано: 19 ноября 2017 13:22 · Личное сообщение · #22 |
|
Создано: 19 ноября 2017 13:47 · Поправил: dosprog · Личное сообщение · #23 |
|
Создано: 19 ноября 2017 15:44 · Поправил: difexacaw · Личное сообщение · #24 PastInTheFuture > Внимательнее читайте, выше прикрепил asm-код функции. Это вы внимательно читайте, вам затем на сурец дали линк этого кода. Вы потратили кучу времени, разбирая не то что нужно было для решения, а стандартный паблик код. Какого чёрта вы полезли разбирать штатные механизмы сжатия не понятно. Короче рано вам крякми решать, раз вы не можите общее видеть. Декомпиль ведь не просто так использован, верно ? - так как нет фундаментальных знаний, асм не понятен, архитектуру не знаю. Единственный путь загнать что то в декомпиль - результат такой же бессмысленный, вы сами себя ввели в заблуждение ![]() > Да, хочу там работать, а что такого? Что за контора, как обычно авер и есчо может быть каспер ? ----- vx ![]() |
|
Создано: 19 ноября 2017 16:20 · Личное сообщение · #25 |
|
Создано: 19 ноября 2017 16:26 · Личное сообщение · #26 |
|
Создано: 19 ноября 2017 16:47 · Личное сообщение · #27 PastInTheFuture пишет: Да, хочу там работать, а что такого? не узнать inflate и хочу работать, это шутка такая? патчить кстати тоже нет смысла, в таких заданиях требуется именно разобрать алгоритм генерации логин\пароль. на хабре были статьи с разбором крякми касперского, посмотрите, как решают их люди. ![]() |
|
Создано: 19 ноября 2017 16:53 · Поправил: difexacaw · Личное сообщение · #28 |
|
Создано: 19 ноября 2017 16:58 · Поправил: shellstorm · Личное сообщение · #29 difexacaw пишет: он был не корректно сделан В части их крякми требуется брут, один из прошлых решали с помощью символьных вычислений, а с качеством у них всегда проблема, что не удивительно, учитывая качество кода самого антивируса, куча легаси с откровенно нубским кодом. ![]() ТС читай статью: https://habrahabr.ru/company/kaspersky/blog/323116/ У них все крякми на одну трубу. ![]() |
|
Создано: 19 ноября 2017 17:20 · Личное сообщение · #30 Да уж, попросишь помочь — обосрут с ног до головы. Ничего нужно не услышал. Возомнили из себя профессионалов. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› CrackMe и zLib |
Эта тема закрыта. Ответы больше не принимаются. |