EBFE: software internals
389 subscribers
346 photos
60 videos
45 files
120 links
Авторский канал Алексея Никольского.
Пишу код операционок и гипервизоров больше 20 лет и читаю лекции студентам.
Делюсь своими мыслями, интересными материалами, мемасиками и всегда рад общению!

Моя мастерская: https://t.me/itmosysint
Download Telegram
Forwarded from Dev Meme / devmeme
😁12
Dev Meme / devmeme
Wake up babe, fun never stops
Спасибо коллеге из комментариев! Я действительно понял не правильно. Не слышал про эту недавнюю новость (надеюсь коллега предоставит ссылочку в комментах тут).

А про "интересные" всё очень просто: у этих утилит типо cpuz, rweverything, и им подобные есть драйвера подписанные, через которые они и собирают всю информацию об оборудовании. Сейчас эти драйвера ставятся, но Microsoft их добавила в blacklist который можно отключить в настройках (скриншот). Я для ведения занятий и демонстрации всяких фишек вынужден это отключать. Хотя следует отметить, Microsoft действительно провела огромную работу по улучшению безопасности винды - и с учетом всяких Virtualization Based Scurity, защита на основе репутации, да и Windows Defender очень не плох.

Вернусь к вопросу с "интересными" драйверами. Для сбора подобной информации они в своем составе имеют прикольные DeviceIoControl которые в нахал умеют: читать и писать физическую память, rdmsr, wrmsr, portio. Каждой из этих функций достаточно чтобы выполнить код в ядре винды в обход механизмов защиты.

Через физическую память можно поменять Page Tables (уже нельзя винда закрыла возможность еще в билде 1920 или типо того), wrmsr можно переопределить системный вызов, черех Portio можно устройства перепрограммировать итд....
Везде это не просто сделать, но реально.

Поэтому теперь эти драйвера в blacklist.

Работало еще лет 10 назад....

Вол это я и имел ввиду под термином "интересные".
❤‍🔥6❤1
Forwarded from Dev Meme / devmeme
😁11
EBFE: software internals
Всем привет! В результате проведенного голосования, согласования с моим расписанием и институтом, получился следующий календарь наших занятий на май.
Вас ждет 10 занятий.
* Формат проведения будет смешанный и очно и онлайн.
* Очный формат считаю приоритетным. Онлайн для тех кто вынужден пропустить.
* Записи не будет
* В прошлые разы некоторые сами организовывали записи занятий через OBS для того чтобы потом посмотреть. Я препятствовать не буду - обстоятельства реально бывают разные. Однако помните, что за распространение этих записей вы уже будете общаться со службами в ИТМО.
* каждый день занятия будут длиться 3 часа.

Следующим постом мы выберем время - так же голосованием.
🔥5👎1
Прошу проголосовать о времени проведения занятий. Занятия по 3 часа в указанные даты. На этот раз добавил утренний блок (ну вдруг).
Anonymous Poll
31%
10:00-13:00
11%
11:00-14:00
11%
12:00-15:00
17%
17:00-20:00
43%
18:00-21:00
80%
19:00-22:00
Forwarded from Dev Meme / devmeme
🙉3🤣1
Forwarded from Dev Meme / devmeme
🏆3
Forwarded from Dev Meme / devmeme
❤3😁1
Forwarded from ФБИТ_LIVE
🔥Открыта регистрация на интенсив: Системное программирование 2026

На занятиях разберемся:
▪️как работает процессор
▪️как формируются инструкции
▪️как устроена виртуальная и сегментная память
▪️как работают прерывания и взаимодействие с устройствами
▪️основы аппаратной виртуализации
▪️современные технологии защиты TDX/TXT/TPM/VMX и др.
▪️что происходит в первую секунду после включения компьютера

На курсе поделимся не теорией из учебников, а практическим опытом:
отдельно затронем такие вещи как: PCI, IDT, ACPI, APIC, VMCS, MSR, PML4 и другие ключевые механизмы. Посмотрим на реальные эксплойты с использованием этих знаний

Уже в четвёртый раз на интенсиве мы будем писать собственную операционную систему с нуля — прямо во время занятий.
В прошлых потоках доходили даже до запуска Doom 🙂

В этом году добавим:
— работу с UEFI
— использование нейросетей для ускорения разработки


Для кого этот курс:
❗️Интенсив сложный и рассчитан на тех, кто хочет стать специалистом

Вам понадобятся:
▪️знание языка C
▪️понимание стандартной библиотеки
▪️работа с указателями

Правила:
– только для студентов ИТМО
– формат: смешанный (очно + ktalk)
– записей не будет

Расписание:
13.05 (ср), 14.05 (чт), 15.05 (пт)
18.05 (пн), 19.05 (вт), 21.05 (чт), 22.05 (пт)
25.05 (пн), 26.05 (вт), 28.05 (чт)

⏱ 19:00 – 22:00, ауд. 311
👉Регистрация до 12 мая включительно

Почему стоит пойти:
вы не просто узнаете, как устроены системы — вы начнёте понимать их на уровне, необходимом для разработки, реверса и поиска уязвимостей
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Forwarded from IT | Space
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍💻 Семинар: VibeCoding в системном программировании

👨🏻‍💻 Алексей Никольский, преподаватель ФБИТ ИТМО из Мастерской системного программирования ИТМО, практикующий эксперт в области программирования, реверс-инжиниринга и работы с операционными системами, в преддверии запуска своего авторского курса Системное программирование 2026 предлагает вам погрузиться в мир настоящего вайбкодинга и выяснить как эффективно и правильно использовать ИИ-инструменты нового поколения

На семинаре:

▪️ Системный вайбкодинг при помощи GPT (SATA/GDB)
▪️ Истории о том, как GPT загрузчик ОС, USB-стэк, VoCoder писали
▪️ Живая дискуссия, обмен опытом использования разных LLM
▪️ Практические рекомендации и советы по организации работы с LLM в системном программировании

🧑‍🎓 Идеально для студентов, любителей и профессионалов в области беспощадного (вайб)кодинга - обязательно возьмите с собой ноутбуки 💻

❓ Как, где, когда?

🗓 Понедельник, 11 мая, 15:30-17:00
📍 Гибридный формат, Песочная набережная, 14, 306 ауд.
(Ссылка будет выслана на почту после регистрации накануне мероприятия)

➡️ Регистрация ⬅️
______________________________
itspace@itmo.ru
📲 Max 💙 VK
📺 Rutube 📺 VK Video 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
Начинаю лекцию по вайб кодингу
Присоединяйтесь все!
https://itmo.ktalk.ru/ybfll94edkuv
🔥2
IT | Space
👨‍💻 Семинар: VibeCoding в системном программировании 👨🏻‍💻 Алексей Никольский, преподаватель ФБИТ ИТМО из Мастерской системного программирования ИТМО, практикующий эксперт в области программирования, реверс-инжиниринга и работы с операционными системами, в…
Друзья! В рамках дополнительного исследования всяких llm я решил проверить насколько они круты в решении достаточно сложной задачи. Кто-то из вас её точно знает, а для кого-то в новинку. Я много лет давал её студентам как доп задачка со звездочкой. Решают ее обычно 2-3 человека из 100. Итак задачка:

Написать программу на языке С, которая печатает на экран последовательность чисел Фибоначчи, по одному на строку (номер и значение числа на строке), количество печатаемых символов пусть берётся из аргумента программы или по умолчанию 20. Ты должен минимизировать количество алфавитных букв в коде программы, символы и цифры можно использовать без ограничений.

Кто не решал - рекомендую попробовать самим решить.

Я загнал эту задачу в разные llm и решил посмотреть кто решит. Пока результат такой:
Grok платный - 15 букв оставил
Kimi бесплатный - 24 буквы
Qwen бесплатный - 20 букв.
ChatGPT pro - 0 букв (сразу сделал грязный хак - опция -D у компилятора) но я его пристыдил и он выдал правильное решение - 4 буквы (main).

Прошу для чистоты эксперимента, кто может - проверьте решение в Gemini, Claude и может ещё где. Правильное решение 4 буквы. Конкретный промпт для чистоты эксперимента в комментариях оставлю. Поделитесь результатами. Очень интересно. Пока понятно за что я 10к заплатил)
❤1
Forwarded from Dev Meme / devmeme
😁4
Forwarded from Derp Learning
😁4
Всем привет!
❗Напоминаю, что сегодня продолжаем лекции! В прошлый раз уже появился загрузчик - сегодня сделаю комит на гитхаб.

Я продолжаю развлекаться с LLM (надо же осваимвать новые технологии). Сейчас изучаю средства защиты от реверса (да и готовлюсь к лекции).

Итак, в результате исследований у меня получилось сделать 2 бинаря - оба делают одно и то же. Оба загрузочные образы для ARM32. Ваша задача понять что делает бинарь - то есть разраверсить каждый бинарь. Пробуйте сами, используйте LLM - все что хотите.
firmware_v2.bin
56.9 KB
Один бинарь посложнее (v2) первый (v1) попроще.
Делитесь результатами в комментариях. Очень интересно, что получится. Первый точно норм реверсится.
😁4🐳1
Всем привет!

Я создал репозиторий по системному программированию, чтобы вам было удобнее пользоваться учебными материалами:

https://github.com/sit-itmo/SysProg2026

Сейчас там три основные папки:

minimal — результат упражнения, где мы писали Hello World буквально через hex-редактор и разбирали ELF/машинный код.
hello — наш эксперимент с виртуальной памятью: адреса, строки, пользовательское пространство и всё, что мы обсуждали на занятии.
molokos — начало нашей будущей учебной ОС. Мы уже неплохо продвинулись: kernel.c компилируется под x64 и даже запускается, но пока падает на printf.

Будет круто, если к понедельнику кто-нибудь найдёт ошибку. Если нет — продолжим разбирать на лекции. Скорее всего, проблема где-то в настройке стека.

Важно: это именно учебные материалы. Они будут особенно полезны тем, кто был на лекциях и понимает контекст упражнений.
❤9