Aller au contenu

Bienvenue sur le Forum Gueux
Enregistrez vous maintenant pour bénéficier de l'ensemble des fonctionnalités. Une fois enregistré et connecté, vous pourrez créer des sujets, répondre aux sujets existant, profiter d'un système de messagerie privée, gérer votre profil et bien plus encore. Si vous possédez déjà un compte, connectez-vous ici - ou bien créez un compte gratuitement!

Photo

Pupxtractor


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

#1
Ac_K

Ac_K

    Membre

  • Membres
  • PipPip
  • 222 messages
Bonjour à vous,
J'm'ennuyais un peu cet aprem alors j'ai coder un utilitaire pas très utile qui permet d'extraire les différentes partie d'un firmware PS3:

Image IPB

http://www.miroriii....y_Ac_K-zip.html

v0.3:

		  -----

		  - HMAC SHA-1 Added.

		  - Little Improvement of UI.

		  - Download of 3.21 / 3.30 Added.

		  - Preview of Updated_Files.tar Added.

	 

		  v0.2:

		  -----

		  - Preview of XML file is improve.

		  - Download of PUP to Sony servers.

		  - Little changes...

	 

		  v0.1:

		  -----

		  - Extract one part of firmware.

		  - Extract all parts of firmware.

		  - Preview of Txt and XML file.

Donc pour le moment vous pouvez extraire une partie ou tous le firmware, y'a aussi une previsualisation des fichiers TXT et XML...
Je vais voir si je peux ajouter d'autre petite fonction dessus par la suite! Si vous avez des idées, problèmes ou autre, merci de m'en faire part ;)

++

Modifié par Ac_K, 24 April 2010 - 14:52 PM.

Sony PSP - Sony PS2 - Sony PSTwo
Nintendo DS - Nintento Wii
Microsoft Xbox - Microsoft Xbox360


#2
zouzzz

zouzzz

    Vieille Branche

  • Membres - Auteur Gx-Tutos
  • PipPipPipPipPipPipPipPip
  • 17314 messages
  • Gender:Not Telling
Salut,

L'ennui est productif chez toi. ;)
Merci pour l'appli.

Edit : téléchargement hs pour moi :/
Edit2 : non ok, le lien de téléchargement est ok.

Modifié par zouzzz, 17 October 2009 - 21:02 PM.


- Dev - Hacks - Homebrews - Games - Demos -


#3
Ac_K

Ac_K

    Membre

  • Membres
  • PipPip
  • 222 messages
J'vais mettre des miroirs je pense, mais bon, RapidShare c'est plus ce que c'était!

Sinon, Que pensez vous d'un système de téléchargement de firmware ? Si ca peut être utilse, va falloir que je parte à la recherche de lien Sony ^^

Sony PSP - Sony PS2 - Sony PSTwo
Nintendo DS - Nintento Wii
Microsoft Xbox - Microsoft Xbox360


#4
zouzzz

zouzzz

    Vieille Branche

  • Membres - Auteur Gx-Tutos
  • PipPipPipPipPipPipPipPip
  • 17314 messages
  • Gender:Not Telling
Tiens je l'ai hébergé si tu veux : PUPXtractor v0.1


- Dev - Hacks - Homebrews - Games - Demos -


#5
Ac_K

Ac_K

    Membre

  • Membres
  • PipPip
  • 222 messages
Version 0.2 Out!

Sony PSP - Sony PS2 - Sony PSTwo
Nintendo DS - Nintento Wii
Microsoft Xbox - Microsoft Xbox360


#6
zouzzz

zouzzz

    Vieille Branche

  • Membres - Auteur Gx-Tutos
  • PipPipPipPipPipPipPipPip
  • 17314 messages
  • Gender:Not Telling
Non rien. Merci.

Modifié par zouzzz, 18 October 2009 - 18:50 PM.


- Dev - Hacks - Homebrews - Games - Demos -


#7
ouasse

ouasse

    Master Gueux

  • Membres
  • PipPipPipPipPip
  • 1849 messages
  • Location:Paris
Salut Ac_K et merci pour ton appli ;)

Tu peux donner le format de base des archives PUP ? C'est du zip tout bête ou c'est plus compliqué ? j'ai pas windows, donc je me ferais bien un petit outil en ligne de commande pour *nix.

et sinon, y a-t-il des informations intéressantes dans les différents fichiers des archives ? Je suppose que les fichiers de mise à jour proprement dits sont indéchiffrables, mais peut être qu'au moins le changelog est lisible en clair.
42

#8
Miles Prower

Miles Prower

    VIP Gueux

  • Membres
  • PipPipPipPipPipPip
  • 4965 messages
  • Gender:Male
  • Location:Terrier
  • : MairusuPawa
Pourrais-tu faire le même mais sans reposer sur .NET ?

#9
ouasse

ouasse

    Master Gueux

  • Membres
  • PipPipPipPipPip
  • 1849 messages
  • Location:Paris
Après un rapide examen du binaire, le fichier est en plusieurs parties, dont les offsets et les tailles sont en en-tête. Par contre il n'y a aucun nom de fichier.

Je vais faire un code vite fait en C pour extraire tout ça.

Edit: ayet c'est fait, vous pouvez le télécharger en suivant ce lien. Le code est en GPL tout beau tout propre. Ca se compile avec la commande "make" (il faut avoir installé gcc et make bien sur), et vous pouvez extraire les fichiers avec la commande :

./pupextract fichier.pup

andjoille.

Modifié par ouasse, 20 October 2009 - 11:59 AM.

42

#10
Ac_K

Ac_K

    Membre

  • Membres
  • PipPip
  • 222 messages
La structure des PUP n'est franchement pas compliqué... Le header au début, puis la liste des fichiers et enfin les hash (HMAC SHA1) des fichiers!
Ouasse, si tu veux des infos plus technique y'a qu'a demander ^^ Jte ferai une petite doc sur le format...

Pour les noms, je l'ai fais au "petit bonheur la chance", avec le début de chaque fichier! Certains sont des txt, un XML pour le EULA, un SELF (surement l'installer) et puis des fichiers TAR contenant quand à eux certainement une partie des fichiers de mise à jour! Malheureusement ceux ci sont crypté par je ne sais quel algo de Sony!

Sinon pour le "non .Net" il y a une version ligne de commande qui existe depuis quelques temps! Mais elle ne supporte pas les nouveaux firmware!
Je rappel que si vous avez des idées pour cet "outil bidon" n'hésitez pas ;)

Sony PSP - Sony PS2 - Sony PSTwo
Nintendo DS - Nintento Wii
Microsoft Xbox - Microsoft Xbox360


#11
zouzzz

zouzzz

    Vieille Branche

  • Membres - Auteur Gx-Tutos
  • PipPipPipPipPipPipPipPip
  • 17314 messages
  • Gender:Not Telling
Salut,

Désolé des questions qui vous paraitront peut-être un peu bêtes.
Le header donne pas mal d'infos sur la structure, si j'ai bien compris :
- Position 0x26, pour la taille de l'header.
- Le nombre de sections en 0x1F (?)
- Positions des sections données à partir de 1F + 0x20..., la taille suit ensuite et avant on trouve les Atributes en 0x36 + 0x20...
- Unknow en 0x16 mais je ne sais ce que c'est...

C'est ça?

Modifié par zouzzz, 20 October 2009 - 13:06 PM.


- Dev - Hacks - Homebrews - Games - Demos -


#12
Cobaltduff

Cobaltduff

    Débutant

  • Membres
  • Pip
  • 4 messages
Bonjour a tous, desoler pour mon france. je voudrai savoir si il a un moyen de cloner la sha-1 d'un fichier a un autre fichier diferen?

Merci pour l'utilitaire :ok:

Modifié par Cobaltduff, 20 October 2009 - 13:32 PM.


#13
ouasse

ouasse

    Master Gueux

  • Membres
  • PipPipPipPipPip
  • 1849 messages
  • Location:Paris
zouzzz et Ac_K,

mon util en ligne de commande est ultra basique pour l'instant, ça m'a pris 1 heure pour analyser le fichier et faire le code d'extraction. Pour l'instant je récupère exactement 7 fichiers en prenant leurs offets et tailles à partir de 0x38 (les tailles sont en 64 bits apparemment) et en incrémentant de 32 octets (0x20) à chaque fois. Et j'ai pris les mêmes noms de fichier que ceux du screenshot d'Ac_K. Et je ne fais aucune vérif de sha-1, je vérifie juste que le header vaut bien 0x5343455546000000 en 64 bits (="SCEUF\0\0\0").

il y a certainement des choses à modifier, mais c'était juste histoire de faire un truc vite fait pour les non-windoziens.

cobaltduff, non tu ne peux pas changer le sha-1 d'un fichier. sha-1 est un algorithme qui génère une signature à partir des données contenues dans le fichier. si tu modifies le sha-1 associé à un fichier, ou le contenu du fichier, l'archive sera considérée comme invalide. Par contre tu peux générer un nouveau sha-1 à partir du nouveau fichier, mais il faudra encore que ce nouveau fichier puisse être lu et compris par le système de la ps3, ce qui n'est pas gagné, vu que les fichiers de l'update sont cryptés et donc non modifiables par d'autres personnes que Sony.

edit: ah tiens non, apparemment c'est plus compliqué d'après ce que dit Ac_X. il faut une clé HMAC qui est inaccessible a priori.

Modifié par ouasse, 20 October 2009 - 13:32 PM.

42

#14
Ac_K

Ac_K

    Membre

  • Membres
  • PipPip
  • 222 messages
Zouzzz

Position 0x26, pour la taille de l'header.

Plus exactement offset 0x20, sur un Entier de 8 bytes (Int64).

- Le nombre de sections en 0x1F (?)

Idem, Mais offset 0x18 ;)

- Positions des sections données à partir de 1F + 0x20..., la taille suit ensuite et avant on trouve les Atributes en 0x36 + 0x20...

Alors là j'ai pas trop compris ce que tu raconte ^^'! L'offset des sections est à 0x30, La structure d'une section à une taillle de 0x20:

0x00 -> Attribut.
0x08 -> Offset ou se trouve la section.
0x10 -> Taille de la section.
0x18 -> Padding de zero.

Les 3 valeurs étant sur 8 bytes comme dans le header. Ensuite, Il y a les hash mais comme nous n'avons pas la clé HMAC de la PS3 :/!

- Unknow en 0x16 mais je ne sais ce que c'est...

Offset 0x10, Ba moi non plus c'est pour ca que je l'ai nommé Unknown, mais ce que je sais c'est qu'il est différent dans chaque firmware!

Cobaltduff

Non, pour recréer le HMAC SHA1 il nous faut la clé HMAC de Sony (Qui doit surement être dans la PS3).

ouasse

T'inquiète pas ;) le format PUP je le connais de fond en comble, à part 1 inconnu! Pour les explications faut regarde plus haut ce que j'ai dit à Zouzzz :)

Modifié par Ac_K, 20 October 2009 - 13:35 PM.

Sony PSP - Sony PS2 - Sony PSTwo
Nintendo DS - Nintento Wii
Microsoft Xbox - Microsoft Xbox360


#15
ouasse

ouasse

    Master Gueux

  • Membres
  • PipPipPipPipPip
  • 1849 messages
  • Location:Paris
merci pour ces infos ;)
42

#16
Ac_K

Ac_K

    Membre

  • Membres
  • PipPip
  • 222 messages
En ce qui concerne le hash HMAC SHA1... Si tu essaye de faire un SHA1 de la section tu vera que tu n'obtiendra pas le même hash... Et dans le SDK PS3 il y a un sample qui explique comment utilisé le SHA1 avec HMAC... le Seul Hash crypter par une clé qu'il y a dans le SDK d'ailleur ;)

Enfin voila si jamais vous avez des idées ou que vous savez ce qu'est l'inconnu moi je suis tout ouïe!

Sony PSP - Sony PS2 - Sony PSTwo
Nintendo DS - Nintento Wii
Microsoft Xbox - Microsoft Xbox360


#17
zouzzz

zouzzz

    Vieille Branche

  • Membres - Auteur Gx-Tutos
  • PipPipPipPipPipPipPipPip
  • 17314 messages
  • Gender:Not Telling
Merci à vous deux pour ces explications très claires.


- Dev - Hacks - Homebrews - Games - Demos -


#18
Cobaltduff

Cobaltduff

    Débutant

  • Membres
  • Pip
  • 4 messages
Avec les FW plus ancien il y avai un utilitaire de (demonhades) avec le quel on pouvai reconstruire le pup, pourai tu faire la meme chose avec ton utilitaire?
je sai qu'on paire la clef de sony, mai je voudrai faire de preve come je fesai avan. merci

Modifié par Cobaltduff, 20 October 2009 - 13:58 PM.


#19
Ac_K

Ac_K

    Membre

  • Membres
  • PipPip
  • 222 messages
l'outil de "demonhades" ne modifie pas les hash... Par contre il me vient une idée mais je sais pas si quelqu'un voudra tester cette installation xD!
En gros, il y a les firmwares debug et les firmwares normaux, les 2 ont des hash HMAC valide... Si on prend un firmware normaux, et qu'on lui greffe des parti d'un firmware debug... Es ce que ce "firmware" modifier s'installera-t-il dans la PS3 Retail ? Faut essayé je pense que c'est pas trop compliqué après il faut que l'installation passe et si elle passe faut voir si elle ne brique pas la PS3... Des amateurs ? ^^

Sony PSP - Sony PS2 - Sony PSTwo
Nintendo DS - Nintento Wii
Microsoft Xbox - Microsoft Xbox360


#20
Cobaltduff

Cobaltduff

    Débutant

  • Membres
  • Pip
  • 4 messages

l'outil de "demonhades" ne modifie pas les hash... Par contre il me vient une idée mais je sais pas si quelqu'un voudra tester cette installation xD!
En gros, il y a les firmwares debug et les firmwares normaux, les 2 ont des hash HMAC valide... Si on prend un firmware normaux, et qu'on lui greffe des parti d'un firmware debug... Es ce que ce "firmware" modifier s'installera-t-il dans la PS3 Retail ? Faut essayé je pense que c'est pas trop compliqué après il faut que l'installation passe et si elle passe faut voir si elle ne brique pas la PS3... Des amateurs ? ^^


Si tu reusi a que le melange de les 2 FW done le meme hash HMAC , le probleme e qu'il fau que la ps3 lese changer le core-os e les complemen du VSH du debug, si on instale le fw an mode recovery je panse que la ps3 saute quelque verificacion.