Курс на 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

Содержание курса

Разделы в курсе «Ассемблер (NASM Linux x86-64) — Переход к Windows x64» 9 разделов Уроки в курсе «Ассемблер (NASM Linux x86-64) — Переход к Windows x64» 46 уроков Тесты в курсе «Ассемблер (NASM Linux x86-64) — Переход к Windows x64» 155 тестов Последнее обновление курса «Ассемблер (NASM Linux x86-64) — Переход к Windows x64» обн. 15 сентября 2026

Введение в мир Windows

5 уроков
1. Подготовка окружения
2. Чем Windows отличается от Linux на уровне исполнения кода
3. Запуск
4. PE — анатомия исполняемого файла Windows
5. Точка входа и рантайм-обвязка

ABI и соглашения о вызовах

6 уроков
1. Microsoft x64 calling convention
2. Shadow space
3. Callee-saved и caller-saved регистры
4. Выравнивание стека и вызов функций
5. Сравнение с System V AMD64
6. Передача структур и больших аргументов

WinAPI вместо syscall

6 уроков
1. Почему в Windows нет прямых системных вызовов
2. kernel32.dll, ntdll.dll: слои системы
3. Статическая и динамическая линковка с WinAPI
4. Импорт функций: import table и .idata
5. Вызов простейших функций WinAPI из ассемблера
6. Обработка ошибок: GetLastError

Ввод/вывод и работа с консолью

5 уроков
1. Хендлы вместо файловых дескрипторов
2. WriteConsole и ReadConsole
3. Работа с файлами
4. Закрытие хендлов и освобождение ресурсов
5. Юникод в Windows: ANSI vs Wide API

Память и структура процесса

5 уроков
1. Карта памяти процесса в Windows
2. VirtualAlloc и VirtualFree вместо brk/mmap
3. Heap API: GetProcessHeap, HeapAlloc, HeapFree
4. Права доступа к страницам памяти
5. Стек потока и его лимиты

Библиотеки и линковка

5 уроков
1. DLL vs статическая библиотека: концептуальные отличия от .so/.a
2. Экспорт и импорт символов: .def-файлы
3. Написание собственной DLL с ассемблерными функциями
4. Вызов функций из DLL во время выполнения: LoadLibrary, GetProcAd
5. Линковка с C-рантаймом (MSVCRT) из ассемблера

Отладка и инструменты Windows

7 уроков
1. WinDbg: запуск и базовые команды
2. Просмотр регистров, памяти и стека в WinDbg
3. dumpbin: анализ PE-файла
4. Точки останова и пошаговое выполнение
5. Сравнение с GDB/objdump: что похоже, что иначе
6. Шпаргалка по отладке
7. Практика

Кроссплатформенная разработка

5 уроков
1. Абстрагирование ABI
2. Условная сборка под ELF и PE через препроцессор
3. Единый интерфейс ввода/вывода поверх syscall и WinAPI
4. Организация проекта с раздельными платформенными модулями
5. Сборка одного проекта под Linux и Windows:

Итоги

2 урока
1. XOR-шифратор — кроссплатформенная версия
2. Список пройденного