Морфер

Тема в разделе "WASM.HEAP", создана пользователем sysexit, 27 окт 2010.

  1. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    На счет морфера, ведь он сможет работать только с нормальной программой, без самомодифицирующегося кода и всяких извращений?

    Верно ли я представляю себе технологию морфинга:

    Берем бинарик, от точки входа начинаем разбор кода, строим графы, находим процедуры, строим таблицу связываний и вызовов, и далее выделяем память и обрабатываем по очереди каждый блок кода, обрбатываем -- морфим код, а далее исходя из таблицы все это связываем.

    Тут получается и PE загрузчик не нужен. Поправьте.
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Да, именно так. За исключением графов - до сих пор не понимаю, зачем они нужны. Если ты дизассемблируешь код, выделишь функции и построишь таблицу связей, то на кой черт тебе графы?
     
  3. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    MSoft
    http://ru.wikipedia.org/wiki/Ориентированный_граф
     
  4. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Предпочитаю именные ссылки графам
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    > находим процедуры
    не процедуры, а все переходы.
    зачем нужны функции?
     
  6. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    нууу... например, в генерируемом коде можно делать обращения к аргументам функции. Выглядит довольно правдоподобно, автоматический анализатор ав не сможет выкинуть этот код из функции
     
  7. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    Как же морят вирусы, они же в основном написаны сложным образом для морфинга.

    Есть кстати паблик сорцы, кроме одного который я как-то находил с рускими коментами? Или может Hello World на ассемблере морфленый два раза выложит, или в личку?
     
  8. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    дык вирусы никто не морфит :) используют обычные полиморфные крипторы. А они имеют при себе декриптор и загрузчик, такие сложные технологии не применяются. И при написании вирусов о морфинге никто не думает - все расчитывают на сторонние крипторы.

    Если вдруг какой-то вирус и затачивается под метаморф, то он имеет ряд ограничений. Например, никаких данных в коде, простой и понятный код, отстутствие определенных инструкций, которые сложно мутировать в данном конкретном движке, который встроен в сам вирус. Т.е. морфер пишут не универсальный, а под конкретный файл.

    mistfall, metaphor - это первое, что приходит на ум. Есть в 29а.
     
  9. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    Для морфига применяется только статический анализ исполняемого файла?

    Сейчас попгуглю линки на исходники.
     
  10. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    да как сделаешь, так и будет :)
     
  11. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    Ну а как динамически анализировать? Надо эмулировать вдобавок еще ведь, да?

    Если не сложно можно ссылки на вышеописаные перемутаторы. А то проблемно найти.
     
  12. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    > нууу... например, в генерируемом коде можно делать обращения к аргументам функции.
    дык и построим свои функции! как нам нужно, а не будем использовать уже готовые.
    тем более определение функций - та еще задача.
     
  13. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    http://go.mail.ru/search?q=29a&drch=e&rch=e
    первая же ссылка
     
  14. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    MSoft
    Ну так графом это будет в любом случае,
    именные ссылки - способ определения дуг между вершинами,
    для удобства чтения.. а суть не меняется.
     
  15. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Граф необходим дабы отказаться от адресов, иначе как вы будите менять код. Вместо адресов в ветвлениях вводятся ссылки на части графа.
     
  16. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    угу, граф оптимальная структура.