Aller au contenu


Photo

[DEV] Majin et Le Royaume Forsaken


  • Veuillez vous connecter pour répondre
16 réponses à ce sujet

Posté 04 janvier 2011 - 09:55

#1
iam

iam

    Sunriseur

  • Members
  • PipPip
  • 55 messages
Je boss sur Majin ! et j'avance a petit pas !!

SDK: 3.30
ID : BLES00919
Ver: Eur

Eboot.bin "Original"

readself
Section header
    offset             size              compressed unk1     unk2     encrypted
    00000000_00000980  00000000_00dea168 [NO ]      00000000 00000000 [YES]           
    00000000_00df0980  00000000_000b3850 [NO ]      00000000 00000000 [YES]
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]
    00000000_00e91670  00000000_00000004 [NO ]      00000000 00000000 [N/A]
    00000000_00deaa80  00000000_00000028 [NO ]      00000000 00000000 [N/A]
    00000000_00deaaa8  00000000_00000040 [NO ]      00000000 00000000 [N/A]

Les Bloques à Modifier :
To "Eboot.bin"

Offsets            Longueur 
00000000_00000980  00000000_00dea168            
00000000_00df0980  00000000_000b3850 
From "Eboot.elf"

Offsets            Longueur 
00000000_00000000  00000000_00dea168            
00000000_00df0000  00000000_000b3850

Entêtes à Modifier

"Entêtes"
Self TO Fself

Offsets
Value
00000000_00000008
80 00 00 01; €...


Crypted TO Decrypted

Offsets
Value
00000000_000002AF
02; .
00000000_000002CF
02; .
00000000_000002EF
02; .
00000000_0000030F
02; .
00000000_0000032F
02; .


L'eboot est maintenant modifié !!!

Eboot.bin "Modified"

readself
Section header
    offset             size              compressed unk1     unk2     encrypted
    00000000_00000980  00000000_00dea168 [NO ]      00000000 00000000 [NO ]
    00000000_00df0980  00000000_000b3850 [NO ]      00000000 00000000 [NO ]
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [NO ]
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [NO ]
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [NO ]
    00000000_00e91670  00000000_00000004 [NO ]      00000000 00000000 [N/A]
    00000000_00deaa80  00000000_00000028 [NO ]      00000000 00000000 [N/A]
    00000000_00deaaa8  00000000_00000040 [NO ]      00000000 00000000 [N/A]

Encrypted Metadata
  no encrypted metadata in fselfs.

Fichier joint  Majin.JPG   102,84 Ko   133 téléchargement(s)



Mais il manque encore quelque chose !!! mais quoi ??
  • Retour en haut

Posté 04 janvier 2011 - 10:08

#2
xXJohannXx

xXJohannXx

    -|- Pléstéchon Killer -|-

  • Members
  • PipPipPipPip
  • 1 058 messages
  • Sexe:Male
  • Lieu:57 - Hayange
super, par contre pas compris l'étape ou tu remplace les offset crypté par les décrypté, peu tu m'expliquer la chose clairement car je bloque a cette étape la moi

en MP si c'est vraiment long ^^

as tu bien verifié s'il n'y avait pas un bout du sdk 3.50 faut trouver le segment .sys_proc_param et verifier qu'il ne soit pas en 3.50

Je supose que tu as testé chez toi et il n'est pas fonctionnel, si tu veux que je test ton eboot je veux bien.
Un jour mon prince viendra.... Un jour il me dira... bouge tes fesses et va bosser...
Covers 3D Double en Francais pour vos managers c'est >>> ici
  • Retour en haut

Posté 04 janvier 2011 - 10:31

#3
iam

iam

    Sunriseur

  • Members
  • PipPip
  • 55 messages

super, par contre pas compris l'étape ou tu remplace les offset crypté par les décrypté, peu tu m'expliquer la chose clairement car je bloque a cette étape la moi

en MP si c'est vraiment long ^^

as tu bien verifié s'il n'y avait pas un bout du sdk 3.50 faut trouver le segment .sys_proc_param et verifier qu'il ne soit pas en 3.50

Je supose que tu as testé chez toi et il n'est pas fonctionnel, si tu veux que je test ton eboot je veux bien.


il est en SDK 330 c'est sûr.
testé en externe sur PS3 en 3.41 avec PL3 SP3.55 "Retour XMB"
voila l'eboot modifié est fini ! mais il doit manqué un truc à la con quelque part :(

pour le remplacement des offsets faut juste savoir que dans l'elf l'offset 00000000 = 00000980 dans le self.
en gros ce que tu doit copier du elf doit être décalé de 980 offsets !

par exemple :
si tu doit remplacer l'offset 980 avec une taille de 100 par exemple.
dans l'elf tu copie de l'offset 00000000 jusqu'à 00000100
dans le self tu remplace a partir de 00000980 jusqu'à 00000A80

pour d'autres détails jette un coup d'œil par ici ps3wiki self file
  • Retour en haut

Posté 04 janvier 2011 - 10:45

#4
xXJohannXx

xXJohannXx

    -|- Pléstéchon Killer -|-

  • Members
  • PipPipPipPip
  • 1 058 messages
  • Sexe:Male
  • Lieu:57 - Hayange
je te remercie pour le complement d'information c'est un peu plus clair pour moi maintenant,

ton eboot ne marche pas chez moi non plus en pl3 spoof 3.50

je me pose une question quand on regarde le readself, ont vois 5 segment encrypté mais dans ton déroulement tu ne change que les 2 1er as tu essayé de remplacer aussi les 3 autres, car dans la suite au moment de passer les encrypted en decrypted, tu fais bien les 5 justement. peut tre le prob viens de la, enfin je dit peu etre des betises ^^, mais si je suis la logique de ton déroulement, tu remplace les 2 1er seulement, les 3 autre reste donc crypté mais tu indique quand meme apres que les 5 sotn decrypté.

Section header
    offset             size              compressed unk1     unk2     encrypted
    00000000_00000980  00000000_00dea168 [NO ]      00000000 00000000 [YES]           
    00000000_00df0980  00000000_000b3850 [NO ]      00000000 00000000 [YES]
[b]    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES][/b]
    00000000_00e91670  00000000_00000004 [NO ]      00000000 00000000 [N/A]
    00000000_00deaa80  00000000_00000028 [NO ]      00000000 00000000 [N/A]
    00000000_00deaaa8  00000000_00000040 [NO ]      00000000 00000000 [N/A]

Modifié par xXJohannXx, 04 janvier 2011 - 10:47.

Un jour mon prince viendra.... Un jour il me dira... bouge tes fesses et va bosser...
Covers 3D Double en Francais pour vos managers c'est >>> ici
  • Retour en haut

Posté 04 janvier 2011 - 11:20

#5
iam

iam

    Sunriseur

  • Members
  • PipPip
  • 55 messages
00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]


rien à remplacer size à 0.
j'ai bien décrypté a 5 adresses dans le headear !

je copie vers l'interne et je test car je viens de me rendre compte qu'il y a plus de 10000 fichiers dans le dossier du jeux !!
fat32 rame au-delà de 4096 fichiers dans le même dossier...
  • Retour en haut

Posté 04 janvier 2011 - 11:34

#6
xXJohannXx

xXJohannXx

    -|- Pléstéchon Killer -|-

  • Members
  • PipPipPipPip
  • 1 058 messages
  • Sexe:Male
  • Lieu:57 - Hayange
ok, bienc e que je pensais des que la la taille est a 0 rien a remplacer, par contre le mien était en interne quand j'ai testé ton eboot :( donc peut de chance que ca marche chez toi, a moin que t'es changé d'autre chose depuis.

Modifié par xXJohannXx, 04 janvier 2011 - 11:35.

Un jour mon prince viendra.... Un jour il me dira... bouge tes fesses et va bosser...
Covers 3D Double en Francais pour vos managers c'est >>> ici
  • Retour en haut

Posté 04 janvier 2011 - 18:19

#7
blacksoul

blacksoul

    Nouveau / peu actif

  • Members
  • Pip
  • 5 messages
Hello les gars,

de mon côté j'ai tenté de réitéré la modification de l'EBOOT de GT5 Version Europe BCES00569.

Je fonctionne exactement de la même manière que iam. En gros :

1/ J'utilise :
readself EBOOT.BIN
et je conserve le resultat
2/ J'execute :
unself EBOOT.BIN EBOOT.SELF
3/ Je modifie à l'aide d'un editeur hexadicemal le fichier EBOOT.BIN d'origine, au niveau des offset decris dans :
Section header
et qui comporte la mention Encryption [YES]
4/ Au niveau de la lecture de ces informations, il faut etre prudent parce que le EBOOT.SELF et l'EBOOT.BIN ne sont pas identique (en gros le header est absent du SELF).
Dans mon cas, il y a une difference de 980 offset (en début de fichier) entre le .bin et le .self
Concernant la procédure, je fais des selection de bloc selon la longueur (size des des section header) au départ de l'offset décris dans le readself (moins les 980 offset de difference)
Ensuite je copie colle ces information dans le eboot.bin (cette fois sans enlever les 980 offsets !! du début).
5/ Il faut ensuite modifié les headers de l'eboot.bin, en gros il faut préciser le type de SDK et le type de disque, pour cela on modifie les offset numéro 08 à 0B en y indiquant "80 00 01".
(80 00 correspond a devkit/fself, le dernier 01 correspond a retail disk)
6/ ensuite il faut préciser que les meta ne sont plus "encrypted". Pour cela il faut passer les valeur des offset 2AF, 2CF, 2EF, 30F, 32F, etc etc (en fonction des offset précédement encrypted) de 01 à 02.
7/ puis je coince également.

En effet, j'ai comparé mon fichier et celui qui est compatible 3.41 et j'ai remarque peu de différence, celles-ci sont compris au niveau du header du .elf dans les offset 9A7 à B87 et ensuite à la fin des offset decrypté précédemment aux offsets 1772D8D à 1772DEF & 18CD8DC à 18CD8DF (moins de 100 offset différent). Seulement ces derniers ont une grande incidence vu que mon fichier me renvois une belle erreur au démarrage.
Donc si quelqu'un à une idée ce serait super.

Je précise la partie du haut ne fait pas office de tutorial, c'est ce que j'ai compris lors de mes investigations tardive et infructeuse de hier soir. Le post de iam n'a fait que confirmer mon bon départ sur mes modifications.

EDIT: je précise que la partie sys_proc_param n'est pas visible en soi, c'est juste une référence à un type de commande. donc inutile de faire une recherche dans le fichier hexa pour trouver cette commande, elle ne s'y retrouvera pas. mais c'est également cette partie qui coince probablement dans ma modification.

Modifié par blacksoul, 04 janvier 2011 - 18:21.

  • Retour en haut

Posté 04 janvier 2011 - 22:30

#8
blacksoul

blacksoul

    Nouveau / peu actif

  • Members
  • Pip
  • 5 messages
Apparement on n'est pas les seuls avec ces problèmes.

http://psx-scene.com...03-post756.html
  • Retour en haut

Posté 04 janvier 2011 - 22:56

#9
m2kreturns

m2kreturns

    Sunriseur

  • Members
  • PipPip
  • 44 messages
euh j'ai pas compris pourkoi ca marche pas pour vous, moi le jeu fonctionne bien chez moi en gameplay pas d'erreur ou koi ke ce soit, a moins que ca soit plus loin dans le jeu, car pour l'instant aucun probleme
  • Retour en haut

Posté 04 janvier 2011 - 22:59

#10
iam

iam

    Sunriseur

  • Members
  • PipPip
  • 55 messages
le problème est juste la signature après le remplacement de l'offset 00000980 et un décalage à 4 octects de l'offset 00DF0000.
une erreur humaine... mais après modification du décalage ca marche même sans la signature !!! mdr
  • Retour en haut

Posté 05 janvier 2011 - 00:38

#11
blacksoul

blacksoul

    Nouveau / peu actif

  • Members
  • Pip
  • 5 messages

euh j'ai pas compris pourkoi ca marche pas pour vous, moi le jeu fonctionne bien chez moi en gameplay pas d'erreur ou koi ke ce soit, a moins que ca soit plus loin dans le jeu, car pour l'instant aucun probleme


Avec le eboot.bin que l'on peut téléchargé dans le topic ca fonctionne sans problème. on essaie juste de comprendre comment fonctionne le systeme de modification des eboot.

le problème est juste la signature après le remplacement de l'offset 00000980 et un décalage à 4 octects de l'offset 00DF0000.
une erreur humaine... mais après modification du décalage ca marche même sans la signature !!! mdr


Tu pourrais être plus précis, tu parles de magin ?
Si ca fonctionne pour magin, pourrais-tu essayé pour GT5 EUR, j'aimerai voir si je fais quelques chose de travers.
  • Retour en haut

Posté 05 janvier 2011 - 03:42

#12
m2kreturns

m2kreturns

    Sunriseur

  • Members
  • PipPip
  • 44 messages

Avec le eboot.bin que l'on peut téléchargé dans le topic ca fonctionne sans problème. on essaie juste de comprendre comment fonctionne le systeme de modification des eboot.



Tu pourrais être plus précis, tu parles de magin ?
Si ca fonctionne pour magin, pourrais-tu essayé pour GT5 EUR, j'aimerai voir si je fais quelques chose de travers.

ah d'accord autant pour moi merci
  • Retour en haut

Posté 06 janvier 2011 - 10:33

#13
Frenchiboot

Frenchiboot

    Sunriseur

  • Members
  • PipPip
  • 27 messages
Bonjour

Je bloque aussi comme vous, le readself me di bien que tout est decrypté mais cela ne fonctionne pas lorsque je lance mon jeu : retour au XMB ou ecran noir .

Pour cela il faut passer les valeur des offset 2AF, 2CF, 2EF, 30F, 32F, etc etc (en fonction des offset précédement encrypted) de 01 à 02.


Tu modifies aussi les valeurs des offsets apres 32F ??? Genre 34F et ainsi de suite ????

Iam t'a fait comment ??

Pour le SDK aussi c'est un peu flou pour moi, ce serait bien qu'on puisse y arriver pour decrypter tous les eboot Pal

Edit : Je pense avoir trouver comment savoir ou se trouve le .sys_proc_param !!!!! J'vais tester ca une fois chez moi car j'suis au taf la ^^

Modifié par Frenchiboot, 07 janvier 2011 - 11:33.

  • Retour en haut

Posté 07 janvier 2011 - 17:52

#14
iam

iam

    Sunriseur

  • Members
  • PipPip
  • 55 messages

Tu modifies aussi les valeurs des offsets apres 32F ??? Genre 34F et ainsi de suite ????

iam t'a fait comment ??


salut

Section header
    offset             size              compressed unk1     unk2     encrypted
    00000000_00000980  00000000_00dea168 [NO ]      00000000 00000000 [YES]      <= 1 => 2AF
    00000000_00df0980  00000000_000b3850 [NO ]      00000000 00000000 [YES]      <= 2 => 2CF
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]      <= 3 => 2EF
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]      <= 4 => 30F
    00000000_00ea41d0  00000000_00000000 [NO ]      00000000 00000000 [YES]      <= 5 => 32F

Comme tu vois la c'est la section headers du fichier eboot.bin "original"

Il y' a 5 Plages d'offsets Cryptés ! > numéroté de 1 à 5 > avec l'adresse du flag "indiquant si la plage d'offsets est crypté ou pas"
Donc ils sont physiquement cryptés "c'est à dire l'ensemble des valeurs binaires contenus dans ces plages d'offsets ex de 00000980 à 00DEAAE8"
Ont sait que pour les décryptés physiquement c'est unself pour avoir un self décrypté "elf".

Comme dit plus haut sur les flags "pointeurs" contenus dans le header "entête" de l'eboot, ils indiquent quelles plages ou offsets est cryptés "01" ou pas "02"

Et il s'avèrent que c'est souvent les mêmes offsets qui indiquent ceci 2AF, 2CF, 2EF, 30F, 32F !

voici l'exemple pris de need for speed hot pursuit pour preuve !

Fichier joint  offDecrypt.JPG   40,67 Ko   2 téléchargement(s)



Maintenant ce qui me pose problème, c'est les huit offsets de fin de chaque plage d'offsets "les 8 offsets juste après le dernier offset de remplacement, juste après la première plage à remplacer en générale dans l'eboot, la valeur que j'ai constaté elle ne figure ni dans les données cryptés de l'eboot original, ni dans ceux issu des elf".

Dans cet exemple de Majin voici la séquence dont je parle > 00DEAAE9 à 00DEAAEF

MAJIN eboot modifier "fonctionnel"
Fichier joint  signature.JPG   14,12 Ko   4 téléchargement(s)


MAJIN la même séquence de l'eboot original, suivi en dessous de l'elf au dessous.
Fichier joint  eboot+elf.JPG   13,02 Ko   5 téléchargement(s)

Je vois que l'eboot original et l'elf on les mêmes valeurs mais pas l'eboot modifier...

J'ai voulu voir avec nfs hp si cette différence est aussi présente !

exemple de nfs hp

section header
    offset             size              compressed unk1     unk2     encrypted
    00000000_00000980  00000000_00c04c68 [NO ]      00000000 00000000 [YES]


EN HEXA on va calculer : offset + size = fin de zone décrypté à remplacer !

00000980 + 00C04C68 = 00C055E8

Les 8 offsets à surveiller sont 00C055E9 à 00C055EF !

nfs hp eboot original suivi du elf puis de l'eboot modifié.

Fichier joint  nfshp.JPG   23,88 Ko   5 téléchargement(s)

Je pense a une signature ou une zone de contrôle CRC Check mais ca peu être carrément autre chose... une idée ??

Modifié par iam, 07 janvier 2011 - 18:24.

  • Retour en haut

Posté 09 janvier 2011 - 01:21

#15
Frenchiboot

Frenchiboot

    Sunriseur

  • Members
  • PipPip
  • 27 messages
Ouais , je voi exactement de quoi tu veu parler, je me suis aussi demandé d'ou venait les differences

J'ai essayé de faire le unself sur Linux car j'ai lu sur le net que le unself pouvait etre erroné sur Windows.

Or ce n'est pas le cas ( en tout cas avec les eboot que g pu tester ), il faut dire que le tuto de Veritas n'est pas tres

clair vu le nombre d'infos données par le readself.

J'en suis au meme point que toi ....et je ne sais plus quoi chercher !!!

_On modifie les parties decryptées depuis Eboot.elf vers Eboot.bin

_On passe de Self à FSELF

_On change les valeurs de 2af à 32f de 01 à 02

_On readself sur le nouvo eboot.bin qui nous dit que c'est décrypté mais on a 15 differences avec le bon eboot decrypté

De quoi se tirer les cheveux !!!

Je fais quelques tests avec makeself sur l'eboot.elf pour voir si certaines données concordent avec le bon eboot decrypté mais la

encore rien a voir.

Aussi tu en penses quoi de ca :

Update: Or as KaKaRoTo indicates… Hex edit the necessary changes to eboot.elf, minus steps 6, 7 and 8, save the unencrypted eboot.elf and run this: “makeself eboot.elf EBOOT.BIN”. Now she’s signed and encrypted again. That should work.


  • Retour en haut

Posté 09 janvier 2011 - 17:58

#16
iam

iam

    Sunriseur

  • Members
  • PipPip
  • 55 messages

Aussi tu en penses quoi de ca :

Update: Or as KaKaRoTo indicates… Hex edit the necessary changes to eboot.elf, minus steps 6, 7 and 8, save the unencrypted eboot.elf and run this: “makeself eboot.elf EBOOT.BIN”. Now she’s signed and encrypted again. That should work.


je pense que makeself est non fini... bref j'ai essayé quand même.

[usage] :
makeself [type] [version suffix] [elf] [self]

[type] :
app, iso, lv2

[version suffix] :
315, 341, 350...

En essayant
makeself app 341 majin.elf eboot.bin

J'ai une erreur de key_get failed
toutes les keys sont présentes dans mon dossier .ps3 !

Pour voir de quoi il s'agit, j'ai cherché un peu dans les sources à la recherche de la fonction

static void get_keys(const char *suffix)
{
	if (key_get(type, suffix, &ks) < 0)
		fail("key_get failed");

	if (ks.pub_avail < 0)
		fail("no public key available");

	if (ks.priv_avail < 0)
		fail("no private key available");

	if (ecdsa_set_curve(ks.ctype) < 0)
		fail("ecdsa_set_curve failed");

	ecdsa_set_pub(ks.pub);
	ecdsa_set_priv(ks.priv);
}

en suspend pour l'instant !!!!

mais je pense que la syntaxe exacte pour majin devrait être :
makeself app 341 100 01000002 1010000001000003 8000 majin.elf eboot.bin

type = app
version_suffix = 341
version = 1.0.0
vendor_id = 01000002
auth_id = 1010000001000003
sdk_type = 0001 or 0007 (retail) or 8000 (debug/devkit)

Sous windows j'ai une erreur de syntaxe en essayant comme ceci !
  • Retour en haut

Posté 14 janvier 2011 - 12:21

#17
iam

iam

    Sunriseur

  • Members
  • PipPip
  • 55 messages
Re,

J'ai télécharger les derniers outils de fail0verflow via PS3FOXX..

et la syntaxe est bien la suivante :

makeself -c app 341 100 01000002 1010000001000003 8000 majin.elf eboot.bin

ce coup ci ca marche bien !
  • Retour en haut




2 utilisateur(s) li(sen)t ce sujet

0 invité(s) et 2 utilisateur(s) anonyme(s)