Piratage de ROM
On décembre 28, 2021 by adminAyant été créées par de nombreux programmeurs ou équipes de programmation différents, les données de ROM peuvent être très diverses.
Édition hexadécimaleEdit
Un éditeur hexadécimal est l’un des outils les plus fondamentaux du répertoire de tout pirate de ROM. Les éditeurs hexadécimaux sont généralement utilisés pour l’édition de texte, et pour l’édition d’autres données dont la structure est connue (par exemple, les propriétés des objets), et le hacking d’assemblage.
L’édition de texte est l’une des formes les plus basiques de hacking. De nombreux jeux ne stockent pas leur texte sous forme ASCII, et à cause de cela, certains éditeurs hexadécimaux spécialisés ont été développés, auxquels on peut indiquer quelles valeurs d’octet correspondent à quelle(s) lettre(s) de l’alphabet, afin de faciliter l’édition du texte ; un fichier qui définit ces relations octet=lettre est appelé un fichier « table ». D’autres jeux utilisent des techniques simples de compression de texte (comme l’encodage par paires d’octets, également appelé encodage par double tuile ou DTE, dans lequel certaines combinaisons de deux lettres ou plus sont encodées en un seul octet) qu’un éditeur hexagonal convenablement équipé peut faciliter l’édition.
Un éditeur hexagonal est l’outil de choix pour éditer des choses comme les propriétés des personnages/des objets, si la structure et l’emplacement de ces données sont connus et qu’il n’existe pas d’éditeur spécifique au jeu permettant d’éditer ces informations. Certains hackers intrépides effectuent également l’édition des niveaux avec un éditeur hexadécimal, mais cela est extrêmement difficile (sauf sur les jeux dont le format de stockage des niveaux ressemble étroitement à la façon dont il est présenté dans un éditeur hexadécimal).
Édition graphiqueEdit
Une autre compétence de base du hacking est le hacking graphique, qui consiste à modifier l’apparence des environnements, des personnages, des polices de caractères ou d’autres choses de ce genre du jeu. Le format des données graphiques varie d’une console à l’autre, mais la plupart des premières (NES, Super NES, Game Boy, etc.) stockent les graphiques dans des tuiles, qui sont des unités de données de 8×8 pixels, qui sont arrangées à l’écran pour produire le résultat souhaité. L’édition de ces tuiles est également possible avec un éditeur hexadécimal, mais elle est généralement accomplie avec un éditeur de tuiles (tel que Tile Layer ou Tile Molester), qui peut afficher les données ROM d’une manière graphique, ainsi que trouver et éditer les tuiles.
Les hacks graphiques peuvent aller de simples éditions (comme donner à Luigi un club de golf, ou faire des sprites pixellisés pour les Pokemon de dernière génération) au « portage » de personnages d’un jeu à l’autre, jusqu’à des changements thématiques complets (généralement avec des changements de palette d’accompagnement ; voir ci-dessous).
Un piratage graphique plus sophistiqué implique de modifier plus que les tuiles et les couleurs, mais aussi la façon dont les tuiles sont disposées, ou les groupes de tuiles générés, ce qui donne plus de flexibilité et de contrôle sur l’apparence finale. Cela se fait par le biais de l’édition hexadécimale ou d’un outil spécialisé (soit pour le jeu spécifique, soit pour un système spécifique). Un bon exemple de piratage graphique est celui de Pokémon Torzach, qui n’a pas été achevé et qui visait à ajouter une toute nouvelle génération de Pokémon et de tuiles au jeu. Le hack a depuis été abandonné, mais il sert encore de bon exemple sur ce qui peut être réalisé avec les outils disponibles.
Édition de paletteEdit
Une autre forme commune de hacking est le hacking de palette, où les valeurs de couleur sont modifiées pour changer les couleurs qu’un joueur voit dans le jeu (cela va souvent de pair avec le hacking graphique) ; Les valeurs de palette sont généralement stockées en Hex. Les valeurs de palette sont généralement stockées en hexadécimal. C’est assez facile pour les jeux NES, dont les graphismes utilisent un ensemble prédéfini de couleurs parmi lesquelles le jeu fait une sélection ; le piratage de la palette consiste dans ce cas à changer lesquelles de ces couleurs sont sélectionnées. La question est légèrement plus compliquée avec les jeux Super NES et les jeux pour d’autres systèmes, qui stockent des valeurs absolues de couleurs RVB. Les éditeurs de palettes sont généralement simples et sont souvent avec des éditeurs de niveaux, ou des éditeurs graphiques spécifiques au jeu.
Édition de niveauÉdition
Une des formes les plus populaires de ROM hacking, l’édition de niveau implique de modifier ou de redessiner les niveaux ou les cartes d’un jeu. Cela se fait presque exclusivement avec un éditeur spécialement conçu pour un jeu particulier (appelé éditeur de niveau). Les modifications de niveaux peuvent être effectuées pour rendre le jeu plus difficile, pour modifier le déroulement de l’intrigue du jeu ou simplement pour donner un nouvel aspect à un vieux jeu. Combiné à un piratage graphique approfondi, le jeu peut prendre un aspect et une sensation très différents.
Édition de donnéesÉdition
Un élément central de nombreux hacks (en particulier de jeux vidéo de rôle) est l’édition de données telles que les propriétés des personnages, des objets et des ennemis. Cela se fait généralement soit « à la main » (avec un éditeur hexa) si l’emplacement et la structure des données sont connus, soit avec un éditeur spécifique au jeu qui dispose de cette fonctionnalité. Grâce à cela, un pirate peut modifier le fonctionnement des armes, la force des ennemis ou leur comportement, etc. Cela peut être fait pour rendre le jeu plus facile ou plus difficile, ou pour créer de nouveaux scénarios auxquels le joueur sera confronté.
Hacking d’assemblageEdit
La technique de piratage la plus puissante, et sans doute la plus difficile, consiste à modifier le code réel du jeu, un processus appelé hacking ASM (« ASM » signifie « assemblage », en référence au type de langage de programmation utilisé pour les premiers jeux vidéo). Il n’existe pas de modèle fixe pour le piratage ASM, car le code varie considérablement d’un jeu à l’autre, mais la plupart des pirates ASM qualifiés utilisent un émulateur équipé d’un débogueur ou d’un traceur intégré, ou font passer la ROM par un désassembleur, puis analysent le code et le modifient à l’aide d’un éditeur hexadécimal ou d’un assembleur en fonction de leurs besoins. Bien qu’il s’agisse d’un véritable défi par rapport aux méthodes relativement simples énumérées ci-dessus, tout est possible avec le piratage ASM (bien sûr, dans les limites du matériel/logiciel de la plate-forme de jeu), qu’il s’agisse de modifier l’intelligence artificielle des ennemis ou la façon dont les graphiques sont générés. (Bien sûr, les possibilités sont toujours limitées par la capacité du hacker à comprendre et à modifier le code existant.)
Si les développeurs ont utilisé un langage typé, le hacker peut être en mesure de compiler son propre code pour le jeu dans le même langage s’il a accès à un compilateur approprié. Un tel exemple serait d’utiliser le C pour pirater les jeux Nintendo 64, puisque MIPS-GCC peut compiler du code pour la Nintendo 64.
Piratage de musiqueEdit
Les piratages de musique sont relativement rares, en raison de la grande variété de façons dont les jeux stockent les données musicales (d’où la difficulté de localiser et de modifier ces données) et des difficultés à composer une nouvelle musique (ou à porter la musique d’un autre jeu). Comme le piratage de la musique est très rare, de nombreux hacks ne comportent pas de musique portée/composée. Le programme SapTapper peut toutefois être utilisé pour pirater les données musicales du Game Boy Advance, car de nombreux jeux Game Boy Advance utilisent le moteur M4A (également appelé « Sappy Driver ») pour la musique. Divers autres utilitaires ont été créés pour fonctionner avec le moteur, tels que Sappy 2006.
Un autre exemple du même moteur utilisé entre les jeux est sur la Nintendo 64, dans laquelle la plupart des jeux utilisent le même format ; bien qu’ils utilisent différentes banques de sons. Un utilitaire connu sous le nom de N64 Midi Tool a été créé pour éditer les séquences que la majorité des jeux Nintendo 64 utilisent, bien qu’il ne couvre pas les titres N64 first-party qui utilisent un moteur légèrement différent, comme Super Mario 64.Plusieurs jeux Mega Drive utilisent un moteur sonore officieusement connu sous le nom de « SMPS », qui a été recherché pendant des décennies par de nombreux hackers. A ce jour, divers outils existent pour modifier la musique des jeux qui utilisent le moteur SMPS (jeux Sonic the Hedgehog notamment), et beaucoup d’entre eux ont fait leur chemin sur le Steam Workshop.
Extension de ROMEdit
Généralement, un hacker de ROM ne peut normalement pas ajouter de contenu à un jeu, mais simplement modifier le contenu existant. Cette limite peut être surmontée par l’expansion de ROM, par laquelle la taille totale de l’image ROM est augmentée, faisant de la place pour plus de contenu et, à son tour, un jeu plus grand. La difficulté de cette opération varie en fonction du système pour lequel le jeu a été créé. Par exemple, l’extension d’une ROM NES peut être difficile, voire impossible, en raison du mappeur utilisé par le jeu. Par exemple, si un mappeur permet 16 banques de ROM et qu’elles sont toutes utilisées, l’extension de la ROM est impossible sans convertir le jeu à un autre mappeur, ce qui peut être facile ou extrêmement difficile. D’un autre côté, l’extension d’un jeu SNES est (relativement) simple. Pour utiliser l’espace supplémentaire, certaines parties du code du jeu doivent être modifiées ou réécrites (voir le hacking d’assemblage ci-dessus) afin que le jeu sache où chercher. Les ROMs du Game Boy Advance constituent un autre type d’extension de ROM relativement facile. Les ROMs elles-mêmes sont généralement petites, mais l’espace mémoire disponible le dépasse parfois par des multiples allant jusqu’à 17.
.
Laisser un commentaire