Алгоритмы - Почему все так озабочены...

Тема в разделе "WASM.HEAP", создана пользователем X-Shar, 16 фев 2021.

  1. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    Thetrik, были слова от Слона, что код это по сути модифицированный зип, с добавкой мусорных конструкций. Я так понял, хотел трассу до OEP. Вообще странно, что потерли это сообщение.
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Ну после дампа придется проделать еще некою работу для того, чтобы его можно было бы анализировать идой там или еще чем-то в статике. Таблицу импорта восстановить, релоки вернуть и тд. Канеш изначальные значения статических переменных уже потерялись, но это не так важно. Есть тулзы, которые автоматизируют до какой-то степени дампинг, тот же Шахеризадин pe-sieve (этому в частности посвящена тема про то, что визоры больше не нужны здесь на васме). Проблема в том, что спец говорил, что у него есть убер тулза, которая убирает все остальные тулзы с одного вздоха. Как оказалось, тулзы либо нет в принципе, либо она далеко не так хороша, как спец ее расхваливал.
     
  3. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    875
    Ну я имел в виду рабочий дамп снял, который под IDA уже можно анализировать (не знаю правда все ли там гуд):
    upload_2021-2-25_12-1-41.png
    --- Сообщение объединено, 25 фев 2021 ---
    Все, понял. OEP типа автоматикой найти, понятно.
     

    Вложения:

    Ronin_ нравится это.
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Ну вот видишь, ты сделал то, за что себя спец бьет тапком в грудь постоянно. Если серьезно, то я тоже не вижу необходимости в убер-технологиях спеца и тем более смысла кичиться ими постоянно. Единственный недостаток дампинга в том, что экзешник уже не запустишь и не подебажишь (даже если ты пофиксил таблицы импорта, релоков и тд, статические переменные уже инициализированы на момент дампинга, а это приведет к неработоспособности софта). Как бы, если мы принимаем, что многие пакеры не изменяют защищаемые исполняемые файлы, просто шифруют и пакуют их. Так что можно остановиться на переходе на точку входа (когда пе уже замаппирован и настроен, но еще не запущен) или найти место, где пе файл расшифровывается и распаковывается в память и сдампить его до его маппирования и настройки (таким образом ты получишь считай оригинальный пе-файл). Надеюсь, более-менее понятно сказал.
     
  5. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    354
    Я когда-то давно "Игрался в Крякера", решал разные крякмиксы, но потом мне было лень вручную распаковывать и узнал, что уже есть автоматические распаковщики, например нравился DrWeb Fly-Code, им скармливаешь запакованный файл, например UPXом и он его распаковывает, причём файл работоспособный, его можно патчить и т.д.

    Вот у Манхантера прикольная сборка таких тулз:https://www.manhunter.ru/underground/290_avtomaticheskie_raspakovschiki_ispolnyaemih_faylov.html

    Дык, объясните мне, Инде какую-то такую универсальную тулзу хотел сделать, т.к. анпакер должен поддерживать упаковщик/протектор, иначе работать не будет.:dntknw:
    --- Сообщение объединено, 25 фев 2021 ---
    У Инде вот интересная видяшка ещё есть:https://yadi.sk/i/HCoHazi4JkJ_kg

    Там семпл приложения с затертой кодовой частью и импортом как я понял в ОЗУ, типо нельзя сделать дамп...)

    Но самого семпла вроде нигде нет, или есть ?

    Вообще как такое можно сделать ? Где-то есть инфа ?

    Честно у меня мало знаний в этом, материал Инде не читается как-то, хотя интересно было-бы такое посмотреть на практике.
    --- Сообщение объединено, 25 фев 2021 ---
    Вт кстати нашел семпл:https://wasm.in/threads/opredelit-ssylki-na-pamjat-v-dinamike.33497/page-2#post-413518

    Но без сорцев.)
     
  6. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    875
    По сути я так и сделал. Я запустил в OllyDbg ехе, поправил атрибуты памяти для стека и образа, запустил на исполнение. После того как ехе заработал, по стеку нашел точку входа. После чего поставил на нее HW breakpoint и перезапустил exe. После распаковки как раз остановился на OEP, после чего сдампил EXE встроенной утилитой Scylla в x32_dbg. Чтобы убедится что это действительно OEP можно протрейсить:
    upload_2021-2-25_13-28-59.png
    вот этот кусок прыгает на OEP.
     
    M0rg0t и Ronin_ нравится это.
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Ну ты - молодец, работаешь лучше и быстрее, чем элитные визоры)).
    --- Сообщение объединено, 25 фев 2021 ---
    Наличие сорсов тебе не поможет, это же элитные эльфийские технологии. Загони в иду, да и все.
     
  8. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    875
    Не работает Win7X64. На XP32 удалось запустить. Поверхностно посмотрел, в общем как я понял там с помощью xed происходит выборка и расшифровка инструкций и их исполнение по одной (не всех) с сохранением состояния регистра флагов, стека. Инструкции ветвления там не исполняются напрямую, а через виртуальную машину (? VmExec, VmGetVector). Насчет зануления там при считывании инструкций (EvRead) происходит проверка границ и если инструкция лежит в пределах exe то данные берутся из другого буфера и расшифровываются, даные из библиотек считываются напрямую.
    В общем интересная штука, я у себя сохранил.
     
    Indy_, Ronin_, Aiks и 2 другим нравится это.
  9. sl0n

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

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    я же говорил код 10 лкт давности просто индий разозлил ты все сделал правильно , горжусь тобой можешь меня цитировать а вот индий кажется жидко обделался
     
  10. Indy_

    Indy_ Well-Known Member

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

    Нет, это ты жидко обделался походу. Видос хоть смотрел ?

    После запуска выводится лог со стрелками направленными влево. Это последовательность ветвлений(которую я до этого упомянул, а ты не понял что то там про линейности) и процедур приводящая к обнаружению запуска приложения. Справа налево и сверху вниз. Тот адрес на скрине Thetrik x0A4 у меня в логе 5C00A4 и слева адрес в образе - старшая часть адреса разумеется разная из за aslr, при сравнении адресов нужно откидывать трансляцию и сравнивать лишь смещение в странице P & (4k - 1).

    Твой крипт успешно раскрутился общим способом в пару кликов без танцев с бубном, его как бы и небыло, тоесть незаметен. У крипты функция защита, после его отработки он уже не нужен и обычно выгружается из памяти, если конечно частично не интегрирован в апп. Поэтому я затем сказал что нужно точно знать задачу по крипту ибо он прозрачен".
    --- Сообщение объединено, 25 фев 2021 ---
    sl0n,

    > код 10 лкт давности просто

    Удивительно что общий критерий анпака работает более 10 лет на любом пакере крипторе протекторе.

    https://archivevx.net/exelab/f/pages/action=vthread&forum=6&topic=25429&page=0.html
    https://wasm.in/threads/oep-protektory.33242/

    - как штамповали шаблоном так ничего не поменялось, не удивительно что антидамп самая актуальная тема.

    X-Shar,

    > Вроде сделал дамп API

    Нет, это что бы показать что апп с криптом не вышло из под визора, на что надеялся sl0n,

    > Это запустил и пошёл пить чай, или жрачку себе готовить.

    Так и было в точности. Что сказано было что вечер - смысл в том что я это уже забыл когда запускал собирал и нужно не утонуть в куче сборок всё зачистить и начать сначала, а это много времени есчо и в праздники не с ясным восприятием и тп :)

    Когда крутишь долго - знаешь помнишь всё работа идёт налету и сразу с пачками семплов, так было на кл. А один какой то запустить, для этого завести варю, найти там среди тысяч сборок какие то не последние, а которые не нужно допиливать.. унылое занятие :)
    --- Сообщение объединено, 25 фев 2021 ---
    Странно что никто не отвечает. Походу наверно стыдно, бросать говном не разобравшись.
     
  11. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Ну то есть ты два дня решал семпл руками, сделал какой-то палевный видос и с таким видом, мол я сделал что вы не смогли? Ну молодец, клевая у тебя автоматика, такая автоматичная, прям автоматического вида автономная автоматика.
     
  12. Indy_

    Indy_ Well-Known Member

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

    Какие же два дня, пару секунд на запуск минут десять на поиск сборки. Не прошёл твой троллинг и все те кто тут говном кидали и облажались с ними тоже больше диалога не будет, не говоря уже про какую то инфу.
     
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Ну как какие? Твое решение, а точнее отсутствие адекватного решения от тебя, мы получили как минимум через день после того, как Слон выдал тебе решение. Очень канеш странная отмазка, что ты бухой был и тд. Я уже выдвигал теорию, что твой визор работал в режиме собутыльника, поэтому ему нужно было проспаться, прежде чем автоматом все раскручивать. Так штоль?

    Ну ты мне уже раз 20ый говоришь, что со мной диалога не будет, но продолжаешь мне писать. Так что не надо мне тут обиженку строить. Во-вторых, мне как бы от тебя какая-то инфа и не нужна вовсе, ты только тапком себя в грудь бьешь, а полезной инфы от тебя ноль. Так что потеря канеш будет невосполнимая, но я как нибудь с этим смирюсь. Первое время будет тяжело, но я сильный духом независимый тролль.
     
  14. Indy_

    Indy_ Well-Known Member

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

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

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Ну то есть ты решил меня игнорить только в этой теме? Такой игнор на пол шишечки. Ну как бы ты в очередной раз всем показал, что ты испытываешь ко мне и моему троллингу нежные чувства.
    --- Сообщение объединено, 25 фев 2021 ---
    Я могу уйти, это не проблема, проблема в том, что ты тогда попрешься за мной на хсс.
     
  16. sl0n

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

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    блин инди это ты антисоциален а меня друзья есть, что там своими оллидбг скриптами нараскручивал где логи этож не сикрет, и ты выпилишься отсюда быстрее , не переходи на личности это не место для твоего чсв
    --- Сообщение объединено, 25 фев 2021 ---
    и рел плиз не провоцируй этого клоуна ато синт и тебя удалит
    --- Сообщение объединено, 25 фев 2021 ---
    у меня есть еще полиморф на брейнфаке такое размотаешь домашний илон маск ?
     
  17. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Да лан, мне не в первый раз в бане сидеть, если что. Кстати ты есть на хссе?
     
  18. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    Сэмплы.png
     
    Rel нравится это.
  19. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    875
    Indy_, я попытался использовать Dye.dll. Насколько я понял там есть небольшой баг при работе по WoW64 при котором портится стек. Возможно я делаю что-то неправильно и как-то нужно правильно сконфигурировать модуль, но я просто вызываю подряд DyInit, а затем DyGateJ и код начинает выполнятся уже из под движка. При работе из под WoW64 как я понимаю вместо трансляции 64 битного кода происходит непосредственный вызов сервиса:
    upload_2021-2-25_23-22-0.png
    проблема заключается в том что оригинальный код функции содержит ADD ESP, 4 т.к. возврат из CALL FS:[0C0] не восстанавливает стек, а выход из режима происходит по JMP FWORD PTR [R14]. Dye же не учитывает это и выполняет ADD ESP, 4 тем самым ломая стек.

    Вот как выглядит стек при непосредственном вызове перед ADD ESP, 4:

    upload_2021-2-25_23-34-40.png

    Вот как выглядит стек перед исполнением инструкции ADD ESP, 4 из под Dye:

    upload_2021-2-25_23-36-29.png

    Нужно либо пропускать этот ADD ESP, 4 либо добавлять в стек адрес.
     
    Aiks, M0rg0t и q2e74 нравится это.
  20. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    999
    какая разница на чем он? логика поиска же другая. Вот если у тебя будет два или три модуля, перед раскрытием на стэке, и по проваленой проверке будут выкидывать в кодоподобные ловушки, то мотор индия промахнется и не найдет вторую или третью ОЕР. Только ловушки нельзя генерировать накидывая каждый раз новый мусор, а то при нескольких проходах нормальный код будет светиться как новогодняя елка.