Как стать автором
Обновить
27
-0.1

Пользователь

Отправить сообщение

Как подключить содержимое любых файлов для использования в коде C / C++

Время на прочтение5 мин
Количество просмотров23K

Задача состояла в подключении файлов: HTML, JS, CSS; без специальной подготовки. Так же неудобно подключать бинарные файлы (например картинки) конвертируя их в HEX. Так как не хотелось конвертировать в HEX или разделять на строки, искал способ подключения файла в адресное пространство программы.

Читать дальше →
Всего голосов 84: ↑83 и ↓1+82
Комментарии33

The Kernel-Bridge Framework: мостик в Ring0

Время на прочтение7 мин
Количество просмотров9.4K
Хотели ли Вы когда-нибудь заглянуть под капот операционной системы, посмотреть на внутреннее устройство её механизмов, покрутить винтики и посмотреть на открывшиеся возможности? Возможно, даже хотели поработать напрямую с железом, но считали, что драйвера — rocketscience?

Предлагаю вместе пройтись по мостику в ядро и посмотреть, насколько глубока кроличья нора.

Итак, представляю драйвер-фреймворк для kernel-хакинга, написанный на C++17, и призванный, по возможности, снять барьеры между ядром и юзермодом или максимально сгладить их присутствие. А также, набор юзермодных и ядерных API и обёрток для быстрой и удобной разработки в Ring0 как для новичков, так и для продвинутых программистов.

Основные возможности:

  • Доступ к портам ввода-вывода, а также проброс инструкций in, out, cli и sti в юзермод через IOPL
  • Обёртки над системной пищалкой
  • Доступ к MSR (Model-Specific Registers)
  • Набор функций для доступа к юзермодной памяти других процессов и к памяти ядра
  • Работа с физической памятью, DMI/SMBIOS
  • Создание юзермодных и ядерных потоков, доставка APC
  • Юзермодные Ob*** и Ps***-каллбэки и фильтры файловой системы
  • Загрузка неподписанных драйверов и ядерных библиотек

… и многое другое.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии15

Таймер — начало

Время на прочтение8 мин
Количество просмотров24K
Все началось с него. Это была первая моя покупка на Алиэкспресс для первой автоматизации на даче — захотелось сделать автополив в теплице. Таймер пришел в помятой коробке, с треснутым защитным колпаком, но рабочий. Он прекрасно отработал весь летний сезон поливая огурцы.На зиму был снят и спрятан в теплое и сухое место. Но на следующий сезон меня ждал неприятный сюрприз  — таймер стал зависать, переставал реагировать на кнопки управления и открывать воду. Сначала я грешил на дешевые батарейки и заменил их на фирменные Duraсell. Думал проблема в питании и пусковых токах. Не помогло. Тогда я достал паяльник и пропаял в нем все, что только можно, даже добавил некоторые недостающие конденсаторы. Но он упорно продолжал зависать. К сожалению, изделие не очень ремонтопригодно — в том что было у меня используется бескорпусная микросхема-капля и, видимо, что-то расконтачилось именно под компаундом с микросхемой. Кое-как сезон был закончен с таким барахлящим таймером и я начал думать чем же мне его заменить.
Читать дальше →
Всего голосов 60: ↑60 и ↓0+60
Комментарии57

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность