Сейчас на форуме: (+9 невидимых) |
eXeL@B —› Протекторы —› Декомпилятор ВМ |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 23 . 24 . >> |
Посл.ответ | Сообщение |
|
Создано: 03 марта 2010 12:33 · Личное сообщение · #1 Вашему вниманию предлагаются наработки по декомпиляции ВМ. Проект на сегодняшний день для меня завершен, но жаль если результат "ляжет на полку", может кому-нибудь и пригодится. Предлагаю сначала ознакомиться с обзором, и если будет интерес то могу выложить и сам плагин, или здесь или в личку заинтересованным лицам, каким образом, пока ещё не решил... Но если кто-либо ожидает увидеть "автоматическое чудо", то сразу скажу - его нет. Для того чтобы получить результат нужна ручная предварительная работа: - с исследуемой программы должна быть снята упаковка - точки входа в ВМ находятся вручную - возможно неоднократное "жамкание" клавиш в OllyDbg, а возможно и модификация кода, чтобы попасть в нужное место, в зависимости от защищенной функции - необходимо вручную прицепить к программе требуемый секцию - запись результатов в файл это тоже ручная работа, но уже более приятная Не всё гладко обстоит с определением реализаций ВМ, на сегодняшний день примерно каждая третья реализация автоматом не определяется, приходится под неё модернизировать плагин, т.к. не могу сразу предусмотреть все случаи "издевательств" ВМ с кодом примитивов. Лучше дела с восстановлением "исходного" кода защищенных функций - 70% нормально восстанавливается, хотя во многом это зависит от самой структуры функции. Таким образом, если будет заинтересованность и помощь в нахождении подобных ситуаций, то проект может быть доведен до релизной стадии. ЗЫ: Речь идет об Ореановских машинах. Нигде специально не упоминал. 9c41_03.03.2010_CRACKLAB.rU.tgz - VMSweeperLst.rar ----- Everything is relative... |
|
Создано: 22 февраля 2011 09:38 · Личное сообщение · #2 |
|
Создано: 26 февраля 2011 16:52 · Поправил: Vamit · Личное сообщение · #3 Привожу "правильные" опции ассемблера Ольки при которых создавался и тестировался плагин (выделены опции которые у некоторых пользователей действительно приводили к ошибкам анализа/декомпиляции кода). [Settings] IDEAL disassembling mode=0 Disassemble in lowercase=0 Separate arguments with TAB=0 Extra space between arguments=0 Show default segments=1 Always show memory size=1 NEAR jump modifiers=0 Show local module names=1 Show symbolic addresses=0 Use short form of string commands=0 Use RET instead of RETN=0 SSE size decoding mode=0 Size sensitive mnemonics=1 Top of FPU stack=1 Decode registers for any IP=0 Automatically select register type=0 Decode SSE registers=0 ----- Everything is relative... |
|
Создано: 27 февраля 2011 18:34 · Личное сообщение · #4 Обработаны все присланные программы, претятствия для получения декомпилированного кода устранены... Новая версия VMSweeper v1.4 beta 10 Добавлено: 1. Улучшена разметка полностью затертой IAT. 2. Улучшено распознавание имен API функций. 3. Изменение размера виртуального сегмента под промкод (опция VMS size в ini файле). 4. Отслеживание содержимого памяти и всего стека при создании промкода. 5. Улучшена девиртуализация условных переходов. 6. Анализатор кода распознает ещё два вида кода: чистый и обфускированный. Ранее они находились в группе "Cancelled". 7. Девиртуализация инструкции sub esp без флагов. 8. Обработка входа в ВМ типа call xx (позволяет декомпилировать любой промежуточный вход в ВМ). 9. Автоматический режим анализа кода ВМ. Переход в этот режим осуществляется по запросу после первого рестарта приложения. Код, полученный в этом режиме, может быть хуже кода полученного в ручном режиме ( Ctrl+F2 -> [ F9 ] -> Shift+F1 ), но позволяет быстро проверить возможность декомпилируемости кода. В этом режиме работает только статический анализатор кода. Исправлено: 1. Обработка транзитного (пустого) выхода из ВМ. 2. Устранено исключение при восстановлении соответствия регистров ВМ и CPU. 3. Определение количества аргументов обфускированной функции. 4. Пикод может детектироваться в любом сегменте исследуемой программы. ----- Everything is relative... | Сообщение посчитали полезным: SReg, huckfuck, _ruzmaz_, m0bscene, Nightshade, NikolayD, [Nomad], ClockMan, Gideon Vi, Smon, VodoleY, Yotun, Airenikus, daFix, stub, YDS, demon1232010, DGX, xmss, 4kusNick |
|
Создано: 28 февраля 2011 04:06 · Поправил: Je4Ry · Личное сообщение · #5 |
|
Создано: 01 марта 2011 23:20 · Личное сообщение · #6 Vamit пишет: Привожу "правильные" опции ассемблера хорошо воркает под пропиаренный патч... Vamit пишет: Удаление AntiDump приатачил - "Section a12 final". 8876_01.03.2011_CRACKLAB.rU.tgz - log.log ----- Чтобы юзер в нэте не делал,его всё равно жалко.. |
|
Создано: 02 марта 2011 08:55 · Личное сообщение · #7 |
|
Создано: 02 марта 2011 21:35 · Личное сообщение · #8 |
|
Создано: 02 марта 2011 22:01 · Личное сообщение · #9 |
|
Создано: 16 марта 2011 02:14 · Поправил: Je4Ry · Личное сообщение · #10 |
|
Создано: 28 марта 2011 14:38 · Личное сообщение · #11 |
|
Создано: 28 марта 2011 14:54 · Поправил: DGX · Личное сообщение · #12 |
|
Создано: 17 мая 2011 13:21 · Личное сообщение · #13 Новая версия Добавлено: 1. Обработчики FPU инструкций: fclex, fldcw, fstcw, fldz, fld1, fistp. 2. Окно ввода значений сегментов кода и ВМ теперь имеет три кнопки: - Analyze - начать анализ точек входа в ВМ и восстановление импорта. - Accept - принять введенные значения сегментов без выполнения анализа. - Cancel - выйти не производя никаких изменений. 3. Вывод имен API функций в картах пикода, релоков и вызовов функций. 4. Девиртуализация инструкции add esp, xx 5. Улучшено восстановление частично затертой IAT. 6. Восстановление импорта типа: push reg; call vm -> call [api]. 7. Восстановление импорта типа: push/pop reg; call vm -> mov reg,[api]. 8. Улучшено распознавание точек входа в ВМ. 9. Улучшено распознавание цикла ВМ. Исправлено: 1. Преобразование кода pop xx; jmp xx в retn. 2. Реструктуризация промкода. Пересечения блоков. 3. Устранено несколько исключений при девиртуализации кода. 4. Удаление кода антидампа. ----- Everything is relative... | Сообщение посчитали полезным: Ultras, TrueLies, hlmadip, ClockMan, obfuskator, m0bscene, Gideon Vi, V0ldemAr, zeppe1in, _ruzmaz_, Bronco, Airenikus, NIKOLA, d0wn, BAHEK, Smon, [Nomad], ajax, 4kusNick, daFix, r99, stas_02, uzgate, Sunzer, linhanshi |
|
Создано: 19 июня 2011 12:43 · Личное сообщение · #14 Новая версия Исправлено: 1. Исправлено несколько ошибок в декомпиляторе CodeVirtualizer, внесенных при разработке декомпилятора VMProtect, что позволяет в большинстве случаев (если ВМ успешно распознается) получать 100% исходный код. Это скорее всего последняя сборка сделанная мной, дальнейшая разработка возможна только по индивидуальным заказам или ввиду собственной потребности использования данного продукта. Ушел в продолжение разработки Декомпилятора С++... ----- Everything is relative... | Сообщение посчитали полезным: BAHEK, HandMill, _ruzmaz_, obfuskator, r_e, huckfuck, m0bscene, ClockMan, kioresk, sendersu, NikolayD, Isaev, Gideon Vi, Ultras, 4kusNick, xmss |
|
Создано: 19 июня 2011 15:51 · Личное сообщение · #15 |
|
Создано: 19 июня 2011 15:58 · Личное сообщение · #16 |
|
Создано: 19 июня 2011 16:04 · Личное сообщение · #17 |
|
Создано: 20 июня 2011 09:04 · Личное сообщение · #18 ARCHANGEL пишет: Что делать? Проверить правильность задания границ сегментов кода и вм и повторить анализ. Вообще-то Analyze all VM references не распознает типы вм, а только эвристически находит возможные входы в вм. Если она ничего не нашла, а вы уверены, что это вход в вм, то вставайте на него (обязательно EIP) и давите F1. Сначала идет анализ вм - определение инициализации вм, затем цикла вм, затем идентификация примитивов, затем построение промкода, затем декомпиляция промкода. Если что-либо на этих этапах не так - то всё можно увидеть в соотвествующих файлах или сообщениях. Конкретно в твоем случае, если хочешь, чтобы я глянул и сказал причину нужно сообщить условия анализа - заданные диапазоны адресов, ОЕП и выслать прогу. А ещё лучше, если сам во всем разберешся и сообщишь что в этом-то месте декомпиль ведет себя некорректно, тогда можно рассчитывать что этот случай будет откорректирован в Свипере. ----- Everything is relative... | Сообщение посчитали полезным: ARCHANGEL |
|
Создано: 25 июня 2011 18:51 · Поправил: VodoleY · Личное сообщение · #19 Vamit вернулся к старому проэкту... практически не косячит свипер, прозрел когда он мне поднял код промежуточного входа в ВМ. незнаю как воспримите.. а нельзя ли было бы в свипер добавить еще один функционал. пробег с точки типа ф1 на IP до какого то места (например количество команд) просто деморфом. цены бы не было такой весчи. ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 26 июня 2011 13:26 · Личное сообщение · #20 |
|
Создано: 26 июня 2011 13:56 · Личное сообщение · #21 |
|
Создано: 26 июня 2011 15:57 · Личное сообщение · #22 |
|
Создано: 28 июня 2011 04:30 · Личное сообщение · #23 |
|
Создано: 28 июня 2011 11:48 · Поправил: BoRoV · Личное сообщение · #24 |
|
Создано: 28 июня 2011 13:08 · Личное сообщение · #25 |
|
Создано: 28 июня 2011 14:27 · Поправил: Gideon Vi · Личное сообщение · #26 Joseph_Kerr пишет: VMBox это Oracle, поэтому она лучше варьки в разы там не падает сисер в бсод и норм можно проги трейсить через ольку, ещё хакерам на линуксе там хорошо херачить пора бы уже в процессе регистрации требовать сканы с справок от нарколога и психолога. Можно ещё от венеролога, но могут обвинить, да... | Сообщение посчитали полезным: 4kusNick |
|
Создано: 28 июня 2011 15:00 · Личное сообщение · #27 kioresk пишет: Если используешь VMware, то пока можешь спокойно обходить детект ВМ так Анти-Анти-VMware встроен в VMSweeper,виртуаль бокс детектится множеством способов, читая инфу с биоса поиском соответствующих строк,поиск в процессе VboxService.exe, плюс глюки в выполнении некоторых асм опкодов... ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 28 июня 2011 15:41 · Личное сообщение · #28 |
|
Создано: 30 июня 2011 22:20 · Личное сообщение · #29 |
|
Создано: 01 августа 2011 15:20 · Личное сообщение · #30 Vamit столкнулся с постоянным вылетом olly при анализе. как правивильно обработать этот участок или обойти его хотя бы временно? лог и трейс прикладываю 343d_01.08.2011_EXELAB.rU.tgz - VMS_MetaLang.zip |
|
Создано: 02 августа 2011 10:10 · Личное сообщение · #31 |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 23 . 24 . >> |
eXeL@B —› Протекторы —› Декомпилятор ВМ |