Win3x.Org

Windows & DOS Community

Décoder ce format d'image de disquette étrange

Règles du forum

Pour tout sujet impliquant un système d'exploitation daté de 2000 à nos jours, merci de le publier dans la section intitulée « Informatique moderne ».

Répondre   Page 1 sur 2  [ 13 messages ]
Aller sur la page 1 2 »
Auteur Message
Deksor
Sujet du message : Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 00:52
Modérateur
Avatar de l’utilisateur
En ligne
 
Messages : 4718
Inscription : 23 mai 2011 13:33
PC Rétro : 486DX 33 8mo SB Pro 2, P2 450 128mo Voodoo 2 SLI
 
Salut !
Je suis sur un os : j'ai une application qui contient des images de disquettes, mais celles-ci sont dans un format inconnu et je désirerai toutes les extraire.
Du coup je suis à la recherche d'aide pour décoder tout cela.

Voici les fichiers en question : https://www.mediafire.com/file/c9iwiq74 ... S.zip/file
Pour l'instant voilà où j'en suis :
Voici le début du fichier 0004.MZ2
en-tete.gif
En rouge il y a ce qui semble être le nom de la disquette (faisant 11 caractères)
En jaune ce sont les noms des fichiers.
En bleu ce sont des octets dont je n'ai pas trouvé la signification mais qui sont toujours là et peuvent (mais pas toujours) se répéter (une date ? des droits ?)
En vert ce sont les pointeurs qui pointent à l'endroit où débute le fichier.
Ceux-ci sont des entiers de 32 bits ici stockés en petit boutisme. 0x45 0x38 0x00 0x00 se traduit par l'adresse 0x00003845 en hexadécimal.
Lorsque l'on va à cette adresse dans le fichier, on arrive effectivement sur le début du fichier (celui-ci étant le premier fichier de la disquette, pas de doute, ces 4 octets sont bien l'adresse).
Ensuite il y a 4 autres octets mais je ne sais pas non plus ce qu'ils font.
fichier1.gif

Chaque fichier semble être chiffré ou compressé ... je ne sais pas exactement, mais en tout cas il n'y a plus aucune chaîne de caractères visible.
Ce que je remarque en revanche, c'est qu'ils commencent tous pas "0x00 0x05" et je crois qu'il y a une séquence de 13-14 octets qui suit. Ensuite j'imagine qu'il s'agit du fichier en lui-même. S'il y a bien 13-14 octets après 0x00 0x05, je ne sais pas ce qu'ils font non plus.

Et effectivement si l'on va à l'adresse du second fichier (0xCE 0x89 0x01 0x00 qui se traduit en 0x000189CE, petit boutisme oblige) :
fichier2.gif
On retrouve de nouveau 0x00 0x05


... voilà tout ce que j'ai trouvé pour le moment. Si vous avez des idées, ou même que vous connaissez CE format en particulier, faites-moi signe :D

_________________

Laptop hater


Haut
Profil Citer
Joet BERNARD
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 01:34
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 1155
Inscription : 19 mars 2016 20:33
PC Rétro : Pentium 4 1,5 GHz, 512 Mo de RAM, FX 5200
 
Euh... Ton lien est déjà mort 😅😅😅
[ img ]

_________________

Accueil de mon Index de sites
WINJOY hors-ligne (actuellement en version (4) "Alpha")
Accueil en ligne de WINJOY (actuellement en version (5) "Beta")
Ma collection au complet


Haut
Profil Citer
Deksor
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 02:14
Modérateur
Avatar de l’utilisateur
En ligne
 
Messages : 4718
Inscription : 23 mai 2011 13:33
PC Rétro : 486DX 33 8mo SB Pro 2, P2 450 128mo Voodoo 2 SLI
 
Sal*perie ! Il m'avait filé un mauvais lien. Maintenant c'est bon.

_________________

Laptop hater


Haut
Profil Citer
Deksor
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 02:38
Modérateur
Avatar de l’utilisateur
En ligne
 
Messages : 4718
Inscription : 23 mai 2011 13:33
PC Rétro : 486DX 33 8mo SB Pro 2, P2 450 128mo Voodoo 2 SLI
 
Ah j'ai une autre information : le troisième octet du fichier indique le nombre de fichiers contenus

chaque nom de fichier est précédé du chemin dans lequel il se trouve (le chemin peut faire 51 caractères maximum, "/" inclus). Le premier nom de répertoire est toujours à l'adresse 0xB9. Le nom du fichier se trouve donc 51 octets après. Le prochain chemin se trouve 63 octets plus tard. Et ainsi de suite jusqu'aux données des fichiers.

_________________

Laptop hater


Haut
Profil Citer
INDEPTEKNO
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 03:08
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 809
Inscription : 04 déc. 2007 16:51
PC Rétro : COMPAQ PRESARIO 486SX25
 
Sur internet l'extension serai du Maze-solver-data-2 faut voir quel programme ou compresseur a pue crée se genre d'extension !

il y a ue tellement de logiciel en informatique que chacun a fait ce qu'il veut avec les extension de fichier !

_________________

Fan des Vieux PC et Vieux Système d'exploitation et Vieux logiciel.

« Là où règne le désespoir, j’apporte l’espoir. Là où règne la tristesse, j’apporte la joie. Permet-moi de consoler plutôt que d’être consolée, de comprendre plutôt que d’être comprise, d’aimer, plutôt que d’être aimée. Car, donner c’est recevoir, c’est en pardonnant que nous sommes pardonnés, c’est en mourant que nous naissons à la vie éternelle. »


Haut
Profil Citer
Deksor
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 03:36
Modérateur
Avatar de l’utilisateur
En ligne
 
Messages : 4718
Inscription : 23 mai 2011 13:33
PC Rétro : 486DX 33 8mo SB Pro 2, P2 450 128mo Voodoo 2 SLI
 
Je doute fort de cette histoire de "maze solver".
En revanche ce que je peux rajouter comme info est que ça date de 1995 et que l'application capable d'extraire ça a été faite avec Borland c++ pour windows 3.1.
Je vais d'ailleurs la proposer

_________________

Laptop hater


Haut
Profil Citer
remax17
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 18:37
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 1069
Inscription : 22 sept. 2010 15:03
PC Rétro : PIII 500mhz -384Mb RAM - Voodoo 2 en SLI
 
Je vais poster ça sur le forum de TotalDOSCollection... ils sauront peut être...

_________________

Mon OneDrive


Haut
Profil Citer
Deksor
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 21:25
Modérateur
Avatar de l’utilisateur
En ligne
 
Messages : 4718
Inscription : 23 mai 2011 13:33
PC Rétro : 486DX 33 8mo SB Pro 2, P2 450 128mo Voodoo 2 SLI
 
Merci :approve:

Je peux avoir un lien ? :D

De mon côté j'ai créé un programme python qui permet de parcourir ces images et récupérer les fichiers compressés :
#!/usr/bin/python3

import pathlib

class Mz2File:
	def __init__(self, image):
		self.path = image.read(0x51).decode().rstrip('\0')
		self.name = image.read(0x0C).decode().rstrip('\0')
		image.seek(0x01, 1)
		self.param1 = int.from_bytes(image.read(4), byteorder='little')
		self.offset = int.from_bytes(image.read(4), byteorder='little')
		self.param2 = int.from_bytes(image.read(4), byteorder='little')
		self.content = None
		self.size = 0
	
	def getPath(self):
		return self.path
	
	def getName(self):
		return self.name
		
	def getFullPath(self):
		return (self.path + self.name)
	
	def getOffset(self):
		return self.offset
	
	def setFileContent(self, content):
		self.content = content
	
	def setSize(self, size:int):
		self.size = size
	
	def getSize(self):
		return self.size
		
	def getContent(self):
		return self.content
	
	def getParam1(self):
		return str(self.param1)
	
	def getParam2(self):
		return str(self.param2)
		
class Mz2Image:
	def __init__(self, filePath):
		image = open(str(filePath), "rb")
		image.seek(0x02, 0)
		self.fileCount = int.from_bytes(image.read(2), byteorder='little')
		image.seek(0x6F, 0)
		self.label = image.read(11).decode()
		image.seek(0xB9, 0)
		self.files = []
		for i in range(self.fileCount):
			self.addMz2File(Mz2File(image))
			image.seek(0x4A, 1)
		
		self.files.sort(key=lambda x: x.offset, reverse=False)
		i = 0
		for i in range(self.fileCount):
			if(i > 0):
				self.files[i - 1].setSize(self.files[i].getOffset() - self.files[i - 1].getOffset())
				self.files[i - 1].setFileContent(image.read(self.files[i - 1].getSize()))
			if(i == self.fileCount -1):
				self.files[i].setFileContent(image.read())
		
		image.close()
		
	def addMz2File(self, file:Mz2File):
		self.files.append(file)
	
	def getFiles(self):
		return self.files
		
	def getLabel(self):
		return self.label
	
	def dirImage(self):
		str = ""
		for file in self.files:
			str += file.getFullPath() + " " + file.getParam1() + " " + file.getParam2() + '\n'
		return str
	
	def getFileCount(self):
		return self.fileCount

for path in pathlib.Path(".").iterdir():

	if path.is_file() and str(path)[-3:] == "MZ2":
		print(path)
		image = Mz2Image(path)
		print(image.label)
		print(image.dirImage())
		
		
		
Je vous laisse vous amuser avec celui-ci, si vous avez des idées supplémentaires.

_________________

Laptop hater


Haut
Profil Citer
Deksor
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 06 mai 2020 23:36
Modérateur
Avatar de l’utilisateur
En ligne
 
Messages : 4718
Inscription : 23 mai 2011 13:33
PC Rétro : 486DX 33 8mo SB Pro 2, P2 450 128mo Voodoo 2 SLI
 
Voici la source :
C'est le programme qui vient du CD-Rom de la cinquième édition de Upgrading and Repairing PC
Je devrais bientôt avoir la version complète que je proposerai ici également, mais je pense que les fichiers contenus à l'intérieur seront les mêmes. C'est aussi de là que proviennent les fichiers .DBF que j'essaie d'ouvrir.

_________________

Laptop hater


Haut
Profil Citer
remax17
Sujet du message : Re: Décoder ce format d'image de disquette étrange
Publié : 07 mai 2020 08:18
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 1069
Inscription : 22 sept. 2010 15:03
PC Rétro : PIII 500mhz -384Mb RAM - Voodoo 2 en SLI
 
du coup c'est ptet un compresseur maison ?

_________________

Mon OneDrive


Haut
Profil Citer
Afficher : Trier par : Ordre :
Répondre   Page 1 sur 2  [ 13 messages ]
Revenir à « Informatique des vieux systèmes » | Aller sur la page 1 2 »
Aller :