По-моему этой теме минимум лет 10 но то что там драйвера в составе "интересные" это факт.
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 назад....
Вол это я и имел ввиду под термином "интересные".
А про "интересные" всё очень просто: у этих утилит типо cpuz, rweverything, и им подобные есть драйвера подписанные, через которые они и собирают всю информацию об оборудовании. Сейчас эти драйвера ставятся, но Microsoft их добавила в blacklist который можно отключить в настройках (скриншот). Я для ведения занятий и демонстрации всяких фишек вынужден это отключать. Хотя следует отметить, Microsoft действительно провела огромную работу по улучшению безопасности винды - и с учетом всяких Virtualization Based Scurity, защита на основе репутации, да и Windows Defender очень не плох.
Вернусь к вопросу с "интересными" драйверами. Для сбора подобной информации они в своем составе имеют прикольные DeviceIoControl которые в нахал умеют: читать и писать физическую память, rdmsr, wrmsr, portio. Каждой из этих функций достаточно чтобы выполнить код в ядре винды в обход механизмов защиты.
Через физическую память можно поменять Page Tables (уже нельзя винда закрыла возможность еще в билде 1920 или типо того), wrmsr можно переопределить системный вызов, черех Portio можно устройства перепрограммировать итд....
Везде это не просто сделать, но реально.
Поэтому теперь эти драйвера в blacklist.
Работало еще лет 10 назад....
Вол это я и имел ввиду под термином "интересные".
❤🔥6❤1
EBFE: software internals
Всем привет! Сегодня я анонсирую уже ставший традиционным интенсив по системному программированию. Я занимаюсь системным программированием более 20 лет, и мне особенно приятно проводить этот курс. За это время я успел поработать над самыми разными задачами:…
Всем привет! В результате проведенного голосования, согласования с моим расписанием и институтом, получился следующий календарь наших занятий на май.
👍5
EBFE: software internals
Всем привет! В результате проведенного голосования, согласования с моим расписанием и институтом, получился следующий календарь наших занятий на май.
Вас ждет 10 занятий.
* Формат проведения будет смешанный и очно и онлайн.
* Очный формат считаю приоритетным. Онлайн для тех кто вынужден пропустить.
* Записи не будет
* В прошлые разы некоторые сами организовывали записи занятий через OBS для того чтобы потом посмотреть. Я препятствовать не буду - обстоятельства реально бывают разные. Однако помните, что за распространение этих записей вы уже будете общаться со службами в ИТМО.
* каждый день занятия будут длиться 3 часа.
Следующим постом мы выберем время - так же голосованием.
* Формат проведения будет смешанный и очно и онлайн.
* Очный формат считаю приоритетным. Онлайн для тех кто вынужден пропустить.
* Записи не будет
* В прошлые разы некоторые сами организовывали записи занятий через 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 ФБИТ_LIVE
На занятиях разберемся:
▪️как работает процессор
▪️как формируются инструкции
▪️как устроена виртуальная и сегментная память
▪️как работают прерывания и взаимодействие с устройствами
▪️основы аппаратной виртуализации
▪️современные технологии защиты TDX/TXT/TPM/VMX и др.
▪️что происходит в первую секунду после включения компьютера
На курсе поделимся не теорией из учебников, а практическим опытом:
отдельно затронем такие вещи как: PCI, IDT, ACPI, APIC, VMCS, MSR, PML4 и другие ключевые механизмы. Посмотрим на реальные эксплойты с использованием этих знаний
Уже в четвёртый раз на интенсиве мы будем писать собственную операционную систему с нуля — прямо во время занятий.
В прошлых потоках доходили даже до запуска Doom 🙂
В этом году добавим:
— работу с UEFI
— использование нейросетей для ускорения разработки
Для кого этот курс:
Вам понадобятся:
▪️знание языка C
▪️понимание стандартной библиотеки
▪️работа с указателями
Правила:
– только для студентов ИТМО
– формат: смешанный (очно + ktalk)
– записей не будет
Расписание:
18.05 (пн), 19.05 (вт), 21.05 (чт), 22.05 (пт)
25.05 (пн), 26.05 (вт), 28.05 (чт)
👉Регистрация до 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
👨🏻💻 Алексей Никольский, преподаватель ФБИТ ИТМО из Мастерской системного программирования ИТМО, практикующий эксперт в области программирования, реверс-инжиниринга и работы с операционными системами, в преддверии запуска своего авторского курса Системное программирование 2026 предлагает вам погрузиться в мир настоящего вайбкодинга и выяснить как эффективно и правильно использовать ИИ-инструменты нового поколения
На семинаре:
▪️ Системный вайбкодинг при помощи GPT (SATA/GDB)
▪️ Истории о том, как GPT загрузчик ОС, USB-стэк, VoCoder писали
▪️ Живая дискуссия, обмен опытом использования разных LLM
▪️ Практические рекомендации и советы по организации работы с LLM в системном программировании
🧑🎓 Идеально для студентов, любителей и профессионалов в области беспощадного (вайб)кодинга - обязательно возьмите с собой ноутбуки 💻
❓ Как, где, когда?
🗓 Понедельник, 11 мая, 15:30-17:00
📍 Гибридный формат, Песочная набережная, 14, 306 ауд.
(Ссылка будет выслана на почту после регистрации накануне мероприятия)
______________________________
itspace@itmo.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
🔥2
IT | Space
Друзья! В рамках дополнительного исследования всяких llm я решил проверить насколько они круты в решении достаточно сложной задачи. Кто-то из вас её точно знает, а для кого-то в новинку. Я много лет давал её студентам как доп задачка со звездочкой. Решают ее обычно 2-3 человека из 100. Итак задачка:
Написать программу на языке С, которая печатает на экран последовательность чисел Фибоначчи, по одному на строку (номер и значение числа на строке), количество печатаемых символов пусть берётся из аргумента программы или по умолчанию 20. Ты должен минимизировать количество алфавитных букв в коде программы, символы и цифры можно использовать без ограничений.
Кто не решал - рекомендую попробовать самим решить.
Я загнал эту задачу в разные llm и решил посмотреть кто решит. Пока результат такой:
Grok платный - 15 букв оставил
Kimi бесплатный - 24 буквы
Qwen бесплатный - 20 букв.
ChatGPT pro - 0 букв (сразу сделал грязный хак - опция -D у компилятора) но я его пристыдил и он выдал правильное решение - 4 буквы (main).
Прошу для чистоты эксперимента, кто может - проверьте решение в Gemini, Claude и может ещё где. Правильное решение 4 буквы. Конкретный промпт для чистоты эксперимента в комментариях оставлю. Поделитесь результатами. Очень интересно. Пока понятно за что я 10к заплатил)
Написать программу на языке С, которая печатает на экран последовательность чисел Фибоначчи, по одному на строку (номер и значение числа на строке), количество печатаемых символов пусть берётся из аргумента программы или по умолчанию 20. Ты должен минимизировать количество алфавитных букв в коде программы, символы и цифры можно использовать без ограничений.
Кто не решал - рекомендую попробовать самим решить.
Я загнал эту задачу в разные llm и решил посмотреть кто решит. Пока результат такой:
Grok платный - 15 букв оставил
Kimi бесплатный - 24 буквы
Qwen бесплатный - 20 букв.
ChatGPT pro - 0 букв (сразу сделал грязный хак - опция -D у компилятора) но я его пристыдил и он выдал правильное решение - 4 буквы (main).
Прошу для чистоты эксперимента, кто может - проверьте решение в Gemini, Claude и может ещё где. Правильное решение 4 буквы. Конкретный промпт для чистоты эксперимента в комментариях оставлю. Поделитесь результатами. Очень интересно. Пока понятно за что я 10к заплатил)
❤1
Всем привет!
❗Напоминаю, что сегодня продолжаем лекции! В прошлый раз уже появился загрузчик - сегодня сделаю комит на гитхаб.
Я продолжаю развлекаться с LLM (надо же осваимвать новые технологии). Сейчас изучаю средства защиты от реверса (да и готовлюсь к лекции).
Итак, в результате исследований у меня получилось сделать 2 бинаря - оба делают одно и то же. Оба загрузочные образы для ARM32. Ваша задача понять что делает бинарь - то есть разраверсить каждый бинарь. Пробуйте сами, используйте LLM - все что хотите.
❗Напоминаю, что сегодня продолжаем лекции! В прошлый раз уже появился загрузчик - сегодня сделаю комит на гитхаб.
Я продолжаю развлекаться с LLM (надо же осваимвать новые технологии). Сейчас изучаю средства защиты от реверса (да и готовлюсь к лекции).
Итак, в результате исследований у меня получилось сделать 2 бинаря - оба делают одно и то же. Оба загрузочные образы для ARM32. Ваша задача понять что делает бинарь - то есть разраверсить каждый бинарь. Пробуйте сами, используйте LLM - все что хотите.