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

Моя мастерская: https://t.me/itmosysint
Download Telegram
🚀 Binary Thinking: С++ & Windows

Это будет курс не про «выучить синтаксис C++» и не про очередное повторение учебника.

Мы будем разбираться, как программный код работает на самом деле — от исходника на C/C++ до машинного кода, памяти процесса, операционной системы и ядра.

Начнем с software internals и на практике посмотрим, как связаны:

→ код на C/C++
→ компилятор и линкер
→ object files
→ assembler и machine code
→ executable files
→ runtime memory
→ stack и heap
→ процессы, библиотеки и операционная система

Разберемся, что происходит с программой между моментом, когда вы нажали Build, и моментом, когда процессор начал выполнять инструкции, и какие именно он будет выполнять.

🛠 Сборка и организация проектов

Научимся работать с Visual Studio, VS Code, CMake и Makefile.

Но главное — разберемся не только как ими пользоваться, а когда какой инструмент выбирать, как их сочетать и как правильно организовывать реальный проект.

⚙️ C → C++

Отдельно перейдем от C к C++.

Я покажу, почему это не просто «C с классами», а во многом совершенно другой язык и другой способ проектирования программ.

Разберем ключевые механизмы C++ так, чтобы после курса вы могли использовать язык осознанно и уверенно.

🏗 Software Design

Будем много говорить опроектировании ПО:
OOP, архитектура, декомпозиция, интерфейсы, зависимости и design patterns.

И не просто смотреть схемы на слайдах — будем применять всё это в коде.

🐛 Debugging & Reverse Engineering

Научимся пользоваться профессиональными инструментами:
kd, cdb, gdb, Visual Studio Debugger, VS Code, системами tracing и profiling, а также декомпиляторами и другими инструментами анализа программ.

Будем смотреть, что происходит с программой не только на уровне исходного кода, но и внутри процесса и операционной системы.

🪟 Windows Internals

Отдельный большой блок посвятим Windows — одной из самых сложных современных операционных систем.

Разберемся, как она устроена, как работают процессы, память, DLL, exceptions, user mode и kernel mode и как правильно писать системный код под Windows.
Для сравнения будем регулярно заглядывать и в Linux.

🎮 Большой практический проект

С нуля спроектируем и напишем собственную игру.
На ее примере разберем полный жизненный цикл проекта:

архитектура → код → сборка → отладка → profiling → организация проекта → deploymen
t.

Все знания курса постепенно соберем в один большой работающий проект.

🔬 Будет много экспериментов

DLL injection.
Stack overflow.
Kernel debugging.
ROP.
Запустим DOOM через pipe.
Попробуем запихнуть DOOM в driver.

И вообще будем регулярно делать вещи, после которых становится значительно понятнее, что происходит внутри компьютера

😈Я подготовил большое количество реального кода для разбора: Linux, Windows, BIOS (AMI), драйверы, приложения, шеллкоды, DOOM, GTA V и другие проекты.

Будем читать код, запускать его, отлаживать, дизассемблировать, модифицировать и исследовать его поведение.

💻 Максимум практики

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

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

🎯 Главная цель курса

Дать вам ключевые практические навыки проектирования, создания, отладки и анализа программного обеспечения.

После курса у вас должно появиться целостное понимание:
что такое C и C++ на практике, как работает программный код, что происходит внутри Windows и Linux и как все эти уровни связаны между собой.

И, конечно, я буду отвечать на вопросы и помогать разбираться со сложными темами по ходу всего курса.

Если вам интересно не простописать код, а понимать, что происходит под капотом, — этот интенсив именно про это.

Если вам это интересно прошу принять участие в предварительном голосовании, чтобы мне все спланировать.
👇👇👇
❤10🤮1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Предыдущие посты, связанные с учебной информацией, могли вас запутать, поэтому немного проясню ситуацию, чтобы не было недопониманий.

1. Binay Thinking: C++ & Windows - это мой авторский курс (интенсив), не входящий в сетку расписания ИТМО. По графику проведения под всех, увы, подстроиться не смогу, поэтому если есть непреодолимое желание его прослушать, придется вам находить время. Формат смешанный.

Этот курс создан мной в рамках ФБИТ и для наших (ИТМО) студентов он бесплатный. Юридически он принадлежит ИТМО, поэтому внешних слушателей можно подключать только на платной основе. Цену устанавливаю не я.

Этот курс - вводный, подойдет всем желающим. Это переосмысленный прошлогодний интенсив Hello Coder, Hello C++, Hello Windows. Для тех, кто слушал в прошлом году тоже найдет много нового, а местами повторимся, закрепим. В этом году будет больше примеров реального кода. Не будем гнаться именно за игрой, так как помимо есть еще много чего интересного. Самое главное чтобы слушатели разобрались в материале.

2. Проект с аппаратным обеспечением - это совершенно новый этап. Это долгосрочный проект лаборатории.

НЕ КУРС (хотя элемент внутренних мастер-классов для участников планируется). Здесь у нас все на ранней стадии, поэтому не ждите быстрого развития событий. Однако, спасибо всем, кто написал. Позже разошлю анкеты, будут очные встречи итд.

Для нашей будущей лаборатории ищем целеустремленных и заинтересованных людей. Задачи будут сложные, многому придется учиться самостоятельно и на своих ошибках. Уверен будет интересно!

3. Скоро запускаем еще один новый проект в Лаборатории Системного Программирования. Ориентировочно 20го числа. Это уже третья позиция, не имеющая отношения к предыдущим.

То, что связывает эти проекты - мое непосредственное участие. Все это я провожу совместно с коллегами в рамках ФБИТ ИТМО.

Всем спасибо за фидбэки.

Работаем.
❤17
Все мы помним, что главная задача, это управление сложностью
❤4
Друзья, мне нужно разобраться с такой штукой как FPGA и Verilog. Посоветуйте, пожалуйста, какую-нибудь толковую книжку по этому вопросу. Я увы вообще не шарю, но мне надо.
Всем привет!

Как я и говорил в ИТМО много всякой прикольной движухи. Основная проходит в IT Space. Я стараюсь тоже в ней принимать участие, например я веду мастерскую системного программирования но про нее мы еще поговорим позже — будет новый проект.
👇👇👇
🔥3
👆👆👆
Прикол в IT Space в том, что там много публичных, открытых для всех, мероприятий, которые проводятся регулярно. И сезон таких встреч начинается с заседания CTF-клуба это уже в ближайшие выходные!

Хакерская спортивная команда Команда CTF ITMOteam существует уже с 2023 года, а с сентября 2026 она стала официальной спортивной секцией "Спортивный хакинг (CTF)" в ССК "Кронверкские Барсы".

Ребята в команде реально классные специалисты, и самое главное они обладают не только начитанностью и теоретическими знаниями, но самое главное — огромным практическим опытом, они все время тренеруются и участвуют в различных соревнованиях — это уже более десятка крупных российских соревнований, включая НТО и финалы известных VolgaCTF, Кубка CTF России и Всероссийской Студенческой Кибербитвы, которые регулярно проходят в Москве.Как

известно: "Практика - критерий истины". Здорово, что CTF-клуб не ограничивается только командой, а представляет собой клуб — сообщество, в которое все кто готов может вступить. Тут важно не только постоянные тренировки, но и уютная дружеская атмосфера и интересное общение. В CTF-клубе и на встречах, которые он проводит можно прокачать свои навыки и знания, а так же пообщаться с реальными специалистами в области инфобеза лично.

Я всегда рад присутствовать на встречах клуба. Увы редко получается, но я многих ребят оттуда знаю и ценю это (ребята, вам отдельный привет!).

Приходите! Знакомьтесь! Участвуйте!
🔥5
Поздравляю всех с днем программиста!
Пусть у вас будут интересные проекты и вам за них много платят!
🎉24😁3🔥1
Forwarded from NullzeRT ⁧hjkl
finally, some freaking IA64
❤11🤣3
Китайское палево.

Дообученная видимо... Да и вряд ли это был секрет. Но забавно)

Тем не менее в основном работает норм для бытовых и простых задач.

Сберовский мне не ни разу не помог. Хотя Кандинский норм.
🥰2
EBFE: software internals
20 занятий × 3 часа = 60 часов занятий. Формат курса в первую очередь очный. Возможен смешанный формат с подключением через KTalk. Для студентов ИТМО он бесплатный, для всех остальных будет предусмотрена платная запись на курс. Прошу проголосовать по всем…
Друзья! Тут тролль (ник такой) правильно написал в комментариях.

Я не рассказываю ничего того, что не написано где-то в книгах или интернете. И вы сами можете всему научиться.

В частности, я этому всему так и учился: читал книги и работал. Прям именно так. Мне не рассказывали этот материал в универе. Многое я узнал проводя недели в отладчике, или работая в команде, или создавая программные продукты и проводя их деплоймент. 

И знать о том как все это работает необходимо.

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

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

У всех разная подготовка. Я преподаю с 2010го года и видел много талантливых и умных ребят, которые не знали или заблуждались в ряде базовых вещей. Ничего страшного в этом нет. Зато какой кайф они получали, когда все у них в голове вставало на свои места. В общем это индивидуально.

Курс построен так, чтобы покрыть ключевые моменты, которые я (курс авторский) считаю важными + я его меняю каждый год (все развивается и не стоит на месте). Для меня важно, чтобы на выходе у вас было понимание, а не просто очередной курс для галочки.

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

Мои курсы это в первую очередь мои ответы на ваши вопросы, мои истории из жизни по части кодинга и не только, общение, новые знакомства для вас с людьми со всего ИТМО (вы формируете социальный капитал) и уже потом это сухой материал, который вы можете найти в книгах (список я тоже вам выдам).
🔥16
Forwarded from IT | Space
This media is not supported in your browser
VIEW IN TELEGRAM
🧑‍💻 Встреча: Инвентаризация информационной системы - глубокое погружение

🤝 Мастерская системного программирования ИТМО запускает новый проект, который будет собирать информацию о железе: датчики, серийные номера, метрики и настройки. В центре внимания встречи - архитектура будущей системы, выбор данных для сбора с железа и практические шаги по организации проекта.

На встрече:

▪️выбираем название проекта;
▪️обсуждаем план работ и архитектуру системы;
▪️делаем первый коммит в новый репозиторий.

👨‍💻 Будет интересно и тем, кто только погружается в тему, и практикам, которые уже работают с мониторингом и инвентаризацией.

🎙Спикер: Алексей Никольский, преподаватель ФБИТ ИТМО, эксперт в области программирования, реверс-инжиниринга и работы с операционными системами.

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

🗓 Воскресенье, 20 сентября, 11:00-13:00
📍 Гибридный формат, Университет ИТМО, Песочная Набережная, 14, ауд. 306 + Kontur Talk.

(QR для прохода и ссылка для подключения будут высланы после регистрации на почту накануне мероприятия)

➡️ Регистрация ⬅️
______________________________
itspace@itmo.ru
📲 Max 💙 VK
📺 Rutube 📺 VK Video 📺 YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dev Meme / devmeme
😁4
👇👇👇
Всем привет!

Не так давно я читал студентам лекцию про windows и упомянут такого человека как Марк Руссинович. Он думаю все известен тем, что он один из авторов (вместе с Соломоном) книги Windows Internals, которая ныне уже имеет 7е издание. Книга несомненно заслуживает внимание и практически обязательна к прочтению. Я по ней экзамен сдавал в институте.

А вот автор книги - Марк, человек действительно интересный. Так уж вышло, что мне довелось увидеть его лично и даже немного пообщаться. Он производит потрясающее впечатление. По его собственному рассказу дело было так: он отучился в университете и когда его закончил - задумался: "А чем бы таким заняться? Тааак... Сейчас популярная ОС это Windows.... так посмотрим что там интересненького....". В результате он дизассемблировал ядро винды, нашел там несколько уязвимостей и ошибок и опубликовал их. Так он начал свой путь. Далее он глубоко разобрался сам в том как работает винда и создал, наверное лучший набор утилит диагностики wininternals (ныне sysinternals), включая все известный process explorer. Все это написал он сам и в результате основал компанию wininternals, которая как я понял, занималась консультациями и разработкой софта для windows. Помимо этого он стал врагом №1 для Microsoft. Были и суды, и потом написание книги с Соломоном, потом Microsoft пытался купить и его и его компанию. И в конечном итоге им это удалось. И сейчас он член высшего технического совета Microsoft и курирует много работ. До сих пор пишет код.
Я думаю это хороший пример успешной карьеры, которую человек построил своим трудом и интеллектом. Он сочетает в себе ум блестящего инженера и предпринимательский талант и он не ленился этим пользоваться и много работать.

На таких примерах стоит учиться.
Всем хорошего вечера и продолжения рабочей недели!
🔥19
#предложка
Коллега прислал с комментарием:
Для тех, кто любит стрелять себе в ногу
😁13❤2
Всем привет!
Сегодня прошла первая встреча по новому проекту.

Название утвердили: quanta.
У вердили архитектуру.

И базовые принципы.
Все это я нормально оформлю и опубликую на неделе.
Через неделю сделаю первый комит и тогда уже полноценно стартанем.
Пока предлагаю всем подумать и помечтать что было бы интересно расковырять именно вам.

Спасибо всем кто участвовал!

Все. Хорошего продолжения дня!
❤3🔥1
Forwarded from Nikita Talalai
Может быть кому-то будет интересно: сейчас начинается школа синтеза цифровых схем от ядра, формат онлайн/оффлайн, для оффлайна возможно нужно будет пройти отбор (в СПб можно обучаться оффлайн в ИТМО и СПбПУ), заявки до 31 октября, но до 10 октября уже пройдет отбор для оффлайна
👍5❤1