The Kernel-Bridge Framework

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

  1. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Вайтлист по сертификатам и сигнатурам. До недавнего времени в BattleEye работал инжект через APC, но и его прикрыли. ААА-тайтлы, типа пабга и фортнайта, бессмысленно пытаться обойти методами в лоб
     
  2. superakira

    superakira Guest

    Публикаций:
    0
    HoShiMin, на самом деле не так там все это страшно. по сертам - это да, хотя по факту обходится и это все. пересекался чутка с читами/античитами. самый гемор это реализовывать хотелки читеров в плане автоэймов всяких, спидранов итд реверсить игрушки еще то удовольствие. разбирать трафик итд - туда же. много труда и выхлопа не особо много. ну это имхо.

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

    кстати интересно - атомбомбинг отработает на них.. или нет
     
  3. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    HoShiMin, кстати, самый бонус вирт == возможность построения развитой автоматики.. к примеру, в своём проекте можешь соорудить фичу автоматического поиска ошибок: фактически бинарный поиск по заданным критериям == в частности, можно выщемлять участки асм-портянки, где происходит бсод. :) и юм панельку для линя тоже имеет смысл соорудить :grin: а наиболее годный плеер вирт..
    svn co https://www.virtualbox.org/svn/vbox/trunk vbox
     
  4. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Только полноценную виртуалку практически нереально написать в соло) Если получится хотя бы обойти пг - я буду чрезвычайно доволен)
     
  5. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    а зачем писать виртуалку самому? возьми виртуалбокс и под него пропиши ковырялку и юм панель.
     
  6. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    А как именно ты это себе представляешь? Чью память ковырять - гостевой системы, или своей собственной?
    Ведь какой смысл гипервизора вообще? Повесить фильтры на то, что обычными средствами отфильтровать нельзя (например, подменить cpuid, обойти патчгуард).
    Сомневаюсь, что виртуалбокс в этом поможет, ведь он изначально нацелен на запуск гостей и не займёт ли больше времени изучение сотен тысяч строчек стороннего проекта, чем свой гипервизор с нуля?
    Ведь мне нужно совсем немного - научиться ловить доступ к памяти и выполнение заданных инструкций. И в плюс получу отсутствие зависимости от огромного проекта. Не говоря уже об опыте разработки своего гипервизора, что даже более ценно, чем конкретный результат.
     
  7. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    в общем и целом, конечно, тебе решать.. однако, по мне, свой гипервизор может потопить твой проект в вечной альфе.
    главное, что этот виртуалбокс ужо рабочий и тебе понадобится рихтануть необходимые части его функционала == изучать весь его код не требуется.
    так аль иначе всегда впадаешь в зависимость отчего-либо.. просто меняется форма/тип этой зависимости.
    1. зависишь от большого проекта.
    2. зависишь от нехватки времени и/ль прочих ресурсов.
    ====
    Диавол подери, ВСЕГДА от чего-то зависим :)
    хочешь изобрести новое "колесо" == покатай старое :grin:
    ??????? так пациент, по идее, в гостевой находится.
     
  8. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    В этом вся загвоздка: ты предлагаешь исследовать загруженную в виртуалбоксе гостевую операционку, верно?
     
  9. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    угу :)
     
  10. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    А я хочу немного другое: фильтровать выполнение на хостовой машинке (например, для обхода пг), как это сделано, например, в HyperBone или в гипервизоре в CheatEngine
     
  11. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    для юм задач можно брать любой дебагер (тот же gdb) и его автоматизировать, а для погружения в ядро оси вирта наиболее удобна == то ли у тебя целый хост улетает, то ль вирту только перезапустить надо :)
     
  12. HoShiMin

    HoShiMin Well-Known Member

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

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    HoShiMin, читы/кончиты == неважно: инструмент-то в общем и целом тот же самый :)
     
  14. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Дело было вечером, делать было нечего - написал гипервизор на AMD-V с поддержкой Nested Paging (AMD-RVI), взяв за образец SimpleSvm.
    Визор переводит работающую систему в гостевой режим и фильтрует заданные инструкции - в данном случае, подменяет имя вендора cpuid с AuthenticAMD на Hyper-Bridge.
    Все сурсы и подписанные бинарники в репозитории, в планах поддержка скрытия и подмены памяти, а также, визор для VT-x.
    05-01-2019 22-52-48.png
     
    sn0w, q2e74 и TermoSINteZ нравится это.
  15. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Выдалась минутка и, пока суть да дело, написал гипервизор для VT-x:

    HvVmm.png
     
    sn0w, TermoSINteZ и hiddy нравится это.
  16. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Минутка юмора от Ионеску:

    upload_2020-5-5_16-9-18.png
     
    hiddy нравится это.
  17. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Что угодно, лишь бы не писать четвёртую статью по гипервизорам ¯\_(ツ)_/¯


    upload_2020-7-20_0-18-10.png
     
    TermoSINteZ и hiddy нравится это.
  18. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    Запустил бы что-нить поинтереснее в ядре, типа Nim или Rust. Плюсы уже утомили давно.
     
  19. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Изначально я вообще хотел JS или питон, портировал чисто линуксовый QuickJS, но скрипты он выполнять так и не захотел, а в питоне миллиард файлов и портировать его... ну гемор.
    А тащить полноценные компиляторы - совсем уж рокетсаенс (да и незачем): проще собирать теми же нимом и растом бинарники в юзермоде, а потом мануалмапить их в ядро (коль скоро ядерный мануалмаппер у меня уже есть).
     
  20. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.242
    Почему рокетсаенс? Тебе просто нужно пройтись по стандартной библиотеке и портировать те функции, которые используют юзермодное апи. Ровно так же, как ты делаешь с плюсами, я так полагаю. Еще пофану можно Д попробовать в режиме betterC завести в ядре.
    --- Сообщение объединено, 20 июл 2020 ---
    Движок Duktape скорее всего заведется без особых проблем, раз у тебя AngelScript завелся.
    --- Сообщение объединено, 20 июл 2020 ---
    А, или ты имеешь ввиду компилиль портировать в ядро? Это никому в здравом уме не нужно.