The Kernel-Bridge Framework

Тема в разделе "WASM.PROJECTS", создана пользователем HoShiMin, 18 ноя 2018.

  1. Indy_

    Indy_ Well-Known Member

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

    > int3 и Single Step.

    Я отлично знаю как это работает. А зачем хард вирте столь топорный механизм трассировки, он не используется вообще нигде, тк профайл там никакой. Да и ничего уже лет 15 не протрассируешь тупо через TF. Визор и нужен что бы это решать.

    > У кого это элементарно реализуется?

    Я эту фигню за вечер могу собрать. Можешь не сомневаться, в обработке ловушек я профи.

    > У меня - вот, на гитхабе. Не просто концепт

    У тебя какая то хрень, которой даже блокнот виндовый не крутнёшь.
     
  2. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Ну так напиши. Если получится - я тебе руку пожму (виртуально) и скажу, что был не прав.

    Где, ну где я заявлял, что это инструмент для кручения блокнотов?
    Давай прочитаем:
    upload_2020-8-5_22-56-31.png

    Ни слова про трассировку. То, что её можно сделать, не значит, что её нужно делать. И ни слова о том, что это инструмент для DBI.
    Почему ты так же не говоришь, например, про Chrome? В нём тоже ДАЖЕ БЛОКНОТ (!!!) не покрутить на причинном месте.

    P.S.: Уже плюс от нашего срача - заметил опечатку в слове "capabilities". Так бы и висело оно без одной "i".
     
  3. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Видимо, вы все таки под словом "гипервизор" понимаете разные понятия, отсюда и недопонимание.
     
  4. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Да разумеется разные, но с некоторым пересекающимся функционалом.

    Например, с помощью визора Инди можно как-то контролировать доступ к памяти. У меня тоже можно, но совершенно иным образом.
    И мы спорим, у кого визор визористее.

    Но то, что в чём-то функционал совпадает, не значит, что совпадают и задачи.

    Например, трейсинг: у Инди это делается эмуляцией и построением CFG/DFG.
    У меня вообще нет такого функционала, но гипервизор и не должен решать такие задачи.

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

    Просто к самой технологии виртуализации трассировка и поиск не имеют ни малейшего отношения, это не DBI.

    Но что касается системных событий и доступа к памяти, виртуализация здесь вне конкуренции - и по скорости, и по простоте, и по возможностям.
     
    M0rg0t, Rel и Mikl___ нравится это.
  5. Rel

    Rel Well-Known Member

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

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Конкретно трассировка через виртуализацию будет очень медленной, т.к. на каждую инструкцию понадобится сохранять и восстанавливать контекст, переключаться между режимами и делать ещё какую-то обработку.
    Это уже никак быстрее не сделать.
    Даже самый тормозной DBI будет быстрее.

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

    В интернете опять кто-то не прав!

    uLGSXqQpSaY.jpg
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Ну я не авер, я особо не шарю в этой теме. Но могу предположить, что конкретно для задачи поиска оеп (основной задачи человечества) тебе надо мониторить либо выделение памяти, либо изменение прав доступа на память, ну и джампы коллы на эту память.
     
  8. Indy_

    Indy_ Well-Known Member

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

    > Если получится - я тебе руку пожму

    Это очень старые забавы с ядром, через kdr(kidebugroutine) очень много кода было написано для всех возможных задач. Можно поискать дампы, там тонны кода и всё - обработка ловушек. По мойму незачем лезть в ядро лишний раз, если есть более простые пути решений.

    > Где, ну где я заявлял, что это инструмент для кручения блокнотов?

    Подразумевается что визор какую то задачу решает. Конечно самый простой пример который приходит на ум - запустить самое простое приложение.

    > Почему ты так же не говоришь, например, про Chrome?

    Хром более тяжёлый чем блокнот. И всё же используя бинарную трансляцию https://wasm.in/threads/ukazatel-v-opisatel.33644/ скорость его работы не отличима от реалтайма.Синхронное хранилище(а эта первое узкое место для визора) никто из тут находящихся не сможет реализовать быстрее, увы. В той теме затирали бред про хэш таблицы, как будто заранее все адреса в произвольном апп известны ;)

    > Например, с помощью визора Инди можно как-то контролировать доступ к памяти.

    Он изначально был создан для обхода авер вирты и скрытия памяти от сканеров. Тут есть куча материала. Только потом он заменил отладчик и использовался для защиты например, тот детект OP-атак иначе не реализовать - никак карту не построишь. Что там утверждают в бреду по OEP - все протекторы десятки тысяч раз анализировались, но это направление такое на крэклабе. Другие задачи там не нужны(за всё время считаю самой сложной сборку вмп вирты в динамике конструктором(визор строил граф, конструктор пересобирал зачищал и оптимизировал; на выхлопе был чистый его дамп), но это давно очень было) :)

    Может кому то интересна архитектура vmx, но это очень малая аудитория" - тк практических примеров нет и слишком тяжёлая матчасть. А без практики не ясно зачем это всё нужно :)

    Молодец конечно что что то написал по визорам, но мне интересно чисто практическое применение, техники профайл детекты и тп. А не обработки ловушек, это уже не моя тема давно.
    --- Сообщение объединено, 6 авг 2020 ---
    Да и заметь по хрому, дий при трансляции это раскрутит в реалтайме, причём это всё юм. Твой же гипер будет день крутить через топорный TF. И это лишь блокнот не говоря про любой апп с защитой там вообще трассировка сразу палится.
     
    Последнее редактирование: 6 авг 2020
    q2e74 нравится это.
  9. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Сначала были тысячи семплов, сейчас десятки тысяч. Видимо очень хорошо прижился твой визор в твоей аверской компании.
     
  10. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    301
    вырываете из контекста
     
  11. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Кстати, у Касперского вроде есть какой-то визор (или гипервизор? )
     
  12. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Да, есть.

    Они вообще сейчас делают с нуля операционку, построенную полностью на виртуализации.
     
  13. Indy_

    Indy_ Well-Known Member

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

    Тк эта архитектурная фишка предназначена для запуска ос. Сделать что либо меньшее не получится вот у товарища выше ловит какие то ловушки и память ну а толку с того ?

    Этой фигнёй даже блокнот не крутнёшь. Ну есть сурки читай развлекайся если интересно, IA маны только не засни читая эту фигню :lol:
     
  14. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Да, мне даже вакансия от них в рекламу в вк прилетала ее пилить, как идея может это и интересно, но существенный вопрос, какое качество кода у них будет. Никто не в курсе, что у них там за стек? В рекламе были плюсы, но есть ли сейчас смысл пилить что-то с нуля на плюсах, когда есть тот же раст.
     
  15. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Ты сначала найди спецов на расте в количестве, достаточном для целой операционки)

    А вообще, между плюсами и растом я бы выбрал плюсы.
    Если их правильно приготовить, получится вполне безопасный код.
     
  16. Rel

    Rel Well-Known Member

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

    Ты не подумай, что я топлю за Раст или че-то такое. Я вообще считаю синтаксис Раста очень уродливым. Но пару лет наверное назад я общался с начальником одной достаточно крупной российской компании, которые начали внедрять Раст еще до того, как он стал 1.0. Так вот он сказал интересную вещь, мол нашему бизнесу лучше и выгоднее нанять пятерку джунов под Раст, которым компилятор Раста не будет давать стрелять себе в ноги, чем двух сеньеров под Плюсы, которые будут достаточно грамотные, чтобы самим не стрелять себе в ноги.
     
  17. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    HoShiMin, слушай, а помнишь, ты говорил, что у тебя QuickJS не завелся в ядре? А что там была за проблема? Вроде по коду обычная сишечка, не должно было бы быть проблем.
     
  18. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.455
    Адрес:
    Россия, Нижний Новгород
    Собраться собралось, а скрипты не выполняло. Без ошибок и крашей, просто не выполняло. Деталей уже не помню, разбираться не стал.
     
  19. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Ну ясно, просто стал сорсы смотреть, вроде неплохой на вид движок, да и известный чувачок его запилил. Надо будет потыкать в него потом, как руки дойдут.
     
  20. RETN

    RETN Member

    Публикаций:
    4
    Регистрация:
    4 апр 2020
    Сообщения:
    74
    У меня с ходу Dr2 спалился