Сейчас на форуме: bartolomeo (+3 невидимых) |
eXeL@B —› Вопросы новичков —› Ломаем крямикс [нужна помощь!!] |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 15 февраля 2006 22:23 · Личное сообщение · #1 |
|
Создано: 15 февраля 2006 23:22 · Личное сообщение · #2 |
|
Создано: 15 февраля 2006 23:36 · Поправил: Ara · Личное сообщение · #3 |
|
Создано: 16 февраля 2006 00:15 · Поправил: Klajnor · Личное сообщение · #4 Ara пишет: тупой крякми, афтару низачОт ... смотреть дальше влом И всё-же лучше посмотреть =) Ara пишет: Пасс 3878-11DC-2041-2136 - Пасс левый. У меня он вообще другой А прога должна сказать "Спасибо за регистрацию!" и изменить заголовок с "CrackMe v1.0 by v0id - Trial Version" на "CrackMe v1.0 by v0id - Registered Version" Хотя правильный пароль я так и не нашёл =( |
|
Создано: 16 февраля 2006 00:28 · Поправил: Ara · Личное сообщение · #5 Klajnor Ты издеваешься? Написано же - Ara пишет: 3878-11DC точно серийник диска С, вторая половина вроде диска D Есс-но что серийники будут у всех разные. и что значит "Пасс левый. У меня он вообще другой" и "Хотя правильный пароль я так и не нашёл =("?? Ты нашел неправильный пароль и у тебя он не такой какой должен быть? Это обяснимо... |
|
Создано: 16 февраля 2006 00:48 · Поправил: Klajnor · Личное сообщение · #6 |
|
Создано: 16 февраля 2006 14:23 · Личное сообщение · #7 |
|
Создано: 16 февраля 2006 14:43 · Личное сообщение · #8 Ara пишет: Где об этом написано? - нигде, но просто меня смущают такие места в проге: 00404C62 |. 68 604D4000 PUSH 0ba2_Cra.00404D60 ; /Text = "CrackMe v1.0 by v0id - Registered Version" 00404C67 |. A1 48524000 MOV EAX,DWORD PTR DS:[405248] ; | 00404C6C |. 50 PUSH EAX ; |hWnd = 00404D04 00404C6D |. E8 7AD0FFFF CALL 0ba2_Cra.00401CEC ; \SetWindowTextA и 00404D48 . D1 EF E0 F1 E8>ASCII "Спасибо за регис" 00404D58 . F2 F0 E0 F6 E8>ASCII "трацию!",0 Так что вё не настолько просто. Ксатати посмотри, что будет, если занопить тут: 00404C30 |. 74 42 JE SHORT 0ba2_Cra.00404C74 При набранном от балды пароле там какой-то глюк(пытается поменять заголокок, хендл окна какой-то неправильный передается), а при 3878-11DC-2041-2136 ( в твоём случае) заголовок окна меняется |
|
Создано: 16 февраля 2006 16:21 · Поправил: Mordred · Личное сообщение · #9 Крякмис реально для начинающих! я вообще сделал по-тупому: отследил, откуда вызывается MessageBox с ошибкой, поставил туда бряк и ввел серийник от балды -> Олли на бряке стопует, а в стеке прямым текстом лежит правильный серийник. А если чуток проследить, до этого он дважды вызывает GetVolumeInformation, сперва для диска С:, затем для D:, и из них формирует серийник (функция формирования серийника находится по адресу 404968). Короче, имхо сложностей вааще не должно было возникнуть. Если будешь пытаться взломать дальше и возникнут трудности, пиши в личку, помогу. ЗЫ Если не будет лениво, через часок кейген на него выложу |
|
Создано: 16 февраля 2006 20:40 · Личное сообщение · #10 Вот и кейген - бездельем маялся, накатал Если кто еще ломает этот крякми - тестите deec_Keygen.rar.zip |
|
Создано: 16 февраля 2006 20:43 · Поправил: buka · Личное сообщение · #11 Спасибо за советы на счет регномера, но мей целью было то что-бы при вводе любого passworda было сообщение о успешной регистрации. Пытался NOP ить вызов ошибки, но после выскакивает такая муть "Конечно все просто, но не до такой же степени". А откуда он вызывается я чёт не допёр. ВотТак. p/s Keygen gut arbeiten! |
|
Создано: 16 февраля 2006 22:04 · Личное сообщение · #12 Почитал, посмотрел. Конечно с рангом в 451.2 [многоуважаемый ARA ] можно говорить что кряк очень легкий. А вот когда у тебя ранг на 2.8, а реального опыта и еще меньше то в таком случае кряк тебе не покажется детской забавой. И не сочтите за грубость, просто мне важен не сам результат [один говорит пароль такой то, другой нет он не такой а вот какой ], а так сказать алгоритм его нахождения. Просто новичкам не понять как ВЫ мыслите. Им важно самим понять, а не действовать по принципу "делай как я и будет тебе счастье". Возможно [скорее всего] это придет со временем. P/S Даже после слов "Пасс валяется в памяти в открытом виде" я его к сожалению не нашел. :s15 |
|
Создано: 16 февраля 2006 22:13 · Поправил: Mordred · Личное сообщение · #13 buka Я сильно подробно прогу не копал, но там явно сперва прога переписывает свою собственную память, т.е. перемещает функции, а потом их вызывает => проблемы с отладкой. Завтра еще подробнее её гляну, а пока совет - попробуй найти, откуда берется перемещаемый код и уже в нём делать изменения. Если же он зашифрован, и перед перемещением расшифровывается, то проще тогда патчить на лету. |
|
Создано: 16 февраля 2006 22:18 · Личное сообщение · #14 |
|
Создано: 17 февраля 2006 16:02 · Личное сообщение · #15 Ara пишет: И пофигу до "перемещений функций" (я хз что это такое), я их не заметил. Значит невнимательно смотрел. В ольке у меня программный бряк на GetWindowTextA и MessageBoxA в самом начале проги вааще не срабатывали, т.к. этого кода еще нет, их есть смысл ставить тока уже после создания главного окна. Впрочем, крякмис всё равно примитивный, но не забывай, это ж вопросы новичков, а не основной форум. |
|
Создано: 17 февраля 2006 18:34 · Личное сообщение · #16 |
|
Создано: 17 февраля 2006 19:23 · Поправил: buka · Личное сообщение · #17 О чудо-расчудесное. Узрел я правильный серийник. Ищущий да найдет. Остался один вопросик. Можно поподробнее о GetWindowTextA. + я в начале писал о том что первоночальная цель это что бы при любом serial'e был так сказать OK p/s если есть кто так же мается с этим крямиксом пишите, по пальцам покажу куда надо смотреть |
|
Создано: 17 февраля 2006 19:25 · Личное сообщение · #18 buka Блин, я непойму, чем ты недоволен??? Тебе плохо объяснили???Ara пишет: Тупой бряк на GetWindowTextA и по возвращению в код проги пасс лежит в стеке . Объяснили, как этот пасс генерится. Иди читай статьи, а потом возмущайся, переписывать сюда статьи нет никакого прока. Или ты ждал объяснений типа "открываем прогу в оле, жмем Ф8, потом два раза Ф7 и т.п......"?? |
|
Создано: 17 февраля 2006 19:43 · Поправил: buka · Личное сообщение · #19 |
|
Создано: 17 февраля 2006 21:25 · Личное сообщение · #20 На основе вышеизложенных ответов ниже выложена мини-статья. Спасибо всем за помощь. Мини статья. Инструменты: для новичков [таких как я] понятнее будет OllyDbg. Можно пытаться прерваться на ошибке [bpx MessageBoxA] но результату [по крайней мере у меня «0»]. Можно за NOP‘ить прыг на ошибку но потом выскакивает сообщение «Конечно все просто, но не до такой же степени ». Далее доломать у меня не хватило опыту. Поэтому нам ничего не остается как последовать совету Ar’ы и поставить bp GetWindowTextA. В стеке [нижнее правое окошко в Olly] чуть ниже видим сначала метку[или как она там называется] диска D:\, потом диска C:\, все вместе это и есть ключ. Например: 0012F99C 001595A8 ASCII "Enter Serial Number" 0012F9A0 00159650 ASCII "D:\" 0012F9A4 0015AE00 ASCII "881C-91BA" 0012F9A8 00159548 ASCII "C:\" 0012F9AC 00159620 ASCII "5CE9-C48F" 0012F9B0 00000000 0012F9B4 00159570 ASCII "5CE9-C48F-881C-91BA" Действительно все просто. buka пишет: Можно поподробнее о GetWindowTextA |
|
Создано: 18 февраля 2006 07:16 · Личное сообщение · #21 Функция GetWindowText Описание: function GetWindowText(Wnd: HWnd; Str: PChar; MaxCount: Integer): Integer; Копиpует в Str заголовок окна или текст оpгана упpавления. Паpаметpы: Wnd: Идентификатоp окна или оpгана упpавления. Str: Буфеp, пpинимающий стpоку. MaxCount: Размеp буфеpа Str. Возвpащаемое значение: Фактическое число скопиpованных байт или 0, если текст отсутствует. функция находится в файле user32.dll А вообще пользуйся MSDN'ом, лучше документации по апишкам пока не придумали |
|
Создано: 18 февраля 2006 15:01 · Личное сообщение · #22 |
|
Создано: 18 февраля 2006 15:04 · Личное сообщение · #23 |
|
Создано: 18 февраля 2006 15:19 · Личное сообщение · #24 Ara пишет: Я просто запустил прогу и приаттачился к процессу олькой. Только что поробовал повторить. Оля приаатачилась к модулю kernel32 по такому коду: 7C90122C 90 NOP
И окно "Intermodular calls" содержит только вызовы кернела, и попытки потрассировать ничего не дали. Может у меня дело в настройках оли? |
|
Создано: 18 февраля 2006 15:24 · Личное сообщение · #25 |
|
Создано: 18 февраля 2006 15:38 · Личное сообщение · #26 |
|
Создано: 18 февраля 2006 16:03 · Личное сообщение · #27 |
|
Создано: 18 февраля 2006 18:27 · Личное сообщение · #28 |
|
Создано: 19 февраля 2006 18:04 · Личное сообщение · #29 прикольно.... тока что посмотрел... =) всё конечно просто... но новичка с патчем может поставить в тупик...
доходим до 00404C1C |. FF15 E8664000 CALL DWORD PTR DS:[4066E8] видим в стеке такую гадость:
вот это нам и нужно ThreadFunction = UNPACKED.00404AD0 это адресс функции которая будет выполняться в отдельном потоке... идём туда....
----- [nice coder and reverser] |
|
Создано: 19 февраля 2006 21:06 · Личное сообщение · #30 Hellspawn пишет: вот это нам и нужно ThreadFunction = UNPACKED.00404AD0 это адресс функции которая будет выполняться в отдельном потоке... идём туда.... А по подобней как нибудь можно. PLS. По каким призникам ты определил что в отдельном потоке, и что это именно здесь, и что такое ThreadFunction. Ну в общем чуточку поподробнее пожалуйста! |
. 1 . 2 . >> |
eXeL@B —› Вопросы новичков —› Ломаем крямикс [нужна помощь!!] |
Эта тема закрыта. Ответы больше не принимаются. |