今日已更新 252 条资讯 | 累计 38945 条内容
关于我们

D’une image nommée .iso à un premier probe en Haskell

Karim DRIDI 2026年09月03日 08:31 0 次阅读 来源:Dev.to

À propos de cette série. Cette série raconte la construction progressive, en Haskell, d’outils consacrés à l’étude et à la transformation des formats binaires employés par les jeux FromSoftware sur PlayStation 3. Elle prend pour premier corpus la version PlayStation 3 originale de Demon’s Souls et avance par enquêtes reproductibles : observer une structure, établir ce qui est documenté, distinguer les faits des hypothèses, puis implémenter la plus petite capacité nécessaire à l’étape suivante. Dans ce premier article, nous allons déterminer ce qu’un fichier nommé image.iso permet réellement d’affirmer. Nous commencerons par observer ses métadonnées au moyen de lectures précisément bornées, avant de reproduire cette reconnaissance dans un prototype direct écrit en Haskell. Le nom image.iso constitue une hypothèse, non une preuve de format. Une extension est une convention du système de fichiers hôte ; elle ne garantit pas le contenu du fichier. Nous allons donc rechercher une structure définie par ISO 9660, lire plusieurs champs précis, puis reconnaître deux informations supplémentaires : un marqueur Joliet et un enregistrement propre aux disques PlayStation 3. Notre périmètre restera strictement en lecture seule. Nous ne monterons pas l’image, ne parcourrons aucun répertoire, n’extrairons rien, ne déchiffrerons rien et n’écrirons aucun octet. À la fin, notre prototype affichera seulement : ps3.product-id=BLES-00932 iso9660.volume-id=PS3VOLUME iso9660.logical-block-size=2048 joliet.level=1 Ces quatre lignes sont un résultat de reconnaissance borné, non un certificat de conformité de l’image entière. De la position logique à l’offset Un fichier binaire est une suite d’octets. Nous appelons offset la position, comptée depuis zéro, d’un octet dans cette suite. ISO 9660 organise les informations qui nous intéressent en secteurs logiques de 2 048 octets. Une LBA ( Logical Block Address , adresse logique de bloc) est le numéro d’un tel secteur : le secteur de LBA 0 commenc

本文内容来源于互联网,版权归原作者所有
查看原文