Line 19: | Line 19: | ||
* list - description des informations de l'[[AFS (Format de fichier)|AFS]]. | * list - description des informations de l'[[AFS (Format de fichier)|AFS]]. | ||
=== [https://github.com/MaikelChan/AFSPacker | === [https://github.com/MaikelChan/AFSPacker AFSPacker] === | ||
AFSPacker est simple d'utilisation et fonctionnel. Ce logiciel permet d'extraire et patcher les fichier au format [[AFS (Format de fichier)|AFS]]. | |||
* AFSPacker considère les 4 derniers octets des entrées du FD comme inconnus. Ces octets sont parfois utilisés pour décrire la taille des fichiers packés. | * AFSPacker considère les 4 derniers octets des entrées du FD comme inconnus. Ces octets sont parfois utilisés pour décrire la taille des fichiers packés. |
Revision as of 06:48, 18 January 2022
Outils
Emulateur Dolphin
Dolphin permet l'extraction des fichiers de l'iso GameCube. On pourra l'utiliser en mode debug : Exécution pas à pas des instructions powerpc, breakpoints, inspection / dumps mémoires etc.
Dolphin Memory Engine
Dolphin Memory Engine se sert des dumps dolphin (en mode débug : ajoutez -d lors de l'exécution de dolphin) afin de mettre des noms sur des adresses mémoires fixes lors de l'exécution. Ceci permettra de partager des travaux de reverse engineering sur la mémoire du jeu.
gcmtool.py (Virtual World RE)
gcmtool.py permet de manipuler les fichiers gamecube (format iso GCM). On pourra extraire l'ensemble des fichiers du jeu, ainsi que les fichiers relatif au fonctionnement du format GCM. Sa qualité principale, c'est de permettre de patcher la fst et le fichier boot.bin avec un nouveau fichier boot.dol, un nouvel apploader.img, ainsi que des fichiers du jeu ajoutés, supprimés ou modifiés. Il permet d'aligner l'ensemble des offsets des fichiers selon une valeur passée en argument. On choisira un alignement de 4 par défaut. Les fichiers du DVD sont aussi positionnés de manière optimisée pour réduire la taille de l'iso GCM à son minimum.
Open source & licence MIT.
afstool.py (Virtual World RE)
afstool.py (en cours de développement - les options ne sont pas encore toutes implémentées) est un programme qui permet de manipuler les fichiers au format AFS :
- unpack - extraction de tous les fichiers,
- pack - met à jour les fichiers modifiés sur la base de la date de modification, dans la limite ou le fichier ne dépasse pas sa taille initiale en blocks ( multiple de 0x800 octets),
- rebuild - de la table of content (TOC) et du filename directory (FD), deux fichiers qui font la structure de l'AFS, avec la possibilité de préciser l'offset de "l'offset de la FD" dans la TOC.
- list - description des informations de l'AFS.
AFSPacker
AFSPacker est simple d'utilisation et fonctionnel. Ce logiciel permet d'extraire et patcher les fichier au format AFS.
- AFSPacker considère les 4 derniers octets des entrées du FD comme inconnus. Ces octets sont parfois utilisés pour décrire la taille des fichiers packés.
- Il n'est pas possible de spécifier l'offset de l'offset de la FD dans la TOC. En effet, cet offset peut être placé directement après la TOC, ou après un padding suite à la TOC. Ceci peut éventuellement être important si l’exécutable principal gère les fichiers avec un offset de fichier hardcodé relatif au début de l'AFS.
- Les dates ne sont pas gardées lors de l'extraction, ce qui produit une perte de données à chaque repack.
Open source & licence MIT.
Wiimms ISO Tool
wit permet de manipuler les ISO GameCube. Sur windows, on pourra utiliser wit sans passer par l'installation en utilisant le fichier bin/wit.exe.
Extraction des fichiers d'une ISO (au format fst) : wit extract mkw.iso --dest=mkw/
Attention, le rapack dans l'iso via la commande copy ne produit à priori pas la même ISO (fichier de + de 4 Go). A voir si des options permettent de reproduire la bonne ISO.
AFS Explorer
On évitera d'utiliser AFS Explorer dans les projets quand AFS Packer peut être utilisé. En effet, les conditions d'utilisation sont restrictives et la ligne de commande est absente. Les sources ne sont à priori pas accessibles, ce qui est un autre point limitant.
GameCube Iso Tools
Outil de manipulation d'iso GameCube. Permet d'extraire l'iso dans un dossier au format GCReEx ou DiscEx. Permet ensuite de repack dans une ISO.
Note : L'iso repack est automatiquement "compressée" sous windows. Le dossier de destination doit être créé au préalable.
Commandes :
gcit.exe iso.iso -f gcreex -d extract -q
gcit.exe extract\Game_folder -f fulliso -d repack.iso -q
L'ISO repack diffère de l'ISO originale, il est à déterminer ce qui cause cette différence. Dolphin Emulator renvoie une erreur sur repack.iso : "repack.iso n'est pas un fichier GCM/ISO valide, ou n'est pas une ISO GC/Wii." Au format GCReEx, on remarque que le padding à la fin de l'apploader est différent de celui généré par Dolphin Emu. De même, de nombreux fichiers sont extraits avec gcit.exe avec un padding ajouté à la fin comparé à la taille réelle indiquée dans le fst.bin du DVD.
GC Rebuilder 1.1
Attention, ce projet n'est plus développé, et la taille de l'exécutable principal n'est pas la bonne. Code source : https://github.com/bsv798/gcrebuilder