| Сейчас на форуме: (+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 Жду ваших ответов!   f1c5_30.07.2010_CRACKLAB.rU.tgz - Crackme #2.exe
![]()  | 
| 
 | 
Создано: 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 | 

 







 Для печати