![]() |
eXeL@B —› Вопросы новичков —› 2nd level crackme_asm |
Посл.ответ | Сообщение |
|
Создано: 16 июля 2007 22:32 · Личное сообщение · #1 скачал с crackmes.de... гружу эт дело в Иду и та часть кода, которая исполняется определяется как данные... ... .text:00402E68 dd 78C0FC0h, 0F000000h, 18Dh, 0CF0F4A00h, 1EBCF0Fh, 0F5850F2h .text:00402E68 dd 0FFFE2380h, 1D810FFFh, 50FFFFFEh, 1E8h, 1E83200h, 0A8000000h .text:00402E68 dd 4244483h, 24048312h, 0E908C30Ah, 0FFFFFEE2h, 3D2B931Eh .text:00402E68 dd 37DD3732h, 1E68406Ah, 68004050h, 405034h, 0E80875FFh .text:00402E68 dd 590h, 406A36EBh, 40501E68h, 50266800h, 75FF0040h, 57AE808h .text:00402E68 dd 20EB0000h .text:004031D8 #здесь уже код а дебаггер грит что по адресу 4031D7 есть условный переход( вобщем нужно помочь заставить ИДУ передумать по поводу этого места. Ну или если это вовсе и не требуется предложить что-нибудь более умное))) солв крякмиса просьба не кидать))) ![]() ----- Researcher ![]() |
|
Создано: 17 июля 2007 07:21 · Личное сообщение · #2 |
|
Создано: 17 июля 2007 07:27 · Поправил: Sturgeon · Личное сообщение · #3 |
|
Создано: 17 июля 2007 13:46 · Личное сообщение · #4 |
|
Создано: 17 июля 2007 14:56 · Личное сообщение · #5 overwriter Это тебе для перексрестных ссылок? В Оле есть такой поиск. Правой кнопкой по интересующей тебя команде Find references to->Selected command. З.Ы. Про книги вот топик. Рабочие или нет там ссылки не проверял. http://www.exelab.ru/f/action=vthread&forum=1&topic=591 ![]() |
|
Создано: 17 июля 2007 19:17 · Личное сообщение · #6 |
|
Создано: 31 июля 2007 12:11 · Личное сообщение · #7 |
|
Создано: 31 июля 2007 13:57 · Личное сообщение · #8 |
|
Создано: 01 августа 2007 10:25 · Личное сообщение · #9 |
|
Создано: 02 августа 2007 09:24 · Личное сообщение · #10 Я смотрел на эту лабуду. Там просто после каждой инструкции (почти) лежит один левый байтик ![]() ![]() ![]() |
|
Создано: 02 августа 2007 09:55 · Личное сообщение · #11 Мне кажется на прямую увидеть весь код не получится. Посудите сами, Вот так должно быть: 004011f1 e801000000 call image00400000+0x11f7 (004011f7)
Когда дизасмишь с адреса 004011f1, то на следующем адресе видишь вот что: 004011f6 eae80100000008 jmp 0800:000001E8
А если дизасмить с адреса 004011f7, с которого и будет дальше продолжаться выполнение кода, то получится совсем другая инструкция. Т.е наш левый байт "еа" превращает последующие байты в левую инструкцию, которая всё равно не будет выполняться. Имхо предугадать следующие действия сложновато. Интересно, а кому не лень было такое писать? ![]() ![]() |
|
Создано: 02 августа 2007 11:13 · Личное сообщение · #12 SeaMan пишет: Мне кажется на прямую увидеть весь код не получится А оно и не надо. Я взломал так: После того как открыл файл в Оле Ищешь строки "Correct serial"
Нажимаешь Ctrl+A и быстренько "пробел". Выделяешь строку 4031АС. Правой кнопкой Find references to->Selected command. Исмотришь откуда идет переход на сообщение о правильном номере. ![]() |
|
Создано: 02 августа 2007 11:33 · Личное сообщение · #13 Sturgeon Круто! В принципе смысл понятен. Но у меня это не пролезет. Я пользуюсь WinDbg и ещё не очень его хорошо знаю ![]() А откуда ты в этом примере знал что должен быть текст "Correct serial"? Или автор об этом написал? Я имею ввиду что там могло бы быть всё что угодно написанно. Но так как там всё равно это лежит открыто, то само нахождение сериала становится не интересным. А вот сам программный код прикольно составлен. Только кто ж в своих программах будет такое применять ![]() ![]() |
|
Создано: 02 августа 2007 12:03 · Личное сообщение · #14 SeaMan пишет: Я пользуюсь WinDbg А почему не Олей? Дело конечно твое, но по-моему Оля гораздо приятней и удобней. И все последние туторы именно под нее и пишутся. Про WinDbg ничего не могу подсказать, так как пользуюсь тольео Олькой. Про поиск строки ничего сложного нет. В той же Оле выбираешь "найти все строки" и увидишь эту строку, благо там немного строчек. Либо, можешь найти строку "Wrong serial". Она точно должна быть, автор об этом написал;). Попадешь на код вывода "плохого" сообщения. А чуть выше увидишь код вывода "хорошего". Чтобы узнать откуда этот код (хорошего сообщения) вызывается надо предпринять те действия, о которых я уже написал. Т.е. правой кнопкой Find references to->Selected command. Единственная заморочка это то, что из-за мусора код неправильно проанализирован и ты даже бряк на строку не сможешь поставить. Вот для этого мы и "переанализируем" код с помощью Ctrl+A. ![]() |
|
Создано: 02 августа 2007 13:18 · Личное сообщение · #15 Sturgeon WinDbg я пользуюсь потому что есть версия которая работает под Windows Vista 64-бит а с Ole как я слышал по этому поводу много проблем. Я раньше пользовался SoftIce'ом пока на 98-ых работал. Он мне больше нравился из за 0-го гольца. Потом появился Windows XP, в нём он уже не работал. Сейчас конечно есть уже новые версии которые без проблем работают под ХР но тогда небыло. В WinDbg вроде тоже есть возможность работать в 0-ом кольце используя 2 компа, но я пока мись ещё не доконца разобрался как оно работает (с англицким туговато а описание на русском не могу найти) ![]() Sturgeon пишет: Вот для этого мы и "переанализируем" код с помощью Ctrl+A Теперь понял. Там типа можно выбрать машинный код или место указать с которого оля должна "переанализировать или дизасмить с этого места" и тогда мы увидим правильную инструкцию. Тока мне кажется что всё равно заморочка. Ведь в вышеуказанном примере следующая инструкция тоже неправильно дизасмится. А таких там куча! Надо будет как нить с олей попробовать тоже, чтоб было ясно о чём народ говарит ![]() ![]() |
|
Создано: 02 августа 2007 18:30 · Личное сообщение · #16 Блин, не могу понять в чём тут трудности - серийник то тут лежит в открытом виде. Вот я пропатчил сам крякмис, и вуаля - кейген =) ![]() ----- все багрепорты - в личные сообщения ![]() |
|
Создано: 02 августа 2007 18:55 · Личное сообщение · #17 |
|
Создано: 03 августа 2007 13:35 · Личное сообщение · #18 HandMill Спасибо за пропадченный крякмис. Но как уже сказал Sturgeon, вопрос был не про то как найти серийник. Это я между делом просто спросил как Sturgeon его нашёл. Кому нужны серийники для крякмисов? Какой толк о крякмиса, если зарание знаешь серийник (разве что для сравнения, какими будут действия программы, если серийник был правильно введён)? Это всё равно, что играть в игру с читами. Движение есть, прогресса нет! ![]() Кстати как я понял что то что спросил overwriter невозможно, что и требовалось доказать. Я с идой не работал, но мне кажется он всё таки такие чудеса с засорённым кодом делать не может. Поправте меня если я неправ. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› 2nd level crackme_asm |