Сейчас на форуме: (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Сравнение строк в AnsiString #2 |
Посл.ответ | Сообщение |
|
Создано: 30 июля 2010 19:39 · Личное сообщение · #1 Привет всем! Извините, но из темы http://www.exelab.ru/f/action=vthread&forum=5&topic=16509 я мало что вынес для себя. Вы говорили надо искать пароль найдя все вхождения текстовых строк. Я написал крякмис №2. Там пароль не храниться в теле программы. Он вычисляется из введенного имени и присваивается переменной типа AnsiString (например str1). Затем программа берет введенный пароль и присваивает его переменной, так же типа AnsiString (например str2). Потом программа просто выполняет такой оператор: if(str2 == str1) и, соответственно условию, выводит сообщение о правильном или не правильном пароле. Для меня является проблемой такой вопрос: с чего начинать поиск пароля??? Я не сомневаюсь, что вы взломаете мой крякмис за очень малый промежуток времени и, может потом, поделитесь опытом... Задача на крякмис: узнать пароль для имени Cracklab.Ru Жду ваших ответов! ![]() ![]() |
|
Создано: 30 июля 2010 20:38 · Личное сообщение · #2 Это классический крякмис для первого раза. 1. открытие в дизассемблере (HDasm) 2. поиск стрингов о верном/неверном серийнике (поиск по строкам) 3. выход на операцию генерации и сравнения. генерация по адресу 401AF3 сравнение - 401АВВ(но точнее - 424Е6С), после нее обычный условный переход 00401AC2 | JE SHORT 00401AF3 в данном случае можно тупо в стеке спалить после процедуры генерации, посему непонятен смысл топика. достаточно скормить крякмис ольке и все видно. ![]() |
|
Создано: 30 июля 2010 20:50 · Поправил: d7d1cd · Личное сообщение · #3 |
|
Создано: 30 июля 2010 21:31 · Личное сообщение · #4 |
|
Создано: 30 июля 2010 21:35 · Личное сообщение · #5 |
|
Создано: 30 июля 2010 22:04 · Личное сообщение · #6 |
|
Создано: 30 июля 2010 22:30 · Личное сообщение · #7 |
|
Создано: 31 июля 2010 00:12 · Личное сообщение · #8 |
|
Создано: 31 июля 2010 01:43 · Личное сообщение · #9 d7d1cd пишет: Кто-нибудь, подскажите, как в Ольке начать поиск пароля... Ну для начала найдя строчку в твоем крекми "Пароль не правильный", поставь бряк не много выше по коду, например здесь: Code:
и далее потрассируй(F8) до этого места: Code:
Зайди в этот call(F7) Дойдя до этого адреса: Code:
ты увидеш в: EAX - не правильный пароль ECX - введенное имя EDX - правильный пароль То есть, для имени Hacked, правильный пароль будет 242829302929 ----- We do what we want because we can. ![]() |
|
Создано: 31 июля 2010 09:57 · Личное сообщение · #10 verdizela пишет: Ну для начала найдя строчку в твоем крекми "Пароль не правильный", поставь бряк не много выше по коду... Все дело в том, что я в Ольке в дампе нашел строчку "Пароль не правильный", определил, что начало этой строки находится по адресу 004691DA. Но ведь в коде программы я не знаю, где вызывается эта строка. Как поставить бряк? Это мой самый важный вопрос!!! ![]() |
|
Создано: 31 июля 2010 10:58 · Личное сообщение · #11 Вобще адрес ShowMessage находится здесь 00401B0B call 0044BF00 ; ShowMessage По нему и ищется, потому что текст на русском сложно искать, что бы найти ShowMessage() нужно устанавливать bp ShowWindow и двигаться от него, была тема где я подробно рассматривал поиск называется в поисках ShowMessage ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 31 июля 2010 11:45 · Личное сообщение · #12 |
|
Создано: 31 июля 2010 12:02 · Личное сообщение · #13 |
|
Создано: 31 июля 2010 12:04 · Личное сообщение · #14 |
|
Создано: 31 июля 2010 12:07 · Поправил: Coderess · Личное сообщение · #15 |
|
Создано: 31 июля 2010 12:17 · Личное сообщение · #16 |
|
Создано: 31 июля 2010 12:22 · Личное сообщение · #17 |
|
Создано: 31 июля 2010 12:37 · Поправил: d7d1cd · Личное сообщение · #18 Понятно. Только что попробовал установить бряк на ShowWindow. По нажатию на кнопку Проверить так же перехожу в Олю. Пароль надо искать выше по коду? Извините. Знаю, что для вас мои вопросы выглядят совсем "детскими". Сам знаком с подобным, когда отвечаю на вопросы по программированию. Но в крэкинге я 0х00! Ответьте, пожалуйста... ![]() |
|
Создано: 31 июля 2010 15:14 · Личное сообщение · #19 Русский текст не ищется, есть опция в оле, но я не пробовал, да и не помню как она настраивается, если текст выдаваемого сообщения при не правильнном вводе был бы на английском то легко найти, а так незнаю. Не пойму, зачем нужно искать текст сообщения, если полно и других методов ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 31 июля 2010 15:48 · Личное сообщение · #20 |
|
Создано: 31 июля 2010 18:26 · Личное сообщение · #21 |
|
Создано: 31 июля 2010 19:36 · Личное сообщение · #22 |
|
Создано: 31 июля 2010 20:50 · Личное сообщение · #23 |
|
Создано: 31 июля 2010 21:01 · Личное сообщение · #24 |
|
Создано: 31 июля 2010 21:06 · Личное сообщение · #25 |
|
Создано: 31 июля 2010 21:59 · Личное сообщение · #26 |
|
Создано: 02 августа 2010 09:21 · Личное сообщение · #27 |
![]() |
eXeL@B —› Вопросы новичков —› Сравнение строк в AnsiString #2 |