Dossier · Bas niveau
Développement bas niveau
Un kernel en Rust, des crackmes, un keylogger en assembleur : comprendre la machine plutôt que l'API.
Ce qui m'intéresse en sécurité, c'est rarement la couche du dessus. J'ai donc pris l'habitude de reconstruire à la main ce que la plupart des outils masquent.
Un kernel en Rust
Écrit depuis zéro, sans std. Les deux morceaux qui m'ont le plus appris :
- L'allocateur mémoire : quand plus rien ne vous alloue quoi que ce soit, il faut décider soi-même de la stratégie, de la fragmentation et de ce qui se passe quand il n'y a plus de place.
- Le pilote FAT32 : lire une table d'allocation à la main, c'est la meilleure façon de comprendre ce qu'un analyste forensique regarde vraiment sur un disque.
Crackmes
Du reverse engineering régulier, pour garder l'œil : désassemblage, identification des protections, compréhension du flot d'exécution. C'est directement utile quand on analyse un binaire suspect plutôt qu'un échantillon d'entraînement.
Un keylogger en assembleur
Écrit à des fins d'apprentissage, pour comprendre par où passe réellement une frappe clavier avant d'arriver à l'application. On défend mal ce dont on ignore le fonctionnement précis : savoir où un tel outil s'accroche, c'est savoir où le détecter.