Вопросы по распаковке

Тема в разделе "WASM.RESEARCH", создана пользователем M0rg0t, 15 сен 2020.

Метки:
  1. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    Поскольку клаб лежит, спрошу здесь.
    Есть софтина, какой-то инсталятор малвары. Инсталлер дропает в темп какой-то файл на VB6 и запускает. Не могу распаковать файл на вб - прога VB decompiler пишет что не может открыть, т.к. файл упакован, Quick Unpack показывает очень понятную ошибку "wrong platform", в Ида вижу какой-то мусор. В какую сторону копать, посоветуйте.

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

    Indy_ f13nd
     
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    M0rg0t,

    Такие вопросы стали как какая то монотонная однотипная молитва/мантра чтоле. Сам анпакер распаковывает, нужно лишь получить управление на нужном месте. Образ открывается на точке входа если нет вирты. Для этого нужны те самые визоры. Ты отладчиком ничего не решишь это крипта.
     
  3. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    860
    Кидай файл на VB6.
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    Отдай Инде, он распакует без проблем, раз у него есть чудо визор, которого никто в глаза не видел.

    А так, попробуй запустить в виртуалке и сдампить образ из памяти. Ну или залей сюда, может кто посмотрит.
     
  5. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    В Ида открывается какая-то фигня, вероятно файл чем-то еще упакован, но все эти универсальные анпакеры говорят что нет.

    Прикрепил к посту, пасс wasm
    там малварь и файлы (он с них берет какую-то инфу).

    Rel, с vb нет опыта, вообще странно что им еще пакуют малварь, думал все на шарп перешли, но нет..
     

    Вложения:

    • vir.7z
      Размер файла:
      1,4 МБ
      Просмотров:
      239
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    M0rg0t,

    Я думал что нэйтивный бинарь тянет либу на vb, ты так написал. Модуль умпешно грузится в vb decomp и ида его норм парсит. Этоже вирта, а не нэйтив ида для этого не предназначена. vbd только скачанный на таких местах:

    loc_004AF7AE: call 004C0FC0h

    Выдаёт что pro version" и на этом всё.

    В любом случае работа вирты выясняется динамикой. Тот же вмп ты не сможешь декомпилить, но это не нужно, конечно если нет нужды выяснять сами алго. Для малварки всегда нужна лишь динамическая активность, что бы понять что она делает, а как это она делает и каким кодом в каком виде значения не имеет. Учитывая что это vb, то процмона хватит с избытком.
     
  7. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Моргот, https://wasm.in/threads/dekompiljacija-msil-i-vb6.31708/

    это только к TheTrick и его скиллам.

    внезапно, в 2020 использовать инструмент 1998 года не только можно, но и нужно, чтобы не дать изучать результирующий exe.
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    Да, я ни один раз натыкался на то, что для вб6 нет ни одного нормального решения для реверса.
     
  9. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    860
    M0rg0t, образ на первый взгляд не запакован. Что именно нужно выдрать?
     
  10. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Thetrik,

    > образ на первый взгляд не запакован.

    Любое отклонение в штатном формате декомипь считает криптой, как то пе хидер изменить и всё декомпилер в лучшем случае будет ругаться или вообще не сможет обработать. Это примитивные кривые инструменты.

    Что бы что то реверсить, прежде нужно определить задачу, те узнать динамик активность, а для этого её нужно снять. Выхлоп vbd в виде асма судя по всему, какая же это декомпиляция. VB очень давно используется как годный метод обхода авер вирты. Это не нэйтив вирта, не особо кому то нужно было создавать инструменты для девирта. Может что и есть я не знаю с этим дел не имел.
     
  11. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    В какой именно? У меня он пишет что запаковано и не открывает.

    мне надо алгос оттуда, процмона не хватит , именно реверс.

    Thetrik, там есть файл data.txt , в нем хеш. Этот софт берет хеш или из этого файла или откуда-то с инета, и преобразует в ссылку. Вот надо выдрать алгоритм, как он это дешифрует.
    И тот же вопрос, что к Инди - как это и чем открыть?

    Как не смешно, лет 15 назад я кодил на вб6, ну как кодил.. игрался с формами сугубо, + в курсе по оллидбг пропустил главы по распаковке вб. Ибо еще 20 лет назад все писали, что бейсик умер, будущее за дотнетом. А оказывается нет. За последние месяца 3 это вторая малварь на вб, которую я разбираю, при этом я как бы ни разу ни авер и не реверсер, это скорее исключение. Мб в этом и есть смысл..
     
  12. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    860
    Ок посмотрю.
     
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    Сорян за оффтоп, просто подумал над такой темой. Thetrik, как ты думаешь, опираясь на опыт работы с вб6. Можно ли взять виртуальную машину, исполняющую п-код, и запустить в режиме эмбеддинга в нативном процессе. По сути использовать как Lua там например. Загрузить контекст машины в нативный процесс, создать несколько функций расширения для этой машины, передать машине скомпиленный п-код на исполнение. Если да, то какие функции из каких длл посмотреть по этой теме?
     
  14. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    M0rg0t,

    > Этот софт берет хеш или из этого файла или откуда-то с инета

    Так место нужно конкретное узнать откуда начинается выборка из файла для начала. Обычные инструменты позволяют смотреть стек на момент ядерного вызова. Это в статике не разобрать идой, может олькой открыть там проще без глюков, но врядля чем то поможет.
     
  15. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    684
    Rel, я лет 15 назад реверсил плагин к екселю, для решения оптимизационных задач, так вот он тащил с собой интерпретатор вб6 и сам п-код то есть думаю можно это подружить, но возникает вопрос а оно тебе надо ? Имхо что-то другое лучше взять с этой целью
     
  16. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    860
    M0rg0t, какую именно ссылку, на что?
    Вот что у меня делается http://ip-api.com/json/?fields=countryCode - получается локаль:
    Далее грузится и дропается в Temp https://egame.s3-eu-west-1.amazonaws.com/Racingcar.exe
    Пи-код тут вообще не при чем, здесь натив.

    Rel, ну такое очень просто делается через IActiveScript. Специально предназначен для интеграции скриптинга в свои приложения, можно добавлять как и внешние сущности которые скрипт будет вызывать, также вызывать потом из нативного кода любую функцию в скрипте. Если именно нужен P-код, то можно попробовать сохранить состояние через IPersist*, а потом переоткрыть, но не уверен что будет работать.
    Также теоретически можно и msvbvm заюзать в качестве исполнения, но я этим не занимался. Могу сказать что ProcCallEngine, MethCallEngine передают управление в P-кодную функцию, но там нужно инициализировать рантайм. Проще написать AXDLL и в ней уже делать подобные манипуляции.
     
  17. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.574
    Thetrik, а строки эти откуда берутся? Они как-то закодированы в файле или в тех файлах рядом?
     
  18. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    860
    M0rg0t, нет, не закодированы. Там есть закодированное содержимое (в EXE), но это HTML страница, а не ссылка, которая отображается в WebBrowser'е. Причем криво закодированная. EXE использует WinHttpRequest для запросов, так ты можешь поставить бряк на IWinHttpRequest::Send чтобы посмотреть какие запросы отправляет EXE. К примеру вторая ссылка хранится по адресу 0040AD00.
     
    M0rg0t нравится это.
  19. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    Я не знал, что VB6 поддерживает этот интерфейс, думал, что его реализуют только всякие вбскрипты, джейскрипты и тд.

    Да, я про это. Погуглю потом на досуге про эти апишки, спасибо!

    Еще оффтоп небольшой, раз уж зашел разговор, сорян. Какой сейчас самый актуальным детектер пакеров?
     
  20. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia