1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

[C++17|Ring0] The Kernel-Bridge Framework

Тема в разделе "Оффтопик", создана пользователем HoShiMin, 19 авг 2018.

  1. Автор темы
    HoShiMin

    HoShiMin Старожил Пользователь

    Баллы:
    173
    Дело было вечером, делать было нечего - набросал простенький ядерный фреймворк и набор API для простой и безболезненной разработки драйверов. Решил поделиться с сообществом.

    Поддерживает:
    - Все фичи C++17 (кроме C++ исключений)
    - Порты ввода-вывода и проброс в юзермод инструкций 'in/out/cli/sti'
    - Работу с системной пищалкой
    - Работу с MSR, вызов CPUID/RDTSC/RDPMC
    - Работу с физической памятью (маппинг, чтение\запись)
    - Свободную работу с памятью ядра (выделение, маппинг, чтение\запись)
    - Работа с памятью чужих процессов
    - Создание юзермодных и ядерных потоков
    - Сопутствующий функционал
    - Соответствует требованиям Windows Drivers Recommended Rules

    В разработке:
    - Юзермодная подписка а-ля Bukkit на события ядра (создание процессов, работа с файлами и т.д.)
    - Защита процессов
    - Загрузка неподписанных драйверов и инжект библиотек
    - Выполнение произвольных шеллов в Ring0
    - Скрытие памяти, проброс ядерной памяти в юзермод через патч PTE
    - Разный стафф для ядра (порт основных классов из STL)

    Проект разделён на 4 части:
    - API для разработки драйверов
    - Готовый шаблон драйвера и минифильтра с заготовками для обработчиков
    - Юзермодный API для общения с драйвером
    - Типовые юнит-тесты, покрывающие базовый функционал

    API не имеет зависимостей и может свободно использоваться в любом стороннем проекте.

    Страничка на GitHub: https://github.com/HoShiMin/Kernel-Bridge
     
    Последнее редактирование: 20 авг 2018
  2. Firkys

    Firkys Активный участник Пользователь

    Баллы:
    88
    Skype:
    Firkys
    Имя в Minecraft:
    Firkys
    Зря время тратишь тут, не каждый инструкцию то знает.
     

Поделиться этой страницей