Сейчас на форуме: (+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... |
|
Создано: 29 декабря 2014 16:03 · Поправил: vden · Личное сообщение · #2 Если интересно, В командной строке нужно указать текстовый файл, в который скопировали содержимое VM Reference, и путь к дампу. | Сообщение посчитали полезным: SReg, vnekrilov, Jaa, Laki |
|
Создано: 19 мая 2015 21:58 · Личное сообщение · #3 |
|
Создано: 20 мая 2015 13:55 · Личное сообщение · #4 А можно в свипер добавить функциональности? Ну к примеру: 1) В настройки вынести переключатель между софтовыми и железными бряками, которые ставит свипер. Просто кажется у меня свипер из-за железных бряков не может правильно декомпилировать ВМ. Наверное защита проги ловит. Но чего-то я сам эту защиту поймать не могу. Одна ВМ никак не декомпилируется доходит до а07 этапа. И терминейтед. 2) И еще ввести кнопочку "Abort" с удалением установленных свипером бряков, а то бывает что жертва уже рухнула, а свипер никак не хочет отключиться от жертвы, и приходится несколько раз перезапускать жертву. Пока свипер поймет, что ему уже "не светит" 3) Ну и все-таки хотелось-бы иметь возможность принудительно задавать конечный адрес, чтоб свипер не лез на следующие ВМ, а тихонько отходил в сторону от жертвы. |
|
Создано: 20 мая 2015 16:49 · Поправил: Kuzya69 · Личное сообщение · #5 Не, а чего, никто не сталкивался с таким? Свипер завалил жертву, а бряк оставил. При следующем запуске он ищет этот бряк, чтоб продолжить свои вычисления, опять валит жертву, но бряк еще не снял. и т.д. и т.п. Хорошо, если этот бряк стоит недалеко от ОЕП. А если путь к этому бряку проходит, через кучу манипуляций в дебагере, связанных с вводом нужных значений. Приходится экспериментировать, чтоб "убедить" свипер, что он должен завершиться. Да и кстати, не плохо было-бы включать какую-нибудь метку, которая подсказывает, что свипер работает. Например после перезагрузки, а лучше все время. А то когда полоса загрузки свипера пропадает, становишься как слепой. Все на ощупь. |
|
Создано: 04 июня 2015 02:18 · Поправил: DenCoder · Личное сообщение · #6 О, плагины для иды... для Оли... для mr.Exodia... Vamit мне помог своими трудами с терминами, большое ему за это Благодарю... В моей x64-вмашине попалось не 168 примитивов, а 79. Основную просто протрейсил, обошёл антиотладку (лоховская, я бы по-другому сделал), дошёл до OEP->DllMain, сдампил даже... а импорт в разнобой по разным адресам Ну весело, дампить малый толк... И ВАУ - 2я вм(те же 79 примитивов), и один из примитивов способен вызвать 3ю... да что за байда ... Написал вмтрейсер... почти... порядка 30 примитивов уже трейсит и показывает, что нужно-то )) Почему я писал? Да потому что под x64 до сих пор только иииидаааа, но не обладает нужным мне функционалом... Так бы мог и плаг для иды набросать, но моё - это нэйтив! Но набухался я не поэтому!!! ----- IZ.RU |
|
Создано: 05 июня 2015 13:25 · Личное сообщение · #7 |
|
Создано: 05 июня 2015 22:45 · Поправил: DenCoder · Личное сообщение · #8 Версия для меня точно будет. Но чтобы пользоваться всем, ещё немало работы вдобавок к запланированной надо провести. Например, автоматически распознавать сами примитивы под x64, как-то эмулировать некоторые api-функции... Решить, как распространять(нет желания, чтоб было в публичном доступе) - тоже немаловажно. Так что подует ветер - доведу до ума ! ----- IZ.RU |
|
Создано: 26 июня 2015 11:34 · Личное сообщение · #9 WMSweeper доведен до релиза 2.0, успех полной декомпиляции вмпрота с созданием исходного кода составляет более 90%. Внесены следующие изменения: - полное раcпознавание соответствия регистров вм и CPU - девиртуализация инструкций с ModRM и SIB адресацией - обработка любых инструкций в коде (MMX, SSE и прочие + те, которые Олька даже и не знает) - распознавание пакетных вызовов на завиртуализованные функи и АПИ - вставка созданного кода в нужное место, хотя это и затирает важную информацию, но позволяет скопировать созданный код в копию программы или в ИДА - полностью статическая декомпиляция, без точек останова и исполнения кода - оптимизатор структуры функции по условным/безусловным переходам на минимальную размер Примерчик прилагается... Новой версии Свипера в свободном доступе по определенным причинам не будет но если кому-то что-то потребуется декомпильнуть - обращайтесь. 4931_26.06.2015_EXELAB.rU.tgz - 78CD80.rar ----- Everything is relative... | Сообщение посчитали полезным: ClockMan, Maximus, Jaa, CyberGod, Vnv, [Nomad], samtehnik, daFix, srm60171, sendersu, Kuzya69, Ra1n0, DenCoder, 4kusNick, m0bscene, Bronco, vnekrilov, neprovad, s0cpy, NewNikitoZ, gloom, SReg, freudz |
|
Создано: 28 июня 2015 13:46 · Поправил: Vamit · Личное сообщение · #10 Так, по просьбам на декомпиляцию, чтобы не тратить ни мое ни ваше время: 1. выкладываем только нужный файл и либы для него, если такие имееются, ссылки на полный софт мне не нужны и инсталлировать его я всё равно не буду 2. сообщаем ОЕП и адреса декомпилируемых фунок, искать всё это в проге я тоже не буду 3. оказываю помощь только в декомпиляции фунок и предоставляю их исходный код, всё остальное дело ваших рук и головы 4. будьте готовы на скромное вознаграждение 5. если не предоставлена нужная информация, то реагировать на такие запросы так же не буду ----- Everything is relative... |
|
Создано: 28 июня 2015 14:41 · Личное сообщение · #11 |
|
Создано: 28 июня 2015 15:32 · Личное сообщение · #12 |
|
Создано: 28 июня 2015 15:58 · Личное сообщение · #13 |
|
Создано: 28 июня 2015 16:14 · Личное сообщение · #14 |
|
Создано: 29 июня 2015 14:09 · Личное сообщение · #15 |
|
Создано: 16 августа 2015 10:19 · Поправил: int_256 · Личное сообщение · #16 тут просто крашится Code:
|
|
Создано: 09 сентября 2015 16:04 · Личное сообщение · #17 |
|
Создано: 09 сентября 2015 16:53 · Личное сообщение · #18 |
|
Создано: 10 сентября 2015 11:37 · Личное сообщение · #19 |
|
Создано: 10 сентября 2015 11:44 · Личное сообщение · #20 |
|
Создано: 10 сентября 2015 11:57 · Личное сообщение · #21 reversecode пишет: т.е. плуг только на x32 завязан? вроде же только инструкции толще должны быть, ядро обфускации наверняка одно и тоже Как я понял из доки по созданию свипера вся раскрутка ВМ базируется на заранее выявленным шаблонах. Т.е. для x64 Vamit'у фактически нужно заново исследовать VMP 2.x Да и в x64 появляются новые инструкции, поиску которых тоже нужно обучить свипер. Но пусть сам Vamit разъяснит поле работ над x64. PS. Да и ковыряние в x64 под вторую версию VMP уже не актуально. |
|
Создано: 10 сентября 2015 12:50 · Личное сообщение · #22 Да всё просто, анализ кода, девиртуализация и декомпиляция базируются на полном разборе всех вариантов асм инструкций, в х64 - другие инструкции, следовательно под каждую их них должен быть написан свой обработчик. А среда анализа - это Олька 1.10 со своим асмом и дизасмом, Свипер же не законченная прога, а плагин, который базируется на конкретном SDK под Ольку... вот и весь ответ. ----- Everything is relative... |
|
Создано: 21 сентября 2015 15:21 · Личное сообщение · #23 vden пишет: Если интересно, небольшая утилита для приклеивания импорта, найденного свипером к дампу. Довольно простая, тестировалась на exe, но по крайней мере у меня, работает В командной строке нужно указать текстовый файл, в который скопировали содержимое VM Reference, и путь к дампу. Если у кого-нибудь осталась тулза, дайте знать в личку. Спасибо! ;) ----- once you have tried it, you will never want anything else |
|
Создано: 21 сентября 2015 15:33 · Личное сообщение · #24 gloom пишет: vden пишет: Если интересно, небольшая утилита для приклеивания импорта, найденного свипером к дампу. Довольно простая, тестировалась на exe, но по крайней мере у меня, работает В командной строке нужно указать текстовый файл, в который скопировали содержимое VM Reference, и путь к дампу. Если у кого-нибудь осталась тулза, дайте знать в личку. Спасибо! ;) https://dailyuploads.net/0ijsiw388tsz ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: gloom |
|
Создано: 31 января 2016 16:51 · Поправил: -Sanchez- · Личное сообщение · #25 Всем привет! Хочу декомпильнуть одну функцию, получаю ошибку: Can't execute VM handler Jmp in address 0x00D07531! Перешел по адресу, а там мусор: Code:
Комплект: Оля 1.10, последний фантик, WMSweper 1.5 beta 4. Программа 2013 года. Как можно обойти эту ошибку? UPDATE: Почитал тему, все понял. |
|
Создано: 07 апреля 2016 16:37 · Поправил: m1kserok · Личное сообщение · #26 reversecode пишет: http://www.slideshare.net/ReCrypt/deobfuscation-and-beyond на 10 странице VMSweeper вспоминают Нашёл таки видосик, по этой призентации на 12:21 Вспоминают ВМСвипер вот прямая ссылка "Мы прочитали книжку про символьные вычисление и построили своё казино" Интересно что книжка тоже такую хочу. Странно что их никто не спросил про это |
|
Создано: 08 апреля 2016 09:04 · Поправил: VodoleY · Личное сообщение · #27 -Sanchez- пишет: Can't execute VM handler Jmp in address 0x00D07531! подозреваю 2 варианта. либо у тебя не правильно таблица примитивов разспозналась, либо свипер ее не поддерживает. если хочеш просто обойти.. грубо. то можно в таблице примитивов.. адрес 0x00D07531 подправить на ИЗВЕСТНЫЙ свиперу примитив.. только это если ты уверен, что все действительно ДО этого правильно все это надо начинать рассматривать с главного цикла ВМ (там есть указатель на ленту пикода и адресс таблицы примитивов) ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 18 апреля 2016 22:26 · Личное сообщение · #28 |
|
Создано: 19 апреля 2016 10:36 · Личное сообщение · #29 jazzz пишет: Тут проскакивала утилита для приклеивания импорта, сделанного vmsweeperом. По старым ссылкам ее скачать не получается. Никто не выложит ее еще раз? ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: jazzz |
|
Создано: 19 апреля 2016 16:46 · Личное сообщение · #30 |
|
Создано: 20 апреля 2016 00:45 · Личное сообщение · #31 Возможно уже спрашивали, но что то сходу не найду, что значит ошибка Decoder VM is not running? И еще при попытке декомпильнуть функцию происходит краш программы и вообще железные бряки приводят к падению программы несмотря на то что все плагины настроены и сама программа уже распакована? С софтовыми нет проблем. Что вообще тут можно сделать? |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 23 . 24 . >> |
eXeL@B —› Протекторы —› Декомпилятор ВМ |