Recherche de texte japonais dans une ROM

Des soucis pour hacker votre jeu ? C'est ici qu'il faut exposer votre problème.
Avatar de l’utilisateur
Maybach
Nouveau Floodeur
Messages : 28
Inscription : 26 mars 2017, 14:17
Recherche de texte japonais dans une ROM

Message non lu par Maybach »

Bon[jour-soir-matin-nenuit] accordez cette formule de politesse en conséquence.

Une fois encore je souhaite bénéficier de vos lumières, tout en essayant de me débrouiller seul. Mon grand projet est une traduction du jeu Attack on Titans 2 sur PS Vita, si vous suivez mes quelques publications récentes sur ce forum. Malheureusement, j'ai trois problèmes :
- Peu de connaissances en informatique ou en programmation
- Zéro linguistique japonaise, et seulement des bases en anglais
- Pas le temps

Bien entendu le projet a avancé de manière fulgurante lorsque j'ai réussi à extraire le script existant de la version PC (traduction officielle en FR) puis à l'intégrer dans le jeu PS Vita ainsi que certains graphismes présent en jeu. On peut dire que le jeu est complètement traduit, à quelques exceptions près.

Et justement, ces exceptions sont assez encombrantes car il s'agit du menu principal et des titres.

Écran d'accueil au lancement du jeu
Image

Bandeaux titres de certains menus
Image

Je ne crois pas que ces menus soient traités sous forme de graphiques (j'ai déjà trouvé les images contenant les icônes/symboles) mais bien sous forme de chaine de caractères avec un effet textuel "supernova" qui peut clignoter ou bouger selon notre sélection.
Cependant, je sais qu'il me manque des graphismes non-traduits que je n'arrive pas à extraire, car malgré d'incessantes recherches, il reste une poignée d'images que je ne trouve nulle part.

Revenons-en au menu, puisque ma première intuition reste qu'il est stocké quelque part sous forme de chaîne de caractères dans cette ROM.
Le menu de la PS Vita diffère complètement de celui de la version PC c'est pourquoi je suspecte fortement qu'il se cache dans un fichier spécifique à la console, comme le EBOOT.BIN
Grâce à des explication comme celles de RyleFury dans ce sujet viewtopic.php?f=1&t=4298 on parvient à mieux comprendre ce fichier ELF décodé, on y trouve même du texte, parfois compréhensible en anglais du genre "File/Event/Talk/Script/FT236.bin"
Aussi, je sais que mon EBOOT ressemble à celui de RyleFury dans le topic cité, puisque j'ai également les valeurs :
- e_phoff : 0x34
- e_phnum : 0x05
Et quand je recherche la valeur 0x60000000 (00000060 en little endian) pour la "Dynamic reallocation table" j'obtiens un résultat, mais ma compréhension s'arrête ici puis je ne sais pas quoi en faire.

Après tout, je sais ce que je cherche : c'est la ligne en rouge sur la première screenshot qui proclame : ストーリーモード ("story mode" en déformant suffisamment l'accent anglais ー Sutōrī mōdo)
Ce texte doit bien être codé quelque part, n'est-ce pas ?
Partant de l' UTF-8, l'encodage de mon fichier, ça se traduit en Hexa [ E382B9 E38388 E383BC E383AA E383BC E383A2 E383BC E38389 ] sauf que je dois convertir en little endian et rajouter un byte 00 pour la séparation. Pas de résultat.
Mais quand je cherche juste la première lettre ス, donc "B9 82 E3 00" il y a 5 résultats ! En les regardant tous, ils ne sont jamais suivis de la 2ème lettre ト donc j'en conclus que le texte que je cherche n'est forcément pas dans le fichier EBOOT.BIN, j'ai bon ?
(Par curiosité j'ai Google-traduit les résultats et il s'agit juste des noms des personnages)

Ainsi, si je cherche la chaîne de caractère correspondant à ces textes japonais UTF-8 convertis en Hexa-little-endian dans les autres fichiers BIN (certains faisant ~1Go) je devrais trouver leur provenance et je pourrais entamer l'étape suivante.

Qu'en pensez-vous, dois-je en effet chercher un texte, ou plutôt un graphisme selon votre expérience ?
Avez vous des techniques pour chercher des textes japonais ?

Cordialement
Dernière modification par Maybach le 15 sept. 2020, 08:18, modifié 1 fois.

Avatar de l’utilisateur
pinktagada
Mauvaise ROMhackeuse débutarte
Messages : 2396
Inscription : 10 mars 2010, 10:39
Localisation : Midgard
Contact :
Re: Recherche de texte japonais dans une ROM

Message non lu par pinktagada »

Je pense que ce que tu cherches est stocké sous forme d'image et pas de texte.
MAIS Y A PLUS DE PLACE A L'ÉCRAN! NON DE MERDE MÊME SI JE TE DONNE TOUS LA PLACE DU MONDE DANS LA ROM!! TU POURRAIS PAS EN FAIRE AFFICHÉ PLUS A L'ÉCRAN!!!
Un grand philosophe...

Image

Avatar de l’utilisateur
RyleFury
Maître Suprême Floodeur
Messages : 498
Inscription : 16 janv. 2012, 12:48
Contact :
Re: Recherche de texte japonais dans une ROM

Message non lu par RyleFury »

Quand on parle de chaînes de caractères, c'est lu octet par octet, il n'y a donc aucune notion de little/big endian, les octets sont à la suite. Donc E382B9 sera "E3 82 B9" et le second caractère à la suite : "E3 82 B9 E3 83 88", etc. Ça ressemble beaucoup à des images en tout cas, ou ça utilise une font spéciale et donc le texte est codé différemment du reste. Il m'est impossible de t'aider plus que ça sans avoir touché aux fichiers du jeu moi-même.

Avatar de l’utilisateur
Maybach
Nouveau Floodeur
Messages : 28
Inscription : 26 mars 2017, 14:17
Re: Recherche de texte japonais dans une ROM

Message non lu par Maybach »

Bonjour,

Merci pour vos avis,
Pourtant j'ai trouvé cette police, j'avais été frappé par la ressemblance des caractères.

C'est pourquoi j'aimerais vraiment trouver le texte qui fait appel à ces caractères, mais c'est peut-être une coïncidence.
Dans ce cas, les graphismes doivent être cachés dans le EBOOT.BIN et donc je ne sais pas encore comment les trouver.
Je continue à me concentrer là dessus.
Dernière modification par Maybach le 17 sept. 2020, 18:39, modifié 1 fois.

Avatar de l’utilisateur
RyleFury
Maître Suprême Floodeur
Messages : 498
Inscription : 16 janv. 2012, 12:48
Contact :
Re: Recherche de texte japonais dans une ROM

Message non lu par RyleFury »

Tu peux avoir du texte en jeu qui est au pixel près similaire à une font et pourtant c'est une image. Ce n'est pas si rare en fait. Après tu peux effectuer des tests simples. Efface le caractère de la font et vérifie s'il s'affiche en jeu par exemple.

Avatar de l’utilisateur
Maybach
Nouveau Floodeur
Messages : 28
Inscription : 26 mars 2017, 14:17
Re: Recherche de texte japonais dans une ROM

Message non lu par Maybach »

Oui Ryle, merci pour la suggestion j'avais pensé à prévoir ce test également.
Mais en continuant à chercher... YEEEES j'ai trouvé le Menu dans un .BIN caché sous forme de graphisme !!! :heureux:
Incroyable, une chance totale, et j'ai même réussi à l'extraire.
Toutes les textures étaient en G1T, sauf qu'il y en avait d'autre que j'ai pu trouver en KSLT ("TLSK3100" quand j'ouvre je header) en procédant avec l'extraction par Cethleann.
En cherchant comment traiter ce nouveau type, j'ai trouvé un script QuickBMS (il y en a un seul pour Dissidia PS4). Sauf que le fichier extrait ne marchait pas et comme un malpropre j'ai collé un header de G1T (PS Vita) par dessus et ça marche :lol:
C'est vraiment dingue.

Image

Ça motive !!
Et bravo pour l'intuition, c'était bien des textures.


Répondre