Сейчас на форуме: (+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... |
|
Создано: 09 августа 2014 14:50 · Личное сообщение · #2 |
|
Создано: 10 августа 2014 17:03 · Личное сообщение · #3 |
|
Создано: 10 августа 2014 21:59 · Личное сообщение · #4 |
|
Создано: 21 августа 2014 00:12 · Личное сообщение · #5 Vamit подскажите, до этого уже упоминалось как правильно допилить вход в вм, чтобы плагин его начал распознавать? Ситуация такая - на нормальном варианте код выглядел так push 24AA2BAAh push 0D4434C41h pushad манипуляция с esi и наконец уже чтение пикода. В "нехорошем" варианте Code:
Проблема в том что код замусорен и полагаю из-за этого плагин не находит верное место для работы. Так вот, есть ли какой-то шаблон как должен выглядеть код чтобы плагин нашел необходимые ему команды\данные для работы. |
|
Создано: 21 августа 2014 10:03 · Поправил: Vamit · Личное сообщение · #6 neprovad пишет: Так вот, есть ли какой-то шаблон как должен выглядеть код чтобы плагин нашел необходимые ему команды\данные для работы. Шаблона нет, есть несколько определенных признаков распознавания типа вм и входа в неё. Читай статью Protect&Sweeper, там это есть... ----- Everything is relative... | Сообщение посчитали полезным: neprovad |
|
Создано: 14 ноября 2014 14:12 · Поправил: Vamit · Личное сообщение · #7 Вот пришло время вернуться к этой теме... Попался файл накрытый последним вмпротом, на нем не срабатывает защита свипера AntiAntiDebug. Её код я брал из Фантома. До ЕП олька не доходит - говорит что обнаружен дебагер. Пытался декомпильнуть TLS, на нем свипер останавливается только 1 раз при первом заходе, начинает создание промкода и усё, при перезапуске приложения останова на TLS уже нет... Прошу помочь решить эту проблему с доработкой Свипера. Да, забыл добавить, ни Стронгом, ни Фантомом мне не удалось запустить этот файл в Ольке, может я юзаю старые версии? Фантом 1.54, Стронг 0.4.5.810 - давно ими не пользовался, защиты Свипера всегда хватало... ----- Everything is relative... |
|
Создано: 14 ноября 2014 15:03 · Личное сообщение · #8 |
|
Создано: 14 ноября 2014 15:38 · Личное сообщение · #9 Vamit пишет: может я юзаю старые версии? Фантом 1.54, Стронг 0.4.5.810 | Сообщение посчитали полезным: Vamit |
|
Создано: 14 ноября 2014 15:44 · Личное сообщение · #10 |
|
Создано: 14 ноября 2014 15:52 · Поправил: Vamit · Личное сообщение · #11 |
|
Создано: 14 ноября 2014 15:53 · Личное сообщение · #12 Vamit зачем переходить на личности Если не приват то скинь мне )))) ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. | Сообщение посчитали полезным: Vamit |
|
Создано: 15 ноября 2014 01:10 · Личное сообщение · #13 В общем такая штука, в TLS вмпрот ловит дебагер (каким образом пока неизвестно, ни Стронг, ни Фантом не помогают), затем в первой своей вм, которой накрыт ОЕП, прога терминирует. Колбак на TLS естественно виртуализован протом. Простое решение предложил r99 (особая ему благодарность за это) - обнулить колбак (всё гениальное просто ). И что интересно такая прога полностью функционирует как под дебагером так и без него, прога TLS не юзает (компилятор VS 2012), а вмпрот и не вспомнил что его нет - облажались тут они . Свипер, конечно, я не доработал, т.к. колбак не декомпилится, вот когда гуру Фантома или Стронга найдут решение тогда и можно будет добавить это в Свипер. Благодарю всех откликнувшихся ----- Everything is relative... | Сообщение посчитали полезным: VodoleY, 4kusNick |
|
Создано: 16 ноября 2014 04:31 · Личное сообщение · #14 У меня с фантомом и стронгод ловится на первом же IsDebuggerPresent. На TLS стронг не хочет делать остановку. В итоге вручную обошел все это - в стронге делаем Break on Ldr. После чего ловим два бряка в ntdll. Далее ставим бряк на IsDebuggerPresent, CheckRemoteDebuggerPresent... Итог (на всякий случай ОС Windows 7 Home x64): 1. IsDebuggerPresent() - нас поймали! (фикс вручную) 2. CheckRemoteDebuggerPresent() - нас поймали! (фикс вручную) 3. Установка SEH обработчика 0xFAAC75 4. CloseHandle(0xDEADC0DE) - нас поймали! 5. Восстановление SEH 6. 5 раз CheckIfModuleExist() для модулей sice.sys, siwvid.sys, ntice.sys, iceext.sys, syser.sys (нас мало интересует) 7. NtQueryInformationProcess(-1, ProcessDebugObjectHandle, &hDebugObject, 4, NULL) - нас поймали! (фикс вручную) Как проэмулировать исключение на CloseHandle вручную - фиг знает. После 7-ого пункта нас ловят. Плагины фактически не работают ни один. Добавлено спустя 46 минут Прогнал на VirtualBox с Windows XP - все ок! Фантом работает и связка фантом+стронг тоже работает. Программа нормально доходит до EP. | Сообщение посчитали полезным: Vamit |
|
Создано: 16 ноября 2014 07:28 · Поправил: ClockMan · Личное сообщение · #15 Интересное кино,СALLBACK 00FAC5BC 01794B0C 00FAC5C0 005B7B10 00FAC5C4 00000000 а теперь вопрос СALLBACK адреса могут исполнятся как цепочка? если по адресу 00FAC5C4 поставить скажем 00400000 то и на этот адрес произойдёт переход выполнения , чё то не разу на такое не обращал внимания тогда не удевительно что TLS не ловится........ в мануале от мелкомягких не хрена об этом не описано...... Добавлено спустя -43 минут ClockMan пишет: в мануале от мелкомягких не хрена об этом не описано..... Ступил, СALLBACK может представлять массив адрессов которые будут вызыватся поочерёдно, нулевой адресс в масиве озночает его конец. Добавлено спустя -27 минут Vamit пишет: а вмпрот и не вспомнил что его нет - облажались тут они почву прощупывает ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 16 ноября 2014 11:29 · Личное сообщение · #16 |
|
Создано: 16 ноября 2014 12:58 · Личное сообщение · #17 |
|
Создано: 16 ноября 2014 20:57 · Личное сообщение · #18 Hellspawn пишет: поправил фантик, А где можно скачать? В топике "PhantOm plugin" его нет... | Сообщение посчитали полезным: Jaa, tihiy_grom, CyberGod |
|
Создано: 17 ноября 2014 11:34 · Личное сообщение · #19 |
|
Создано: 17 ноября 2014 12:11 · Личное сообщение · #20 |
|
Создано: 17 ноября 2014 12:25 · Личное сообщение · #21 |
|
Создано: 17 ноября 2014 12:40 · Личное сообщение · #22 |
|
Создано: 17 ноября 2014 12:46 · Личное сообщение · #23 |
|
Создано: 17 ноября 2014 13:14 · Личное сообщение · #24 Hellspawn пишет: так на x64 все еще не понятен детект как только так сразу. А что непонятно? Читай мой пост выше - банальный PEB фантом не ловит. Может он не понимает, что уже пора работать? Ты же инжект делаешь, чтобы либы хучить. А что является событием для того, чтобы это сделать? Может просто TLS Callback не обрабатывается? StrongOD тоже не ловит бряк на TLS Callback ("Break On Tls"). Я смог отладить код только после того, как выставил флаг "Break On Ldr". Короче есть мнение, что на 64-битной ОС API по-другому работают. |
|
Создано: 17 ноября 2014 14:23 · Личное сообщение · #25 |
|
Создано: 17 ноября 2014 14:56 · Личное сообщение · #26 |
|
Создано: 17 ноября 2014 15:08 · Личное сообщение · #27 |
|
Создано: 17 ноября 2014 18:40 · Личное сообщение · #28 |
|
Создано: 17 ноября 2014 20:31 · Личное сообщение · #29 reversecode пишет: на 10 странице VMSweeper вспоминают Пусть хоть сколько угодно вспоминают. Деобфускация невозможна. И вброс "Eq" тоже понятен - типа эквивалентные алгоритмы. Опять же, фраза "все хрень, мы сделали круче". А как же алгоритмическая неразрешимость проблемы эквивалентности алгоритмов? "Works well on about of 30% of virtualized samples" Интересно, кто статистику собирал? |
|
Создано: 19 ноября 2014 14:34 · Личное сообщение · #30 |
|
Создано: 01 декабря 2014 19:40 · Личное сообщение · #31 "Деобфускация невозможна" только для сферических коней в вакууме. То, что сегодня невозможно, завтра -возможно. |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 23 . 24 . >> |
eXeL@B —› Протекторы —› Декомпилятор ВМ |