![]() |
eXeL@B —› Вопросы новичков —› Обсуждение Crackme |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 18 марта 2012 01:17 · Личное сообщение · #1 Как бы не нашел общий раздел для обсуждения Crackme, предлогаю тут обсуждать После просмотра видеоуроков от Bad_guy по крекинду, и скачав вредварительно крэкми Задача: - Find a valid serial for your nick/name - Patch the crackme to accept any input as valid serial В ollydbg как бы вроде понял логику, но вот не хватает знания насчет "генераций" логин и пароля.. Вот мне кажется тут что -то мутится: CPU Disasm Code:
А после этого выполняется JE (если равно) переход на Code:
а если условие не выполняется, то выполняется дальше: Code:
т.е. если ZF=0, то логин и пароль подошли. Но это второй часть, я думаю место JE написать JMP и написать переход на 00401240. А вот с первой частью не понимаю - откуда найти логин и пароль? В видеокурсе на первом Crackme пароль была написань в самом коде, а тут уже "серьезная защита" ![]() Подкажите пожалуйста как решать задачу? ненадо сказать логин и пароль, а скажите только на каком направлений копать. Мне явно не хватает знаний команд и не понимаю где зашифрован логин и пароль. ![]() |
|
Создано: 18 июня 2013 12:10 · Личное сообщение · #2 |
|
Создано: 18 июня 2013 12:31 · Личное сообщение · #3 в аттаче скрипт, ставит бряки на все переходы на обработчики ![]() ![]() |
|
Создано: 18 июня 2013 12:54 · Поправил: dfnsff · Личное сообщение · #4 ARCHANGEL пишет: Показываю на примере и прикладываю в аттаче. Превосходно! - давно смотрел на эти хэндлы в API Monitor и AutoIt Window Information Tool думал как их применить к отладке. только 1 вопрос как поставить этот брейкпоинт на хэндл??(((в какой библиотеке эти адреса, в данном случае 003F0FD5). Про кривость метода: я и не надеялся получить от этого крякми методы, просто изучаю как это делается - наверное проще было бы сделать Loader(хотя я ещё до этого не дошел) а не распаковывать какими-то ужасными скриптами. Hellspawn пишет: если уж на то пошло, то натравить EMS Source Rescuer хотя бы на дамп, нэ? не работает для этого крякми(или может для всех программ нераспакованных). для дампа показала какие-то коды, пока не понял как это применить)). спасибо, мб пригодится)) SReg пишет: в аттаче скрипт, ставит бряки на все переходы на обработчики чёт не работает)даже после распаковки программы в памяти. для незапакованных то всё просто) можно и OllySnake(плагин) применить и сразу же найти нужную обработку, да и "офлайн" анализ в IDA мог бы помочь(с дампами IDA понятно плохо работает, хотя тоже можно что-то обнаружить) ![]() |
|
Создано: 18 июня 2013 13:37 · Поправил: ARCHANGEL · Личное сообщение · #5 dfnsff пишет: как поставить этот брейкпоинт на хэндл??(((в какой библиотеке эти адреса, в данном случае 003F0FD5) В олли Ctrl+G и вписывай адрес. Этот адрес принадлежит блоку выделенной памяти, ни в какой он не библиотеке. И не на хэндл, а на хэндлер (Handler - обработчик). ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 18 июня 2013 13:49 · Поправил: dfnsff · Личное сообщение · #6 Да, да, хэндлер - указатель на обработчик окна в памяти, а не само название окна)) это я примерно понял уже. спасибо. дальше буду "ломать" эти крякми до прозрения добавлено немного погодя: Всё получилось, полезный гайд как отлавливать обработчики в Delphi Добавлено вечером: вобщем всё мучаюсь с крякми И теперь вопрос:Кто нибудь знает как найти в ассемблере адрес начала и резмер сегмента кода?? хочу сделать универсальный шаблон лоадера(а то эти адреса же могут меняться в зависимости от машины и программы)(код asm в аттаче) ![]() ![]() |
|
Создано: 18 июня 2013 20:50 · Личное сообщение · #7 ARCHANGEL ок. тогда ещё способ ![]() используем плагин GODUP. просто запускаем таргет: ![]() выбираем пункт -> прочесть ресурсы ![]() находим в ресурсах форму и палим обработчик -> двойной клк и плагин поставит бряк ![]() удобно. новичкам самое оно. dfnsff это секция кода, она есть в заголовке - BaseOfCode, SizeOfCode. если ты патчил код программы, то если релоков нету, адреса будут всегда одинаковые ![]() ----- [nice coder and reverser] ![]() |
|
Создано: 18 июня 2013 21:04 · Личное сообщение · #8 Hellspawn Ага, тут хорошо работает. А вот если ресурсы пожаты? А в непожатом можно обычным Restorator'ом посмотреть. Новички это должны уметь. В общем, гайдов надавали достаточно. Надеюсь, что новички больше не будут теряться, если им делфишная прога попадётся. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 18 июня 2013 21:33 · Поправил: ZX-CodeR · Личное сообщение · #9 dfnsff пишет: И теперь вопрос:Кто нибудь знает как найти в ассемблере адрес начала и резмер сегмента кода?? хочу сделать универсальный шаблон лоадера(а то эти адреса же могут меняться в зависимости от машины и программы)(код asm в аттаче) На rsdn.ru есть статья Форматы РЕ и COFF объектных файлов, найди ее и прочти всю. И вообще прежде чем спросить поищи как следует. ![]() |
|
Создано: 19 июня 2013 00:19 · Поправил: dfnsff · Личное сообщение · #10 Hellspawn пишет: используем плагин GODUP Заодно посмотрел другие аддоны с скриншота которые используют "nice reverser-ы")) Hellspawn пишет: это секция кода, она есть в заголовке - BaseOfCode, SizeOfCode. если ты патчил код программы, то если релоков нету, адреса будут всегда одинаковые Релоки - вот из-за чего меняться всё может, видимо всётаки придётся искать место нужное по последовательности байтов(т.к. видимо и код можно перемещать внутри секции)...понятно ![]() ZX-CodeR пишет: На rsdn.ru есть статья Форматы РЕ и COFF объектных файлов, найди ее и прочти всю. И вообще прежде чем спросить поищи как следует. если честно я слова COFF ни разу не слышал. буду приучаться к чтению... ![]() |
|
Создано: 19 июня 2013 00:30 · Поправил: ZX-CodeR · Личное сообщение · #11 |
<< . 1 . 2 . |
![]() |
eXeL@B —› Вопросы новичков —› Обсуждение Crackme |