Connexion

Correction erreur 8001003C pour Eboot.bin npdrm : Hack de la PS3 - PS3-Infos

Correction erreur 8001003C pour Eboot.bin npdrm   

Discutez du jailbreak / hack de la PS3

Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar opoisso893 » Dim 5 Aoû 2012 22:43

Bonjour,

Vous êtes nombreux à tester de décrypter les fichiers EBOOT.BIN en version 3.60 depuis la sortie des nouvelles clés.
Pour les modifications de jeux vous pouvez utiliser l'outil du développeur Deank : Ebootfix.exe

Mais pour modifier les EBOOT.BIN d'une mise à jour de jeu vous ne pouvez plus utiliser Ebootfix.exe. Il est donc nécessaire d'utiliser un outil comme scetool.

Or sur plusieurs forums je ne suis pas le seul a rencontrer une erreur 8001003C au lancement de mes jeux.

Voici une solution pour corriger facilement ce problème. Pour information je l'ai testée sur la mise à jour 1.03 de Ratchet et Clank All For One (car cette dernière ne contient pas de fichiers self ni sprx)

1- Extraire le fichier EBOOT.BIN du pkg de mise à jour avec PKGView 1.3
2- Decrypter le fichier EBOOT.BIN avec l'outil "scetool v0.2.8" : scetool -d EBOOT.BIN EBOOT.ELF
3- Renommer EBOOT.BIN en EBOOT_ORIGINAL.BIN : ren eboot.bin eboot_original.bin
4- Editer le fichier EBOOT.ELF en hexadecimal (j'utilise l'éditeur Hex Editor Neo) : chercher la chîne de caractères 24 13 BC C5 F6 et juste après vous trouverez 00 33 00 00 00 36. Remplacer 36 par 34 et sauvegarder le fichier EBOOT.ELF
5- Encrypt the EBOOT.ELF avec scetool v0.2.8 :
scetool.exe --sce-type=SELF --compress-data=FALSE --skip-sections=FALSE --key-revision=000A --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-type=NPDRM --self-fw-version=0003005500000000 --np-license-type=FREE --np-content-id=xxxxxxxxx --np-app-type=EXEC --np-real-fname=EBOOT.BIN --encrypt EBOOT.ELF EBOOT.BIN

Remplacer xxxxxx par le "Content ID" contenu dans le fichier EBOOT_ORIGINAL.BIN (pour l'obtenir lancer la commande scetool -i eboot_original.bin).

Petite précision : ma ligne d'encryption donne un fichier EBOOT.BIN en FW 3.55. Pour un FW3.40 remplacer --key-revision=000A par --key-revision=0004 et self-fw-version=0003005500000000 par self-fw-version=000300400000000

J'espère que cela pourra vous aider.
Je rappelle que cela a fonctionné pour moi sur la mise à jour Ratchet et Clank All For One.
opoisso893
Apprenti parleur
 
Messages: 137
Inscription: Mar 5 Oct 2010 08:14

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar Attila » Lun 6 Aoû 2012 09:13

merci pour l'info.
tu sais pourquoi faire ça ? :
4- Editer le fichier EBOOT.ELF en hexadecimal (j'utilise l'éditeur Hex Editor Neo) : chercher la chîne de caractères 24 13 BC C5 F6 et juste après vous trouverez 00 33 00 00 00 36. Remplacer 36 par 34 et sauvegarder le fichier EBOOT.ELF
Avatar de l’utilisateur
Attila
Administrateur du site
 
Messages: 7572
Inscription: Ven 3 Sep 2010 11:53

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar opoisso893 » Lun 6 Aoû 2012 11:17

@Attila
C'est pour modifier la valeur sys_proc_param comme le fait l'exécutable ebootmod.exe de Deank.
On remplace 36 par 35 pour indiquer le SDK version 3.50 ou 36 par 34 pour le jailbreak inférieur à 3.41.

Cette modification peut-être faite en ligne de commande afin de créer son propre batch réalisant l'ensemble des étapes :
binmay.exe -i EBOOT.ELF -o EBOOT.ELF.TMP -s "h:24 13 BC C5 F6 00 33 00 00 00 36" -r "h:24 13 BC C5 F6 00 33 00 00 00 34"

Merci à Andreus pour cette ligne de commande. Il faut récupérer l'utilitaire binway.exe à cette adresse :
http://www.softpedia.com/progDownload/Binmay-Download-190733.html
opoisso893
Apprenti parleur
 
Messages: 137
Inscription: Mar 5 Oct 2010 08:14

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar Attila » Lun 6 Aoû 2012 13:07

ça ne serait pas plus propre d'utiliser un outil pour trouver la section ?

sinon pour les fichiers self/psrx et autre tu aurais la technique aussi ?

comme ça on pourrait faire un tuto complet pour la conversion des jeux
Avatar de l’utilisateur
Attila
Administrateur du site
 
Messages: 7572
Inscription: Ven 3 Sep 2010 11:53

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar opoisso893 » Lun 6 Aoû 2012 15:09

Pour trouver la section et faire la modification j'utilise l'utilitaire binmay dans mon script de conversion des eboot. Ceci permet de tout automatiser.
Voici le contenu de mon script "eboot355.bat" situé dans le répertoire scetool :
@Echo off
if exist workdir rd /s /q workdir >nul
if exist output rd /s /q output >nul
md workdir
md output
echo grabbing the content ID...
FOR /F "tokens=1,2 delims= " %%A IN ('scetool.exe -i EBOOT.BIN') DO (if [%%A]==[ContentID] set CID=%%B)
rem echo ContentID for NPDRM-Self is: %CID%
echo.
echo Decoding EBOOT.BIN...
scetool.exe --decrypt EBOOT.BIN .\workdir\DECRYPTED.ELF >nul
copy EBOOT.BIN .\workdir\SOURCE_EBOOT_%CID%.BIN >nul
echo.
echo Modification hexa de DECRYPTED.ELF
binmay.exe -i .\workdir\DECRYPTED.ELF -o .\workdir\EBOOT.ELF -s "h:24 13 BC C5 F6 00 33 00 00 00 36" -r "h:24 13 BC C5 F6 00 33 00 00 00 35"
echo.
echo Encryption du fichier EBOOT.BIN en 3.55
scetool.exe --sce-type=SELF --compress-data=FALSE --skip-sections=FALSE --key-revision=000A --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-type=NPDRM --self-fw-version=0003005500000000 --np-license-type=FREE --np-content-id=%CID% --np-app-type=EXEC --np-real-fname=EBOOT.BIN --encrypt .\workdir\EBOOT.ELF .\output\EBOOT.BIN
echo.
echo ContentID for NPDRM-Self is: %CID%
echo EBOOT.BIN version 3.55 dans le rep .\output
pause

Pour info il faut copier initialement le EBOOT.BIN dans le rep scetool contenant lui même le script et l'utilitaire binmay.

Concernant les fichiers sprx/self je recherche toujours une solution. Je n'arrive toujours pas à lire les headers avec scetool et les différentes versions de unself.exe.
opoisso893
Apprenti parleur
 
Messages: 137
Inscription: Mar 5 Oct 2010 08:14

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar Attila » Lun 6 Aoû 2012 15:27

t'as essayé ps3tols npdrm edition ? :
applications-pc-mac-f49/ps3tools-npdrm-v3-outils-pour-signer-crypter-decrypter-les-elf-self-pup-pkg-t1147.html

sinon j'ai bien compris que l'outil permet d'automatiser, mais qui te dis que cette chaine sera toujours la même ? Et si le jeu demande un firmware différent et que c'est pas 37 mais 36, ton code ne marche pas.
Donc il serait préférable de faire un export des infos de l'entête pour savoir l'offset de ce sys_proc_param pour mieux le modifier
Avatar de l’utilisateur
Attila
Administrateur du site
 
Messages: 7572
Inscription: Ven 3 Sep 2010 11:53

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar opoisso893 » Lun 6 Aoû 2012 15:45

J'ai essayé les différentes versions de ps3tools npdrm sans succès.

Pour la valeur a modifié mon script ne fonctionne effectivement que pour les EBOOT.BIN npdrm en version 3.60. Dans cette version uniquement la chaîne de caractère reste toujours la même.
opoisso893
Apprenti parleur
 
Messages: 137
Inscription: Mar 5 Oct 2010 08:14

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar opoisso893 » Mar 7 Aoû 2012 23:47

L'utilisateur Asure vient de trouver une solution pour décrypter les self/sprx des mises à jour de jeu en 3.60 :

1- décrypter l'EBOOT.BIN de la mise à jour avec scetool pour obtenir un fichier EBOOT.ELF
2 - utiliser un script "bruteforce" pour trouver la Klicencee dans le fichier EBOOT.ELF

Voici une version du script :
@Echo
off
SET OFFSET=0
:START
FOR /F "tokens=*" %%i in ('"od -j%OFFSET% -N16 -w16 -t x1 eboot.elf | cut -c 8- |sed 's/ //g'"') do SET KEY=%%i
if %KEY% == 00000000000000000000000000000000 (
echo Skipped 10 bytes of blank/useless key at %OFFSET%
set /a OFFSET+=10
) else (
ECHO Trying Key: %KEY% from decimal offset: %OFFSET%
scetool.exe -l %KEY% -d default.self selfout.elf >nul
set /a OFFSET+=1
)
IF EXIST selfout.elf GOTO END
goto START
:end
echo Done! Key used was: %KEY%

Et voici ce que dit Asure concernant le fonctionnement :
You need to put this into a folder with scetool, data / keys etc. working.
Then drop an eboot.bin and decrypt it with scetool into eboot.elf
The drop an encrypted self, or sprx and modify the bat file a little perhaps.

The needed linux tools like od.exe, sed.exe, can all be found in this package: http://www.sendspace.com/file/g9syfd
If you want to test with say, portal 2 sprx files, you can try starting at offset 608600. MW3 around offset 54272..

The batch file is not perfect. On large files, the CUT command starts to malfunction as i don't take this into account with the sed/cut combo.
opoisso893
Apprenti parleur
 
Messages: 137
Inscription: Mar 5 Oct 2010 08:14

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar opoisso893 » Mar 7 Aoû 2012 23:58

Nouvelle version du script de Asure pour trouver la klicencee en commençant par la fin du fichier ELF :


@Echo
off
for %%S in (eboot.elf) do SET /a LAST_OFFSET=%%~zS-16
for %%S in (eboot.elf) do SET /a MAX_OFFSET=%%~zS-16
:START
set CUT=8
if %LAST_OFFSET% gtr 1000000 (
set /a CUT+=1
)
rem echo Cut val: %CUT%
FOR /F "tokens=*" %%i in ('"od -j%LAST_OFFSET% -N16 -w16 -t x1 eboot.elf | cut -c %CUT%- |sed 's/ //g'"') do SET KEY=%%i
if %KEY% == 00000000000000000000000000000000 (
echo Skipped 10 bytes of blank/useless key at %LAST_OFFSET%
set /a LAST_OFFSET-=10
) else (
ECHO Trying Key: %KEY% from decimal offset: %LAST_OFFSET% / %MAX_OFFSET%
scetool.exe -l %KEY% -d patch.self selfout.elf -l %KEY% >nul
set /a LAST_OFFSET-=1
)
IF EXIST selfout.elf GOTO END
goto START
:end
echo Done! Key used was: %KEY%
opoisso893
Apprenti parleur
 
Messages: 137
Inscription: Mar 5 Oct 2010 08:14

Re: Correction erreur 8001003C pour Eboot.bin npdrm

Messagepar Attila » Mer 8 Aoû 2012 07:43

ouais j'ai vu quand il a commencé à chercher.
Faudrait adapter le truc pour pour faire plusieurs self/sprx trouvés automatiquement avec la même clé
Avatar de l’utilisateur
Attila
Administrateur du site
 
Messages: 7572
Inscription: Ven 3 Sep 2010 11:53

Suivante

Retourner vers Hack de la PS3

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 11 invités