Курс на Stepik
Обложка курса «Ассемблер (NASM Linux x86-64) — Переход к Windows x64» на Stepik
1 690 ₽

Ассемблер (NASM Linux x86-64) — Переход к Windows x64 0.000

Открыть на
STEPIK.ORG

Курс о том, как ассемблерные знания, полученные на Linux, работают на Windows x64: другой ABI, другая модель системных вызовов, PE вместо ELF, DLL вместо .so. Финал курса — кроссплатформенный проект, который собирается под обе ОС из одного исходного кода.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Учеников на курсе 1
Сертификаты, выданные на курсе «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Сертификатов выдано 0
Отзывы о курсе «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Отзывов получено 0
Рейтинг курса «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Рейтинг курса 0.000
Уроки в курсе «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Количество уроков 46
Тесты в курсе «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Количество квизов 155
Стоимость курса «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Стоимость курса 1 690 ₽
Обновления курса «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Обновления курса
Дата публикации курса «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Дата публикации курса
Последнее обновление курса «Ассемблер (NASM Linux x86-64) — Переход к Windows x64»Последнее обновление
Сложность normal

Чему вы научитесь

  • Объяснять различия между Microsoft x64 calling convention и System V AMD64 ABI
  • Работать с shadow space и правильно сохранять регистры при вызовах WinAPI
  • Вызывать функции Windows API из ассемблера напрямую, без прослойки в виде C
  • Читать и анализировать структуру PE-файла так же, как ранее читали ELF
  • Работать с памятью процесса через VirtualAlloc, HeapAlloc и понимать разницу с brk/mmap
  • Создавать и подключать DLL, экспортировать и импортировать символы
  • Пользоваться WinDbg и dumpbin для отладки и анализа Windows-бинарников
  • Писать код, который компилируется и работает без изменений и на Linux, и на Windows

О курсе

Курс о том, как ассемблерные знания, полученные на Linux, работают на Windows x64: другой ABI, другая модель системных вызовов, PE вместо ELF, DLL вместо .so. Финал курса — кроссплатформенный проект, который собирается под обе ОС из одного исходного кода.

Для кого этот курс

Тем, кто прошёл курсы «Ассемблер (NASM Linux x86-64)» уровня 1–3 и хочет закрыть картину целиком, узнав, как те же принципы работают на другой платформе Тем, кто планирует заниматься системным программированием, reverse engineering или информационной безопасностью и должен одинаково уверенно читать код и под Linux, и под Windows Разработчикам, которые пишут кроссплатформенные библиотеки и хотят понимать низкоуровневые различия платформ не понаслышке, а на уровне регистров и вызовов Всем, кому интересно, почему один и тот же язык — ассемблер — выглядит и ведёт себя по-разному в зависимости от операционной системы

Начальные требования

  • Уверенное владение материалом курсов «Ассемблер (NASM Linux x86-64)» — как минимум курсов 1 и 2 (базовый синтаксис, работа с памятью, функции, стек вызовов, системные вызовы, препроцессор)
  • Понимание статической и динамической линковки (курс 2, раздел «Организация проектов»)
  • Базовые навыки работы в командной строке; для этого курса дополнительно понадобится доступ к Windows (локально или через виртуальную машину).

Преподаватели курса

Как проходит обучение

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

Что вы получите

  • Понимание того, как одна и та же архитектура (x86-64 / x64) по-разному используется в Linux и Windows
  • Навык чтения WinAPI-документации и вызова системных функций Windows напрямую из ассемблера
  • Умение анализировать PE-файлы и отлаживать программы в WinDbg
  • Опыт создания собственной DLL и работы с динамической линковкой в Windows
  • Готовый кроссплатформенный проект в портфолио, демонстрирующий понимание низкоуровневых различий между ОС
  • Сертификат о прохождении курса

Расскажите о курсе друзьям