| Сейчас на форуме: (+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 —› Протекторы —› Декомпилятор ВМ | 


 


  , Thanks SReg.











 пора бы уже в процессе регистрации требовать сканы с справок от нарколога и психолога. Можно ещё от венеролога, но могут обвинить, да...


 Для печати