![]() |
eXeL@B —› Вопросы новичков —› Crap'n'Trash KeygenMe |
Посл.ответ | Сообщение |
|
Создано: 02 сентября 2007 21:14 · Личное сообщение · #1 Вот, наваял быстренько... Только для новичков. Сложность: 0,5/10 ![]() ----- iNTERNATiONAL CoDE CReW ![]() |
|
Создано: 03 сентября 2007 18:33 · Личное сообщение · #2 |
|
Создано: 03 сентября 2007 20:50 · Поправил: FrenFolio · Личное сообщение · #3 White Rabbit пишет: Я тут самый новичок. 0,5/10 - это для меня. Этот KeygenMe явно не для новичков! Дело в том, что сам алгоритм именно генерации серийника как раз и составляет такую оценку, однако есть одно большое НО, - файл придется распаковать и причем только вручную! А там аж два пакера, причем скремблированных и защищенных.... Так что с учетом этого общая сложность взлома не менее 4/10. ![]() И кстати, вот тема в основном форуме, где найдешь и распакованный файл. ----- Программист SkyNet ![]() |
|
Создано: 03 сентября 2007 21:14 · Личное сообщение · #4 |
|
Создано: 03 сентября 2007 21:34 · Личное сообщение · #5 White Rabbit пишет: А запускать то его можно? Касперский то зачем ругается? Так Каспёрский реагирует на пакер, запускай не бойся. У меня такая история была: запаковал блокнот аспром, чтобы учиться распаковывать, а Каспёрский на него орать стал , мол вирус. p.s. Самостоятелно пакер не осилил, отладчик ругается. ![]() |
|
Создано: 04 сентября 2007 10:16 · Личное сообщение · #6 |
|
Создано: 04 сентября 2007 11:30 · Личное сообщение · #7 White Rabbit http://www.exelab.ru/f/action=vthread&forum=2&topic=9810 Spirit эту тоже закрой. ----- Я ещё не волшебник, я только учусь... ![]() |
|
Создано: 05 сентября 2007 17:25 · Личное сообщение · #8 Раз ветка "http://www.exelab.ru/f/action=vthread&forum=2&topic=9810 " закрыта, отпишусь здесь. Мой результат saiNT zhpMS Распаковать правильно так и не удалось, ибо еще несилен в этом деле. Респект RSI, его(!) распакованный exe-шник мучил в ольке. Код кейгенератора прилагается: procedure TForm1.btGenerateClick(Sender: TObject); var i, l : integer; begin l := Length(edName.Text); for i := 1 to l do edSerial.Text := edSerial.Text + chr(ord(edName.Text[i]) xor (l - 1) + (4 - 1)); end; Есть просьба, кто удачно и негеморно распаковал отпишите здесь свою концепцию или статейку для начинающих ![]() ![]() |
|
Создано: 05 сентября 2007 20:13 · Личное сообщение · #9 sai_NT пишет: Есть просьба, кто удачно и негеморно распаковал отпишите здесь свою концепцию или статейку для начинающих Да, я тоже присоединяюсь. А что ж такое то. У меня в отладчике вывалилось сообщение, что "Module 'keygenme' has entry point outside the code (as specified in the PE header). Maybe this file is self-extracting or self-modifying. Please keep it in mind when setting breakpoints!" И куда эта EP ушла и зачем. Я, например, просто впервые с таким сталкиваюсь. Нужен примерчик. Нужен пинок. "Трудящиеся" просят. Алгоритм ничто, распаковка всё - OllyDbg, не дай мозгу засохнуть. Даёшь описание!!! ![]() P.S. Если конечно никого не затруднит. ![]() |
|
Создано: 05 сентября 2007 22:26 · Личное сообщение · #10 sai_NT,White Rabbit Ну так, в том топике инфы для распаковки вполне достаточно. ![]() Я описал свой метод распаковки. Однако, он не лучший. Так как я действовал в лоб. RSI предложил более легкий и изящный вариант. Главную сложность однако здесь представляет не сама распаковка, а избавление от мусора. Это явилось действительно оригинальной находкой использующегося здесь UProtector. ![]() Чтобы восстановить истинный код программы, нужно просто затереть циклически повторяющиеся мусорные инструкции, которые просто не позволяют его увидеть. Блок повторения составляет 253 (FD) байта. Загрузи распакованный файл в Ольку и перейди по адресу 401000h + FDh = 4010FDh. Там увидишь 004010FD 6A 00 PUSH 0
Это ничто иное, как первая выполняющаяся инструкция настоящего кода проги! А все остальное лишь мусорные команды, исполняющие "левые" команды и отвлекающие внимание. Дальше, через 253 байта мусора увидим следующее 004011FC E8 11560000 CALL <JMP.&kernel32.GetModuleHandleA>
Это вторая строка настоящей программы. Таким образом, можно восстановить весь код программы. ![]() Чтобы можно было увидеть настоящий код, RSI написал скрипт, который позволяет занопить весь мусор. А дальше же, вручную вписаем все инструкции в порядке очередности на свои места. И уже приступаем, собственно, к изучению самого алгоритма генерации серийника. Как видим, слабым местом является равная длина мусорного кода, и также то, что он одинаковый. Это существенно упрощает задачу. Однако, это тоже не является очевидным. ![]() Вот такая оригинальная защита. ![]() ----- Программист SkyNet ![]() |
|
Создано: 05 сентября 2007 22:43 · Личное сообщение · #11 White Rabbit пишет: "Module 'keygenme' has entry point outside the code (as specified in the PE header). Maybe this file is self-extracting or self-modifying. Please keep it in mind when setting breakpoints!" это может быть еще, если файло распакован, но в хидере остался не правильный адрес секции кода.. ----- invoke OpenFire ![]() |
|
Создано: 05 сентября 2007 23:51 · Личное сообщение · #12 |
|
Создано: 06 сентября 2007 11:43 · Личное сообщение · #13 FrenFolio пишет: Главную сложность однако здесь представляет не сама распаковка, а избавление от мусора. Но прежде чем избавляться от мусора, ведь надо распаковать. Всё таки надо понять суть. А то с распаковкой плохо как то. Надо учиться. Вообщем как я понял, есть 2 способа распаковки и есть некоторые вопросы по распаковке. Способ FrenFolio 1. Дошёл до stub UPX. Снял дамп. Только никаких ресурсов там не нашёл. Искал и в ручную и в Import REConstrucor. Почему? 2. Э... Подскажите, а как поставить hard breakpoint на PUSHAD. Они же вроде как обозначаются hr,hw, только они просят указывать адресса, а не PUSHAD'ы? Способ RSI 1. Скопировать содержимое хидера - это что? 2. И восстановить хидер это как? Вообщем расскажите поподробнее чуток, если можно. Буду очень признателен. Спасибо ![]() |
|
Создано: 06 сентября 2007 20:21 · Поправил: crc1 · Личное сообщение · #14 White Rabbit пишет: как поставить hard breakpoint на PUSHAD Дык у этого PUSHAD' а наверное адрес есть. Вот на него и ставь hr. Ну или встань на эту строку и ставь из контекстного меню White Rabbit пишет:хидера - это что? PE header - заголовок PE файла. Стоя на EP проги выделяешь и бинарно копируешь весь заголовок(в буфер). Потом после того как прот распаковал код проги, бинарно вставляешь из буфера весь заголовок. Многие проты во время распаковки портят заголовок, так называемый антидамп А вообще статейки почитай, вопросов будет меньше ![]() |
|
Создано: 06 сентября 2007 21:17 · Личное сообщение · #15 crc1 пишет: Дык у этого PUSHAD' а наверное адрес есть. Вот на него и ставь hr. Ну или встань на эту строку и ставь из контекстного меню Здесь я вообще-то имел в виду esp trick. ![]() White Rabbit Можно просто набрать в командной строке hr esp-4 А вообще туторы по распаковке покури. Много отличных туторов (на флеше) есть у AORE здесь http://azmoaore.wordpress.com/unpacking-tutorials/ ![]() ----- Программист SkyNet ![]() |
|
Создано: 07 сентября 2007 07:54 · Личное сообщение · #16 FrenFolio пишет: Много отличных туторов (на флеше) есть у AORE здесь ![]() ![]() Но есть конечно и английские. Вообщем спасибо большое. Пойду и нервно покурю в сторонке эти туторы. P.S Не сочтите за оффтоп, но что бы к следующему keygenme'у by Spirit быть подготовленным ![]() Только русско- или англоязычные. ![]() ![]() |
|
Создано: 07 сентября 2007 20:13 · Поправил: FrenFolio · Личное сообщение · #17 White Rabbit пишет: Так как то уж получилось, что я не знаю арабский Ты можешь быть удивлен, но я тоже. ![]() Однако можно понять и без знания языка, - на флеше же. К тому же, некоторые туторы сразу на двух языках, - арабском и английском. White Rabbit пишет: если кто знает, может какие нить ещё ссылочки на туторы по распаковке. Легко. Вот, несколько на вскидку. ![]() --> Link 1<-- http://sinadir.persiangig.com/Site/ENPage.htm - сайт Sina_DiR - туторы на фарси. --> Link 2<-- http://tuts4you.com/download.php?list.11 - сайт Тедди Роджерса (ну очень много!). --> Link 3<-- http://arteam.accessroot.com/tutorials.html - сайт ARTeam. --> Link 4<-- http://www.tlg.astalavista.ms/tutorials/index.htm - сайт TLG, - все туторы на русском (!) + большинство на флеш. ![]() Отдельно советую серию туторов от Anthracene --> Link 5<-- http://tuts4you.com/download.php?list.18 . Достоинством этой серии является подход к изучению материала. Это, пожалуй, одни из немногих туторов где отвечают на вопрос "почему?", а не "сделай как я". Как например, у группы AORE, - туторов очень много, однако половина из пакеров снимается через esp trick... ![]() ----- Программист SkyNet ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Crap'n'Trash KeygenMe |