x86 Assembly: CPU가 실제로 실행하는 코드를 작성하세요
Assembly 언어는 직접 이진수를 작성하지 않고서도 베어메탈에 가장 가까이 갈 수 있는 방법입니다. 모든 명령어는 CPU 연산에 직접 매핑되며 — 런타임도, 가비지 컬렉터도, 하드웨어가 무엇을 하는지 숨기는 추상화도 없습니다. 이 트랙은 x86 Assembly를 처음부터 커널 수준의 프로그래밍까지 다루며, 컴파일러부터 익스플로잇 개발까지 모든 것을 이해할 수 있는 기초를 제공합니다.
학습 내용
레지스터, 메모리 레이아웃, 데이터 타입부터 시작한 후 기본 명령어와 제어 흐름, 스택 관리, 프로시저 호출 규약으로 나아갑니다. 그 다음으로 Assembly와 C, C++ 코드의 상호운용, 시스템 호출 발급, 인터럽트 및 예외 처리, 부동소수점 유닛과 SIMD 명령어 작업을 다룹니다. 고급 과정에서는 디버깅과 리버스 엔지니어링, 메모리 보호 메커니즘, 가상화, 커널 수준의 드라이버 프로그래밍, 익스플로잇 기법을 포함한 저수준 성능 최적화를 다룹니다.
학습 경로
12개의 과정이 A2부터 C2까지 펼쳐집니다. 무료 입문 과정에서는 x86 문법과 기본 개념을 확립합니다. B1과 B2 과정에서는 실무 핵심인 레지스터, 제어 흐름, 스택, 프로시저를 구축합니다. 그 후 트랙은 C/C++ 상호운용, 시스템 호출, 인터럽트, SIMD, 리버스 엔지니어링을 다루는 5개의 과정으로 C1 깊이로 넘어갑니다. 메모리 보호 및 가상화, 커널 수준의 프로그래밍 및 드라이버에 관한 2개의 C2 과정이 선행되며, 캐시 동작부터 보안 관련 저수준 기법까지 모든 내용을 통합하는 최종 과정인 성능 최적화 및 익스플로잇이 뒤따릅니다.
작동 방식
각 과정은 내장된 코드 에디터에서 실시간 피드백을 받으며 완료하는 짧고 집중된 레슨으로 나뉩니다. 명령어 인코딩이나 설명할 수 없는 segfault에 막힐 때는 AI 튜터를 이용할 수 있습니다.