Un bug caché dans DOS 3.3 SYS.COM : le mystère de la corruption des images disque NetDrive

2025-02-24

Cet article détaille l’enquête de l’auteur sur un bug dans la commande système DOS 3.3 `SYS.COM`. Cette commande copie le code de chargeur d’amorçage sur un disque, mais lorsqu’elle est utilisée avec des images disque virtuelles NetDrive, elle corrompt l’image. Grâce à une analyse minutieuse, l’auteur a découvert que `SYS.COM` ne vérifie pas le code de retour d’un appel Generic IOCTL utilisé pour obtenir les paramètres du disque. Lorsque cet appel échoue (par exemple, le pilote NetDrive ne prend pas en charge la fonction), `SYS.COM` écrit par erreur des données indésirables dans le secteur d’amorçage du disque, corrompant l’image. Ce bug ne se manifeste que sur certains types d’images disque (par exemple, les images de disque dur), car DOS tente de récupérer des informations de géométrie du disque, tandis que les images de disquette ne le font pas. L’auteur identifie finalement la cause racine du bug et explique les conditions dans lesquelles il se produit.

Développement