[Utils] Aide au ROMhack

Des soucis pour hacker votre jeu ? C'est ici qu'il faut exposer votre problème.
Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [Utils] Aide au ROMhack

Message non lu par BahaBulle » 30 avr. 2018, 21:13

jerome674 a écrit :
30 avr. 2018, 12:09
avec ce code je n'arrive pas au résultat escompté, d'ou provient la "bourde" ?
Là, comme ça, je peux déjà te dire que si tes valeurs sont sur 4 octets, faire une boucle de 1 à 2 risque de ne pas donner le résultat escompté.
C'est assez clair à voir.

Mais ce serait bien d'en savoir un peu plus.
Qu'est-ce que tu attends ? Et quel résultat tu as ?

@pinky : Ce n'est pas de Tweewy qu'il s'agit mais d'un autre jeu avec un système similaire.
Il reprend juste le script que j'avais fait à l'époque pour Lyan.

jerome674
Nouveau Floodeur
Messages : 49
Inscription : 30 sept. 2011, 11:14

Re: [Utils] Aide au ROMhack

Message non lu par jerome674 » 01 mai 2018, 01:20

Hello Pinky, pour TWEWY j'avais fais quelques tests avec Lyan53 y a facilement 3 à 4 ans.
Le principal problème était au chargement du jeu dès le début mais il y avait moyen de contourner le problème, Lyan53 n'était pas convaicu par ma proposition et il avait mis le projet de coté...

Bahabulle : mes valeurs sont sur 2 octets :
mais les pointeurs sont sur 2 octets au lieu de 4 et la longueur sur 2 octets au lieu de 4 aussi.
dans l'exemple mis, pour l'autre jeu, c'était sur 4 et 4 octets, moi sur le fichier ci-joint, c'est 2 et 2 octets.

J'ai un résultat avec plein de FF et des pointeurs qui sont au milieu de tout ça au lieu d'avoir un texte en hexa ou mon texte qui "sort".

Avatar de l’utilisateur
pinktagada
Mauvaise ROMhackeuse débutarte
Messages : 2289
Inscription : 10 mars 2010, 10:39
Localisation : Midgard
Contact :

Re: [Utils] Aide au ROMhack

Message non lu par pinktagada » 01 mai 2018, 09:20

Ah, OK. Qqun était venu me parler de TWEWY y'a pas très longtemps (valeur temporelle élastique pouvant s'étendre à plusieurs mois). Si TWEWY reprend, toi avec qui j'en avais parlé, ça tient toujours.

Si le pb de la reconstruction du jeu quifaitoutplanter est résolu, ça serait une bonne chose !
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
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [Utils] Aide au ROMhack

Message non lu par BahaBulle » 01 mai 2018, 14:07

Ah, j'ai mal lu, pardon.

Dans le shift_l, tu as mis 4, faut laisser 8.
On décale de 8 bits pour avoir une valeur sur 2 octets sinon tu vas avoir un truc bancale.

jerome674
Nouveau Floodeur
Messages : 49
Inscription : 30 sept. 2011, 11:14

Re: [Utils] Aide au ROMhack

Message non lu par jerome674 » 01 mai 2018, 23:31

Bon et bien après test, ça ne fonctionne pas mieux :

Code : Tout sélectionner

<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><PT0001>
<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><PT0002>
<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><PT0003>
<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><PT0004>
<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF>

a_Tom
Messages : 5
Inscription : 03 mars 2017, 00:27

Re: [Utils] Aide au ROMhack

Message non lu par a_Tom » 02 mai 2018, 07:51

Salut, c'est moi qui était venu parler de TWEWY. Dans l'idée je veux toujours bosser dessus mais dans les faits, ça fait longtemps que j'y ai pas alloué de temps.
J'ai, d'après mes tests, résolu le problème de reconstruction en utilisant une version custom de ndstool (je pose ça là https://github.com/aTom3333/ndstool au cas où je redisparais par contre c'est qu'une version linux, j'ai pas trouvé de version multi-plateforme en cherchant le code à la base)

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [Utils] Aide au ROMhack

Message non lu par BahaBulle » 02 mai 2018, 09:10

Tes pointeurs sont comment ?
Avec ce script, il n'y a pas de calcul de pointeurs.
Le premier doit valoir 0.

jerome674
Nouveau Floodeur
Messages : 49
Inscription : 30 sept. 2011, 11:14

Re: [Utils] Aide au ROMhack

Message non lu par jerome674 » 02 mai 2018, 11:34

Baha : j'ai mis le fichier sur mediafire dans le post précédent

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [Utils] Aide au ROMhack

Message non lu par BahaBulle » 02 mai 2018, 12:32

Et ?

jerome674
Nouveau Floodeur
Messages : 49
Inscription : 30 sept. 2011, 11:14

Re: [Utils] Aide au ROMhack

Message non lu par jerome674 » 02 mai 2018, 13:26

Voici ce que j'ai a partir de l'adresse 0xC du fichier : 60 00 1d 00 9c 00 16 00 ca 00 34 00 (avant il s'agit d'un entête...)

les pointeurs commencent en 0xc avec pour valeur 60 00 ->00 60 (little endian)
suivi en 0xe par la taille du pointeur avec pour valeur 1d 00 (taille a multiplier par 2 afin d'obtenir 3A en taille totale)

le pointeur suivant est en 0x10 avec pour valeur 9c 00 ->009c (little endian)
suivi en 0x12 par la taille du pointeur avec pour valeur 16 00 (taille a multiplier par 2 afin d'obtenir 2C en taille totale)

le pointeur suivant est en 0x14 avec pour valeur CA 00 ->00CA (little endian)
suivi en 0x16 par la taille du pointeur avec pour valeur 34 00 (taille a multiplier par 2 afin d'obtenir 68 en taille totale)

Les pointeurs sont sur 2 octets tout comme la longueur est sur 2 octets.
Avec le script modifié, j'obtiens des valeurs erronées, Est-ce qu'il y aurait pas un problème d'inversion d'octet ? little<->big endian avec le script fait sur l'autre jeu ?

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [Utils] Aide au ROMhack

Message non lu par BahaBulle » 02 mai 2018, 16:01

Avec ce script, le texte est copié dans un buffer et se retrouve à l'adresse 0.

Vu que ton 1er pointeur vaut 0x60, la fonction d'extraction va extraire à partir de 0x60.

Il faut que tu forces la valeur du pointeur ou le calcul de la table de pointeur pour que ça pointe une adresse avec une base de 0 et non de 0x60.

Essaye pour voir ce que ça donne. Ca fait longtemps que je n'ai pas utilisé le hareng.

jerome674
Nouveau Floodeur
Messages : 49
Inscription : 30 sept. 2011, 11:14

Re: [Utils] Aide au ROMhack

Message non lu par jerome674 » 04 mai 2018, 11:44

Bonjour,

Je veux justement extraire entre 0x60 et 0x9c ; entre 0x9c et 0xca ...
Si je comprends bien ce que tu dis, je fais ce qu'il faut :( mais j'ai toujours des FF FF FF FF en résultat

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [Utils] Aide au ROMhack

Message non lu par BahaBulle » 04 mai 2018, 12:24

Difficile de savoir si tu fais ce qu'il faut vu que je ne vois pas ton script modifié.

Tu dois modifier la méthode de calcul des pointeurs pour que ton premier pointeur ait une valeur de 0x00 et non 0x60.

jerome674
Nouveau Floodeur
Messages : 49
Inscription : 30 sept. 2011, 11:14

Re: [Utils] Aide au ROMhack

Message non lu par jerome674 » 04 mai 2018, 15:04

tu veux que je modifie mon fichier binaire d'origine ?

Code : Tout sélectionner

nameFileOutput  = "US-script01.txt"
nameFileScript  = "0.dat"
nameFilePointer = "0_bis.dat"
nameFileTable   = "table.tbl"
adressScript    = 0x6C
adressPointer   = 0x0C
sizeScript      = 0x150
nb_pointer      = 24

SEEK_SET = 0
SEEK_CUR = 1
SEEK_END = 2

-- Ouverture du fichier contenant les pointeurs
fileScript   = Fichier.new()
filePointer  = Fichier.new()
table_pt     = Table_pointeurs.new()
tbl          = Table_ext_ins.new()
bufferScript = Buffer.new()

filePointer:open(nameFilePointer, "rb")
filePointer:seek(adressPointer, SEEK_SET)

-- Récupération des pointeurs
for i = 1, nb_pointer do
   local pointer = 0
   for j = 1, 2 do
      pointer = pointer + shift_l(filePointer:get(), 8 * (j - 1))
   end

   -- On zap le nombre d'octets
   for j = 1, 2 do
      filePointer:get()
   end

   local pt = Pointeur.new()
   pt:numero(i)
   pt:valeur(pointer)
   pt:taille(2)

   table_pt:ajouter(pt)
end

-- Chargement de la table
tbl:ouvrir(nameFileTable)

-- Récupération des données à extraire
fileScript:open(nameFileScript, "rb")
fileScript:seek(adressScript, SEEK_SET)
fileScript:read(bufferScript, sizeScript)

sortie = Output.new("Fichier", nameFileOutput, "wb")

-- Extraction du script
Ext_ins.extraire(bufferScript, tbl, sortie, table_pt)
avec ces données il devrait prendre le texte au bon endroit normalement :
adressScript = 0x6C ->adresse de début de mes textes

idem au niveau des pointeurs ?
adressPointer = 0x0C ->adresse de début de mes pointeurs

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [Utils] Aide au ROMhack

Message non lu par BahaBulle » 04 mai 2018, 19:33

Tu as lu ce que j'ai écrit ?

Dans le script lua, tu dois modifier la valeur des pointeurs ou le calcul des pointeurs (méthode .setcalcul ou un truc comme ça) pour que le premier pointeur pointe l'adresse 0x00 et pas 0x60.

jerome674
Nouveau Floodeur
Messages : 49
Inscription : 30 sept. 2011, 11:14

Re: [Utils] Aide au ROMhack

Message non lu par jerome674 » 04 mai 2018, 20:38

Je t'ajoute l'image du fichier binaire en question :

Image

Avatar de l’utilisateur
Bleachya43vier
Amateur Suprême du Flood
Messages : 103
Inscription : 01 mai 2012, 16:43

Re: [Utils] Aide au ROMhack

Message non lu par Bleachya43vier » 05 mai 2018, 00:24

Je pense que Baha s'attend à ce que tu creuses un peu plus par toi-même plutôt que de balancer des infos en mode "j'ai besoin d'aide, démerde-toi" :D Ce que tu donnes là n'ajoute rien à ce que tu as déjà dit.

Maintenant je ne sais pas si tu t'y connais en programmation et si tu comprends vraiment ce que tu fais, mais je suppose que tu peux essayer de te dépatouiller en comparant son script à l'API du hareng, puis relire ce qu'il a écrit ici et modifier ton script.
Dans la vie, je voudrais être un petit chat. Blanc et gris, pour que tu ne résistes pas.
Dans la vie, je voudrais être un petit chat. Chaque nuit, je m'endormirai contre toi.

Répondre