Сейчас на форуме: (+9 невидимых)

 eXeL@B —› Протекторы —› Декомпилятор ВМ
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 23 . 24 . >>
Посл.ответ Сообщение


Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 03 марта 2010 12:33
· Личное сообщение · #1

Вашему вниманию предлагаются наработки по декомпиляции ВМ.
Проект на сегодняшний день для меня завершен, но жаль если результат "ляжет на полку", может кому-нибудь и пригодится. Предлагаю сначала ознакомиться с обзором, и если будет интерес то могу выложить и сам плагин, или здесь или в личку заинтересованным лицам, каким образом, пока ещё не решил...
Но если кто-либо ожидает увидеть "автоматическое чудо", то сразу скажу - его нет. Для того чтобы получить результат нужна ручная предварительная работа:
- с исследуемой программы должна быть снята упаковка
- точки входа в ВМ находятся вручную
- возможно неоднократное "жамкание" клавиш в OllyDbg, а возможно и модификация кода, чтобы попасть в нужное место, в зависимости от защищенной функции
- необходимо вручную прицепить к программе требуемый секцию
- запись результатов в файл это тоже ручная работа, но уже более приятная

Не всё гладко обстоит с определением реализаций ВМ, на сегодняшний день примерно каждая третья реализация автоматом не определяется, приходится под неё модернизировать плагин, т.к. не могу сразу предусмотреть все случаи "издевательств" ВМ с кодом примитивов. Лучше дела с восстановлением "исходного" кода защищенных функций - 70% нормально восстанавливается, хотя во многом это зависит от самой структуры функции. Таким образом, если будет заинтересованность и помощь в нахождении подобных ситуаций, то проект может быть доведен до релизной стадии.

ЗЫ: Речь идет об Ореановских машинах. Нигде специально не упоминал.

9c41_03.03.2010_CRACKLAB.rU.tgz - VMSweeperLst.rar

-----
Everything is relative...





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 22 февраля 2011 09:38
· Личное сообщение · #2

Vamit пишет:
Декомпилит всё, на что можно поставить ЕИП

к сожалению, ни на рабочем дампе , ни на оригинале (на исполняемом пути) не может определить тип вм.
// если интересно, могу залить.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 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...





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 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

Ранг: 1.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 февраля 2011 04:06 · Поправил: Je4Ry
· Личное сообщение · #5

Vamit

Can you share OllyDbg patch by Int'a. .

Thanks for this great tool , Vamit .

Edit : found the patch , Thanks SReg.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 01 марта 2011 23:20
· Личное сообщение · #6

Vamit пишет:
Привожу "правильные" опции ассемблера

хорошо воркает под пропиаренный патч...
Vamit пишет:
Удаление AntiDump

приатачил - "Section a12 final".


8876_01.03.2011_CRACKLAB.rU.tgz - log.log

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 02 марта 2011 08:55
· Личное сообщение · #7

Bronco пишет:
приатачил - "Section a12 final".

Да, удаление антидампа не сработало, если либа та же, которую высылал мне, то скажи адрес декомпиляции.

-----
Everything is relative...




Ранг: 65.4 (постоянный), 10thx
Активность: 0.020
Статус: Участник

Создано: 02 марта 2011 21:35
· Личное сообщение · #8

Код Bronco это похоже на прогу так как есть вызов создания окна. А сам ВМПрот не пробовали декомпилить тот что на паблике есть 2.05?




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 02 марта 2011 22:01
· Личное сообщение · #9

Vamit пишет:
если либа та же

лог от другой приблуды.
Vamit пишет:
скажи адрес декомпиляции

в либе опечатано с 10-ток фунок.
// Адреса фунок можно взять из таблицы экспорта + IB.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..




Ранг: 1.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 марта 2011 02:14 · Поправил: Je4Ry
· Личное сообщение · #10

nvrmind



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 28 марта 2011 14:38
· Личное сообщение · #11

Люди добрые, а нет ли у когонибудь экзешника типа мессаджбокса накрытого кодевиртом, который может скушать свипер?

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 3.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 марта 2011 14:54 · Поправил: DGX
· Личное сообщение · #12

Автору не помешает сделать хоумпейдж на том же народе для удобностии проверки обновлений.




Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 17 мая 2011 13:21
· Личное сообщение · #13

Новая версия VMSweeper v1.4 beta 11

Добавлено:
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


Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 19 июня 2011 12:43
· Личное сообщение · #14

Новая версия VMSweeper v1.4 beta 12

Исправлено:
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


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 19 июня 2011 15:51
· Личное сообщение · #15

Vamit пишет:
(если ВМ успешно распознается)

Что это значит? Вот есть у меня одна программка, которая накрыта VMProtect. Я загружаю её в ольку, стоя на ОЕР, выбираю Analyze all VM references, но получаю вот это:



Что делать?

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 19 июня 2011 15:58
· Личное сообщение · #16

ARCHANGEL,

«…получать 100% исходный код» относится к CodeVirtualizer.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 19 июня 2011 16:04
· Личное сообщение · #17

kioresk
Это я понял, но я предполагаю, что ВМ может не распознаться и в случае с ВМпротом. На скриншоте как раз такой случай (наверное). Можно ли что-то сделать в таком случае?

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 20 июня 2011 09:04
· Личное сообщение · #18

ARCHANGEL пишет: Что делать?
Проверить правильность задания границ сегментов кода и вм и повторить анализ. Вообще-то Analyze all VM references не распознает типы вм, а только эвристически находит возможные входы в вм. Если она ничего не нашла, а вы уверены, что это вход в вм, то вставайте на него (обязательно EIP) и давите F1. Сначала идет анализ вм - определение инициализации вм, затем цикла вм, затем идентификация примитивов, затем построение промкода, затем декомпиляция промкода. Если что-либо на этих этапах не так - то всё можно увидеть в соотвествующих файлах или сообщениях.

Конкретно в твоем случае, если хочешь, чтобы я глянул и сказал причину нужно сообщить условия анализа - заданные диапазоны адресов, ОЕП и выслать прогу. А ещё лучше, если сам во всем разберешся и сообщишь что в этом-то месте декомпиль ведет себя некорректно, тогда можно рассчитывать что этот случай будет откорректирован в Свипере.

-----
Everything is relative...


| Сообщение посчитали полезным: ARCHANGEL

Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 25 июня 2011 18:51 · Поправил: VodoleY
· Личное сообщение · #19

Vamit вернулся к старому проэкту... практически не косячит свипер, прозрел когда он мне поднял код промежуточного входа в ВМ. незнаю как воспримите.. а нельзя ли было бы в свипер добавить еще один функционал. пробег с точки типа ф1 на IP до какого то места (например количество команд) просто деморфом. цены бы не было такой весчи.

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 26 июня 2011 13:26
· Личное сообщение · #20

VodoleY Ответ уже был в топе , и вопрос был тотже =) .. Не рассчитывайте

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 26 июня 2011 13:56
· Личное сообщение · #21

Есть ли возможность добавить anti-anti-vm (конкретно virtualbox), т.к. XP есть только на vm, которая успешно обнаруживается.




Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 26 июня 2011 15:57
· Личное сообщение · #22

vden,

Если используешь VMware, то пока можешь спокойно обходить детект ВМ так:

https://ssl.exelab.ru/f/action=vthread&forum=13&topic=14460#22




Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 28 июня 2011 04:30
· Личное сообщение · #23

> Если используешь VMware, то пока можешь спокойно обходить детект ВМ так:

VirtualBox это какбе совсем не VMWare




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 28 июня 2011 11:48 · Поправил: BoRoV
· Личное сообщение · #24

DrGolova пишет:
VirtualBox это какбе совсем не VMWare

какбе там всё правильно написано

-----
Лучше быть одиноким, но свободным © $me




Ранг: 0.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 июня 2011 13:08
· Личное сообщение · #25

DrGolova пишет:
VirtualBox это какбе совсем не VMWare

VMBox это Oracle, поэтому она лучше варьки в разы там не падает сисер в бсод и норм можно проги трейсить через ольку, ещё хакерам на линуксе там хорошо херачить




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 28 июня 2011 14:27 · Поправил: Gideon Vi
· Личное сообщение · #26

Joseph_Kerr пишет:
VMBox это Oracle, поэтому она лучше варьки в разы там не падает сисер в бсод и норм можно проги трейсить через ольку, ещё хакерам на линуксе там хорошо херачить


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

| Сообщение посчитали полезным: 4kusNick


Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 28 июня 2011 15:00
· Личное сообщение · #27

kioresk пишет:
Если используешь VMware, то пока можешь спокойно обходить детект ВМ так

Анти-Анти-VMware встроен в VMSweeper,виртуаль бокс детектится множеством способов, читая инфу с биоса поиском соответствующих строк,поиск в процессе VboxService.exe, плюс глюки в выполнении некоторых асм опкодов...

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 65.4 (постоянный), 10thx
Активность: 0.020
Статус: Участник

Создано: 28 июня 2011 15:41
· Личное сообщение · #28

Кста, харварные бряки работают на последнем VMBox?



Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 30 июня 2011 22:20
· Личное сообщение · #29

kioresk
спасибо

V0ldemAr
да, вроде работают, правда не знаю работают ли если проц без аппаратной виртуализации



Ранг: 35.4 (посетитель), 15thx
Активность: 0.020
Статус: Участник

Создано: 01 августа 2011 15:20
· Личное сообщение · #30

Vamit
столкнулся с постоянным вылетом olly при анализе. как правивильно обработать этот участок или обойти его хотя бы временно? лог и трейс прикладываю

343d_01.08.2011_EXELAB.rU.tgz - VMS_MetaLang.zip




Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 02 августа 2011 10:10
· Личное сообщение · #31

neprovad
Чтобы ответить на твой вопрос нужно иметь исследуемый файл, если выложишь, то посмотрю...

-----
Everything is relative...



<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 23 . 24 . >>
 eXeL@B —› Протекторы —› Декомпилятор ВМ
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати