x86 Assembly : Écrivez le code que le CPU exécute réellement
Assembly est ce qui se rapproche le plus du bare metal sans écrire du binaire à la main. Chaque instruction correspond directement à une opération CPU — pas de runtime, pas de garbage collector, pas d'abstraction qui cache ce que fait le matériel. Cette filière couvre x86 Assembly des principes fondamentaux à la programmation au niveau kernel, vous donnant les bases qui rendent lisible tout, des compilateurs au développement d'exploits.
Ce que vous allez apprendre
Vous commencerez par les registres, la disposition de la mémoire et les types de données, puis progresserez vers les instructions de base et le contrôle de flux, la gestion de la pile et les conventions d'appel de procédure. De là, la filière couvre l'interfaçage d'Assembly avec du code C et C++, l'émission d'appels système, la gestion des interruptions et exceptions, et le travail avec les unités de virgule flottante et les instructions SIMD. Les cours avancés traitent du debugging et du reverse engineering, des mécanismes de protection mémoire, de la virtualisation, de la programmation de pilotes au niveau kernel, et de l'optimisation de performance bas niveau incluant les techniques d'exploitation.
Le parcours d'apprentissage
Douze cours couvrent les niveaux A2 à C2. Le cours introductif gratuit établit la syntaxe x86 et le modèle mental. Les cours B1 et B2 construisent le cœur pratique — registres, contrôle de flux, la pile et les procédures. La filière bascule ensuite à la profondeur C1 avec cinq cours couvrant l'interop C/C++, les appels système, les interruptions, SIMD et le reverse engineering. Deux cours C2 sur Memory Protection et Virtualization et Kernel-Level Programming et Drivers précèdent le dernier cours sur Performance Optimization et Exploitation, qui unit tout, du comportement du cache aux techniques bas niveau pertinentes pour la sécurité.
Comment cela fonctionne
Chaque cours est divisé en leçons courtes et ciblées que vous complétez dans l'éditeur de code intégré avec des retours en temps réel. Un tuteur IA est disponible quand vous êtes bloqué sur un encodage d'instruction ou un segfault que vous ne pouvez pas expliquer.