Сейчас на форуме: _MBK_ (+7 невидимых) |
![]() |
eXeL@B —› Основной форум —› Помогите найти OEP (ExeCryptor) |
<< . 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 25 июля 2007 11:09 · Личное сообщение · #1 Доброго времени суток, ув. знатоки! Падаю перед вами на коленочки и очень сильно прошу помочь с распаковкой проги упакованой бякой под названием EXECryptor. По туториалам удалось восстановить импорт, но к сожалению не удалось разобраться как дойти до OEP. Вернее скорее всего я до него доходил, но не сумел понять что это он ибо похоже, что байты скрадены. Ссылка на прогу на разных обменниках: slil.ru/24663145 rapidshare.com/files/44899776/TradeBot.rar.html ifolder.ru/2782974 Размер файла 1,1 метра. PS: Если все же кто-то будет смотреть её, то может глянет хоть одним глазком какой алгоритм шифрации пакетов там используется? Верно ли мое предположение, что там BlowFish? Собственно конечной целью является не взлом программы, а выяснение алгоритма шифрации, но это я уже сам скорее всего смогу сделать. ![]() |
|
Создано: 29 июля 2007 14:54 · Личное сообщение · #2 ![]() kioresk пишет: эти секции должны быть не проинициализированы, т.е. сдамплены сразу после их заполнения и исправления адресов криптором. Иначе из-за отличий в адресах API-функций распакованный файл не будет работать на других системах. Ну это мы как то без тебя выяснили читай выше ![]() ![]() |
|
Создано: 30 июля 2007 10:45 · Личное сообщение · #3 |
|
Создано: 30 июля 2007 11:13 · Личное сообщение · #4 RSI Да. Если не сложно. Я все сделал как завещал kioresk, но все равно ловлю Access Violation pavka Распиши подробнее если не сложно что такое метаморф Пробовал искать по форуму, но инфы совсем мало ![]() kioresk Спасибо большое. Очень подробно и очень наглядно. Все сделал как ты сказал, даже не забыл исправить ImageBase и Number of Section. Добавил третью секцию и исправил вторую в распакованный RSI файл и все равно есть проблемы в конечном экзешнике. Кстати попутный вопрос. А зачем отключать все Exceptions? Если их все отключить, то очень конкретно напрягает раз по 100 тыкать на F9 пока дойдешь до нужного места... ![]() |
|
Создано: 30 июля 2007 11:46 · Личное сообщение · #5 pavka, не пойму, чем тебе этот мусор мешает, откуда к нему такой интерес? Антиотладку и восстановление импорта KaGra, Pnluck и Haggar давно описали. Реестровый триал также известен. С OEP можно вообще не заморачиваться. Ну утащил он часть кода в свою секцию, видоизменил его — но код ведь как работал, так и работает. Уже не раз обсуждалось, но имхо большинство защищенных криптором программ стоят менее 200 долларов. Врядли кто-либо станет из-за таких денег заморачиваться анализатором и паттернами только для того, чтобы восстановить код, который и так работает. Trinok, Пардон, неточно выразился. Под отключением подразумевал отмечание всех исключений галками, чтобы на них не останавливаться. Выложи полный текст ошибки, там указаны адреса где происходит ошибка и при обращении к какому участку памяти. ![]() |
|
Создано: 30 июля 2007 12:20 · Личное сообщение · #6 kioresk Делаю как ты сказал. Далее с помощью PETool--> Dump Partial Start: 0074B000 End: 007BB000 Сохраняю в файл Poly3.dmp То же самое для второй секции Start: 0063D000 End: 00648000 Сохраняю в файл Poly2.dmp Открываю распакованый RSI файл в CFF Explorer Далее: Section Headers--> Add section (File Data)--> Poly3.dmp Удаляю .reloc Delete Section (Header And Data) Section Headers--> Add section (File Data)--> Poly2.dmp Затем Rebuild Image Size и Rebuild PE Header Сохраняю. Запускаю. Ввожу любые логин и пароль жму OK Получаю сообщение External Exception 8000003 и через пару секунд Access Violation at adress 0049ED13 in module 'unpacked_1.exe'. Read of address 00000057 ![]() |
|
Создано: 30 июля 2007 12:45 · Личное сообщение · #7 Кстати для новичков есть отличный и универсальный способ для нахождения вм оеп 1) скрываем ольку плагинами и хайдером 2) запускаем прожку, снимаем бряк с entrypoint 3) ставим бряк на запись в ресурсы 4) после срабатывания бряка ставим бряк на доступ в секцию кода 5) после срабатывания ставим бряк на esp-4, который предварительно смотрим в любой другой прожке, но не в тлс криптора ;) 6) после срабатывания бряка и выравнивания стека до начального - записываем состояние регистров и выбрав любое свободное место в файле прописываем туда их состояния, затем джамп на тот код где сработал бряк с выровненным значением стека, ну и далее восстановление импорта соответственно... Да, затем после распаковки можно убить потоки проверки целостности файла, которые иногда создаются на вм оеп (обычно их 2) поставив бряки на CreateThread и определив адреса этих потоков по параметрам в стеке, соответственно изменив первый байт по этим адресам на ret, ну и соответственно не забыть обнулить в дампе dword по адресу tls callback (который можно посмотреть в PE_Tools'е) Сей способ для новичков, знаю что регистры можно не выставлять, просто не все новички найдут реал vm oep, а по этому способу проще, посему pavka,r99,RSI и прочим криптороубивцам помидорами в меня не кидаться ![]() ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels ![]() |
|
Создано: 30 июля 2007 12:47 · Личное сообщение · #8 |
|
Создано: 30 июля 2007 13:08 · Личное сообщение · #9 kioresk пишет: не пойму, чем тебе этот мусор мешает, откуда к нему такой интерес? Ну вообще то это не мусор или не совсем мусор а иногда и в перемешку с важными кусками кода ;) Грамотно поставленый криптор и все старания мимо денег ![]() Антиотладку и восстановление импорта KaGra, Pnluck и Haggar давно описали. Реестровый триал также известен. С OEP можно вообще не заморачиваться. Ну утащил он часть кода в свою секцию, видоизменил его — но код ведь как работал, так и работает. Топикстартер хочет исследовать алго какой смысл для него в распаковке мог и бы и так исследовать.. Smon пишет: которые иногда создаются на вм оеп Хм ...После EP и до входа в код проги потоки не создаются ![]() ![]() |
|
Создано: 30 июля 2007 13:19 · Личное сообщение · #10 pavka ну тогда интересно почему прожка уже после дампа (секции распакованы, импорт обработан, вм оеп без правки регистров, стек в норме) - и вылетают два окошка с crc ? ) пробовал на болванке и на crazy minesweeper'е - резалт одинаков. Разве криптор восстанавливает стек задолго до oep и еще до создания тредов ? ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels ![]() |
|
Создано: 30 июля 2007 13:35 · Личное сообщение · #11 |
|
Создано: 30 июля 2007 13:42 · Поправил: pavka · Личное сообщение · #12 ![]() ![]() Посмотрел точно не чекает ;)эти треды только до EP и в прцессе инициализации ![]() |
|
Создано: 30 июля 2007 14:07 · Личное сообщение · #13 Smon пишет: ну тогда интересно почему прожка уже после дампа (секции распакованы, импорт обработан, вм оеп без правки регистров, стек в норме) - и вылетают два окошка с crc ? ) Потому, как эти проверки идут в параллельных потоках криптора, отодрать который полностью практически невозможно. ИМХО, но распаковка криптора, если в итоге не отлетает триал - пустое это все. Патчить нужно. ![]() |
|
Создано: 30 июля 2007 15:02 · Поправил: Smon · Личное сообщение · #14 pavka пишет: треды только до EP и в прцессе инициализации ну так в процессе инициализации то есть, значит уже после oep, сталобыть мы говорим об одном и том же , о том что треды инициализируются в vm oep ![]() YDS пишет: Потому, как эти проверки идут в параллельных потоках криптора, отодрать который полностью практически невозможно. я о уже сдампленной и распакованной проге , а не о отлаживаемой ![]() А по поводу триала - это вообще лучший вариант, задача поиска места патча - нетривиальна, но наличие более старых версий или версий под другими протами её реально облегчают ![]() ЗЫ: Давно новостей нет, надеюсь криптор пошёл по пути аспра ![]() ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels ![]() |
|
Создано: 30 июля 2007 15:18 · Личное сообщение · #15 YDS пишет: если в итоге не отлетает триал - пустое это все. Патчить нужно. Все зависит от програмера ;) если триал криптора и в отдельных потоках проверяется какая проблема вовремя вывести поток ;) да и саму проверку где криптор считывает ключи поймать на раз, два Хуже если програмер не дурак а сделал свою проверку да еще обкрутил это дело метаморфом ... Ну и все же удобней ковырять прогу распакованую ![]() ![]() |
|
Создано: 30 июля 2007 16:22 · Личное сообщение · #16 Smon пишет: Потому, как эти проверки идут в параллельных потоках криптора, отодрать который полностью практически невозможно. я о уже сдампленной и распакованной проге , а не о отлаживаемой Так и я об ней же ![]() Smon пишет: ЗЫ: Давно новостей нет, надеюсь криптор пошёл по пути аспра Туда ему и дорога ![]() pavka пишет: да и саму проверку где криптор считывает ключи поймать на раз, два Поймать, где считывает ключи может и можно, но найти, как ее пофиксить "на раз-два" сильно сомневаюсь, что получится, т.к. этот код (в тех прогах, что мне попадались), всегда был обфусцирован. ![]() |
|
Создано: 30 июля 2007 16:44 · Личное сообщение · #17 |
|
Создано: 30 июля 2007 19:45 · Личное сообщение · #18 kioresk Сделал как ты сказал. Сдампил и с помощью FlexHex заменил .reloc на сдампленную. С помощью CFF Explorer добавил poly3: 0074B000 — 007BB000 bneemfco. Все равно неприятности ![]() Запускаю прогу ввожу логин + пасс и жму OK Access Violation at adress 0049ED13 in module 'unpacked_1.exe'. Read of address 00000057 Вот тут на всякий то, что у меня получилось ![]() ifolder.ru/2843991 И тут тоже rapidshare.com/files/45963296/unpacked_2.rar.html Размер 1 метр ![]() |
|
Создано: 30 июля 2007 23:13 · Поправил: RSI · Личное сообщение · #19 |
|
Создано: 31 июля 2007 10:59 · Поправил: kioresk · Личное сообщение · #20 RSI, В предыдущем и в этом варианте ошибка происходит, т.к. OEP не полностью восстановлен. Сравни сколько занимает код оригинального OEP, спертого криптором, и восстановленный код (с учетом строки): 1. 4A97A0 — 4A9824 = 84 байт (оригинальный OEP спертый криптором)
Trinok, Попробуй в распакованном r99 файле заменить 2-ю и 3-ю секции (poly2 и poly3). Если все равно будут ошибки — оставляй крипторовский OEP или восстанавливай оригинальный (основную работу RSI уже все равно сделал). ![]() |
|
Создано: 31 июля 2007 13:45 · Личное сообщение · #21 |
|
Создано: 31 июля 2007 17:06 · Личное сообщение · #22 |
|
Создано: 31 июля 2007 17:34 · Личное сообщение · #23 kioresk пишет: Я бегло посмотрел, может еще чего не заметил Хм ...видимо как и топик и при этом ты умудрился скачать распакованые файлы всех участников этого топика kioresk пишет: Если все равно будут ошибки — оставляй крипторовский OEP или восстанавливай оригинальный Поясни пожалуйста этот перл мудрости.. ![]() ![]() |
|
Создано: 31 июля 2007 22:50 · Поправил: r99 · Личное сообщение · #24 |
|
Создано: 01 августа 2007 03:16 · Личное сообщение · #25 |
|
Создано: 01 августа 2007 05:16 · Личное сообщение · #26 |
|
Создано: 01 августа 2007 16:25 · Поправил: r99 · Личное сообщение · #27 |
|
Создано: 01 августа 2007 16:34 · Личное сообщение · #28 |
|
Создано: 01 августа 2007 18:56 · Личное сообщение · #29 |
|
Создано: 01 августа 2007 21:52 · Поправил: r99 · Личное сообщение · #30 |
|
Создано: 02 августа 2007 04:46 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . >> |
![]() |
eXeL@B —› Основной форум —› Помогите найти OEP (ExeCryptor) |