CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Extraction fichier bin

Tommy-vercetty2
Tommy-vercetty2
Niveau 8
12 août 2015 à 22:04:08

Bonjour,

J'ai fait une recherche pour extraire le script d'un fichier bin que voici:
http://www.mediafire.com/download/sxpp0f08dx291uw/sn.bin

et j'ai trouver les outils ici:
http://forums.fuwanovel.net/topic/2439-tools-for-yetiregistacyberfront-console-games/
Les contenants:
https://github.com/mchubby/yetireg_tools

Bref j'ai trouvé tous les outils et au vu de ce que j'ai lu je sais que la compression est en LZ77 (compression prise en charge par les outils que j'ai mis sous liens)

Mais mon soucis c'est que mes connaissances en programmation frôlent le zéro et je ne comprend pas du tout comment utiliser ces outils. J'ai essayer différente manip mais je vois pas du tout.

Tout est codé en python, quelqu'un d'habitué peut il me donner une explication? Je ne demande pas qu'on mâche le boulot pour moi, je veux juste comprendre, si un tuto ou une explication de ce genre a déjà été donné alors toutes mes excuses je n'ai pas su trouver.

Merci à vous.

Tommy-vercetty2
Tommy-vercetty2
Niveau 8
13 août 2015 à 21:55:46

Up! si quelqu'un pouvait jeter un oeil

AzazelBee
AzazelBee
Niveau 10
14 août 2015 à 20:06:26

Oki, [[sticker:p/1kkn]]
Tu as besoins de Python3 selon le ReadMe du github.
Tu peux le récupérer ici : https://www.python.org/downloads/
Une fois installé, tu modifie le script extpak.ps1 (et le 2ème aussi), ou bien les cmd si ton système ne supporte pas ces scripts (dans ce cas, extract_snbin est le premier, extjis_psp-cc est le 2ème, et txt2po_extrfiles est le 3ème) de façon à remplacer le lien vers Python33 par Python34 (si tu as bien la dernière version, sinon adapte en fonction).

Pour le 3ème script, il veut txt2po, déjà télécharge-le :
http://toolkit.translatehouse.org/download.html

Tu l'extrais, tu ouvre une ligne de commande et tu te rend dans le dossier où tout ça est extrait, et tu tape:
setup.py build

Python va alors te faire plein de fichier dont "txt2po" dans un dossier build\scripts-3.4 .
Prend le lien complet vers ce fichier, par exemple:
C:\Users\TonNom\Downloads\translate-toolkit-1.13.0\build\scripts-3.4\txt2po

Now retourne au 3ème script, et remplace sa ligne :
C:\Sites\djangostack\python\python C:\Sites\djangostack\python\scripts\txt2po -o $output $_
par
C:\Python34\python C:\Users\TonNom\Downloads\translate-toolkit-1.13.0\build\scripts-3.4\txt2po -o $output $_

Voilà la théorie, après dans les faits, c'est plus compliqué, car seul le premier script me fournit un résultat plus ou moins intéressant perso... En gros, renomme ton fichier sn.bin par test_sn.bin par exemple, et lance le premier script.

Il devrait te cracher plein de truc vide, mais aussi le fichier ccpk, et ce dernier m'a l'air exploitable, ptet par d'autre script...
J'ai utilisé MadEditMod (un éditeur hexadécimal capable d'afficher du japonais, tu peux le récupéré ici: http://sourceforge.net/projects/madedit-mod/ ) pour ouvrir le ccpk obtenu, et j'ai réglé sa vue sur "SHIFT-JIS" (c'est l'encodage texte par défaut des jeux japonais, il peut être trouvé dans ce logiciel par View -> Encoding ... -> East Asian -> ...), et j'ai trouvé ça dedans:

http://i.imgur.com/YzpBHST.png

Y a pas de doute selon moi même si je ne comprend pas le japonais, ce sont des dialogues/textes [[sticker:p/1jnf]]

Après, les autres scripts n'ont pas l'air de fonctionner chez moi pour extraire comme tu le veux, tu devrais chercher d'autres scripts ptet pour exploiter ça, voir coder ton propre scripts (j'ai pas cherché, longtemps que j'ai pas touché au romhacking, mais ça m'a tout l'air d'enchainer des texte et des pointeurs (designant ptet la façon dont est affiché le texte, l'image du perso qui parle si affiché, ... 'fin j'en sais rien, ça peut aussi être d'autres choses, ça me fait juste un peu pensé à ce que j'ai déjà vu dans les fichiers d'autres jeux (mais sur un moteur totalement différent de celui-là je pense vu les noms cités sur un de tes liens)...), en tout cas voilà ce que j'ai pu tirer de tes liens en regardant très très vite).

Message édité le 14 août 2015 à 20:08:04 par AzazelBee
Tommy-vercetty2
Tommy-vercetty2
Niveau 8
14 août 2015 à 21:32:19

J'ai fait une savestate pour obtenir le contenu de la RAM, et j'ai vu que la totalité des textes se trouve dans le fichier bin que j'ai upload dans mon premier post. Le reste du texte se trouve dans le SLPM (qui contient les message de chargement, sauvegarde, la place prise fichier corrompue etc). Le codage est du shift Jis standard mais (normalement) compressé en LZ77 comme la majorité des jeux YETI (et des jeux rpg japonais de toutes façon). La taille des textes correspond aux 4 premiers octets du fichier sn.bin, ce qui signifie que ça correspond à sa taille une fois décompressé.

J'ai appris 2-3 petites infos sur le guide de la TRAF, c'est pour ça que j'ai des petites notions. Je pensais que les outils mis en ligne permettant une décompression directe des scripts avec les balises (puis la réinsertion de la traduction bien que l'extraction soit ma priorité pour l'instant), si je dois mettre les mains dans le cambouis c'est fichu pour moi.

Par contre ce que je comprend pas c'est que d'après ce que je vois dans ton screenshot avec MadEdit les textes ne devraient pas ressembler à ça si il y a vraiment une compression (je crois que les LZ fonctionnent avec la répétition d'octet pour économiser de la place. Ici les textes japonais sont fluides et les particules sont ajoutés correctement donc je suppose qu'il n'y a pas de compression. Les outils en lignes ne serait donc pas bon?

En ce qui concerne tes explications (qui sont trés bonne et je te remercie pour le temps que tu as passé à tout expliquer) je suis paumé sur la modification de extpack (je le modifie avec quoi et comment? ><)

Désolé je me rend compte que je suis vraiment désespérant. Je suis pas mieux qu'un débutant dans ce domaine ^^'.

AzazelBee
AzazelBee
Niveau 10
14 août 2015 à 23:44:10

En effet les textes ne ressemble pas à ça compressé, sauf que ce que je montre dans MadEdit est décompressé :-))) .
Le premier script est à moitié fonctionnel, il balance plein de fichier vide, mais il créer un fichier .ccpak (apparemment une extension inventé par l'auteur du script j'ai cru lire), qui est bien la version décompressé.

Par contre les autres scripts fournis eux ne marchent pas.

les scripts .ps1 et .cmd s'équivalent (ils sont un peu en doublon, ps1 = format PowerShell de Windows, je ne sais plus depuis quel version il fonctionne, mais c'est récent sur les version non serveur me semble, et .cmd = script classique de la ligne de commande Windows).

Pour modifier avec mes instructions, utilise le bloc-note ou notepad++ sur les scripts.

Enfaite, j'ai ptet trouvé plus simple juste pour te faire l'extraction sans les scripts qui marche mal :

Prend ton fichier sn.bin , et fait le glisser sur extract_snbin.py (.py et non .cmd)
ça devrait enclencher tout seul la décompression et le fichier .ccpak devrait apparaitre à coté en quelques secondes.

Par contre ça ne fait rien d'autre que la décompression, et ça ne tente pas de faire certaines choses que semblait faire le script (quand il générait plein de fichiers vide), mais bon, comme les scripts semblent caché, ça revient un peu au même à mon niveau.

Sinon le guide de la TRAF est idéal pour commencé le romhack, je l'ai utilisé aussi :) . Après, voilà face à ce genre de situation où tu ne trouve pas de script adapté, à part en continuant de chercher ailleurs (ou en épluchant si un gars en parle sur le forum où ta trouver les scripts), la seule solution est soit d'adapter le code d'un script existant (si possible), soit créer ton propre programme pour parser le fichier pour automatiser l'extraction, réinsertion, .... (si tu maitrise déjà un langage (tel que C, C++, java, C# .NET, ...) tu peux l'utiliser dans ce but, du moment que ça peut lire et écrire des fichiers, ça doit être faisable).

Message édité le 14 août 2015 à 23:44:44 par AzazelBee
AzazelBee
AzazelBee
Niveau 10
14 août 2015 à 23:54:12

Ah une petite erreur dans ma première explication, qui peut expliqué un soucis avec les scripts:
"En gros, renomme ton fichier sn.bin par test_sn.bin par exemple, et lance le premier script."

C'est test-sn.bin et non test_sn.bin (le script .ps1 et son équivalent .cmd se base sur ça dans les outils fournis pour détecter un fichier à utiliser).

Tommy-vercetty2
Tommy-vercetty2
Niveau 8
15 août 2015 à 10:25:33

Uhh... Penses tu que tu pourrais m'envoyer ton ccpk? Il y a que le script de commande qui peut exécuter mon .bin. Le ccpk sera surement moins problématique pour extraire les textes si ils sont tous présent. Quelle taille font les scripts que tu as réussi à obtenir?

Vis à vis de la traf (ça fait un bye ça me rapelle de vieux souvenirs) j'avais utiliser ça pour débuter sur un jeux n64. Aujourd'hui je suis pas spécialement embêter sur les langues, j'ai même appris le japonais mais tu galères toujours pour par exemple trouver les pointeurs rajouter de la place etc. En ce qui concerne la ps2 t'es obligés de retoucher à l'asm pour modifier la taille des cadres ou l'espacement entre les lettre en supprimant quelques pixels (seulement pour les jeux ps2 ou t'as eu besoin de toucher a la font, parce que si tu garde la même dimension tu place 5 mot par ligne))

J'ai vu une table de caractère en écriture latine quand j'ai zyeuter le slpm avec mon éditeur hexa, il y avait même les accents et tout donc je suis assez confiant sur le faite qu'il n'y aura probablement pas grand chose à changer. Faut juste que je zyeute. Dans ton script tu avais les balises de fin de dialogue et tout?

Message édité le 15 août 2015 à 10:29:42 par Tommy-vercetty2
AzazelBee
AzazelBee
Niveau 10
15 août 2015 à 17:46:00

Voilà mon fichier ccpak (mis dans un zip): https://mega.nz/#!E4liRK5T!_dPDrrWRlVZrfoAZbbNEJ1ft3JuWp1QzIUzMZQbPiQg , après je n'ai vraiment pas trop regardé le fichier, j'ai juste vue des textes complet en japonais (dont j'ai pris le screenshots), et j'ai vue ce qui pourrait être des pointeurs autour, mais j'ai pas du tout cherché/approfondis.

Perso j'ai surtout toucher à la PSP, sur plusieurs cas très différents on va dire, (au plus simple Project DIVA, au plus compliqué Prinny 2, mais j'avais laissé tout ça de coté, à l'époque j'avais pas le niveau en prog suffisant pour m'automatiser l'extraction/insertion et aujourd'hui j'ai plus assez de temps libre on va dire x) )

Tommy-vercetty2
Tommy-vercetty2
Niveau 8
16 août 2015 à 12:15:21

Merci merci merci pour tout ^^. Je vais prendre la suite avec tout ça. Merci pour ton aide et le temps incroyable que tu as dû passer pour moi.

Je te tiendrais au courant.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment