Como se modifican los eboot.bin?

Hola.
Jositomi me has confirmado mis sospechas. Al comparar el eboot.bin original desencriptado del GT5 con el eboot.bin para 3.41 tambien desencriptado la unica diferencia que yo encontré era el 34 por el 35, me quedaba confirmar con algun otro juego pero no he encontrado ningun otro que cambie ese byte. Tambien sin conocer toda la cadena a buscar pues era bastante dificil de que pudiera comprobarlo.
He estado mirando otros juegos buscando la cadena que has escrito y en muchos ese byte es 34 o incluso 33.

Espero poder probar con el GT5, desinstalaré todo el contenido del juego, borraré las partidas guardadas (no tienen nada [sonrisa] ) y probaré a cambiar el eboot.bin por el que haga yo mismo. ¿Has pensado que a lo mejor a tí te envia al XMB por algún problema con los permisos?.

cltomas lo que dice KaKaRoTo tiene sentido, al final nosotros solo "creamos" un eboot.bin sin firmar y con todas las partes desencriptadas, el problema es que usando lo creadores de self que hay pues algunos no hay dios que los haga funcionar, otros crean .self que luego en la consola no funcionan y otros como el de GeoHotz pues crea un self encriptado y comprimido.

Una de mis ideas es recabar todos los metodos para firmar un .elf y probarlos, de esa manera solo tendriamos que desencriptar el eboot.bin original, buscar la cadena del sdk y si tiene cambiar el valor, volver a firmar con la aplicacion que funcione. Y eso seria todo.

Por aclarar un eboot.bin es un .self renombrado a .bin, tener en cuenta que si el juego usa opciones especificas del SDK 3.50 > seguramente no funcionaria en nuestras consolas 3.41.
jmenaya escribió:Hola.
Jositomi me has confirmado mis sospechas. Al comparar el eboot.bin original desencriptado del GT5 con el eboot.bin para 3.41 tambien desencriptado la unica diferencia que yo encontré era el 34 por el 35, me quedaba confirmar con algun otro juego pero no he encontrado ningun otro que cambie ese byte. Tambien sin conocer toda la cadena a buscar pues era bastante dificil de que pudiera comprobarlo.
He estado mirando otros juegos buscando la cadena que has escrito y en muchos ese byte es 34 o incluso 33.

Espero poder probar con el GT5, desinstalaré todo el contenido del juego, borraré las partidas guardadas (no tienen nada [sonrisa] ) y probaré a cambiar el eboot.bin por el que haga yo mismo. ¿Has pensado que a lo mejor a tí te envia al XMB por algún problema con los permisos?.

cltomas lo que dice KaKaRoTo tiene sentido, al final nosotros solo "creamos" un eboot.bin sin firmar y con todas las partes desencriptadas, el problema es que usando lo creadores de self que hay pues algunos no hay dios que los haga funcionar, otros crean .self que luego en la consola no funcionan y otros como el de GeoHotz pues crea un self encriptado y comprimido.

Una de mis ideas es recabar todos los metodos para firmar un .elf y probarlos, de esa manera solo tendriamos que desencriptar el eboot.bin original, buscar la cadena del sdk y si tiene cambiar el valor, volver a firmar con la aplicacion que funcione. Y eso seria todo.

Por aclarar un eboot.bin es un .self renombrado a .bin, tener en cuenta que si el juego usa opciones especificas del SDK 3.50 > seguramente no funcionaria en nuestras consolas 3.41.


Hola de nuevo jmenaya,hoy he probado modificando el eboot de fight nights y todo perfecto,cambiando por supuesto la version de sdk.
Es curioso que en algunos eboot la cabecera en vez de ser 00 07 00 01 es 00 0A 00 01 pero cambiando igualmente por 80 00 00 01 funciona.
Respecto al tema de firmar,estoy seguro que en psx-scene estan utilizando alguna aplicacion para ahorrarse todos estos pasos intermedios,
pero no sueltan prenda.
Yo he probado firmando el elf con makeself app 341 eboot.self eboot.bin,y si bien lo firma correctamente ,cambian todas las cabeceras y tamaños y salta error al probarlo.
Seguro que alguna de las aplicaciones que hay por la red como tu bien dices lo debe de hacer de modo mas o menos correcto,y digo mas o menos por lo del tema de empezar en el 900...
Seguiremos probando...pero este metodo de momento funciona.
No creo que me costara mucho hacer un programa en java para hacerlo automaticamente,aunque antes quiero hacer mas pruebas.
Un saludo
jositomi escribió:Es curioso que en algunos eboot la cabecera en vez de ser 00 07 00 01 es 00 0A 00 01

En esos Eboot me puedes decir cuales offset tienes..siguiendo un tutorial de una web, cuando cambian el valor 01 por 02 en ciertos offset, pero los que yo obtengo son distintos, así que no sé donde cambiarlos.. pero tengo esa cabecera que tu dices " 00 0A 00 01"..
Sólo deciros que no entiendo algunas cosas de las que hablais, pero lo que si entiendo es que os lo estáis trabajando y currando.

Y la verdad es que hacerse las cosas uno mismo da mucha satisfacción.

Animo y haber sí dais con un buen método para crear los eboot.bin para 3.41
No consigo editar el eboot por el metodo de veritas, siempre me manda al XMB pero no tira error
Buenas.
He editado el eboot del GT5 con el metodo de Veritas y me ha funcionado XD .

Tal y como comentabamos en este mismo post, en el GT5 y NFS HotPursuit habia una serie de bytes que no sabiamos de donde habian salido.
He probado los dos eboot y me funcionan los dos sin esos "bytes fantasmas".

Otra cuestión, mirando los sources de los programas he encontrado lo siguiente
struct id2name_tbl t_sdk_type[] =
{
   {0, "Retail (Type 0)"},
   {1, "Retail"},
   {2, "Retail (Type 1)"},
   {3, "Unknown SDK3"},
   {4, "UNKNOWN >=3.42"},
   {5, "Unknown SDK5"},
   {6, "Unknown SDK6"},
   {7, "UNKNOWN >=3.50"},
   {8, "Unknown SDK8"},
   {9, "Unknown SDK9"},
   {0x8000, "Devkit"},
   {0, NULL}
};


Según esta tabla sacada del readself2.c de ps3free-ps3tools, nosotros cambiamos dos bytes para convertir el fichero en tipo Fsel (0x8000 Devkit).
El valor que habia anteriormente suele ser 0x0007 >=3.50, coincide con varios juegos como GT5, NFS, etc. En el F1 2010 por ejemplo el valor es de 0x0004 >= 3.42. el valor 0x000A si seguimos la logica indica que se necesita version mayor o igual a 3.55. Este valor seguramente no lo encontraremos en juegos antiguos.

spanispower prueba con otro lote de herramientas, hay varias por el foro y tambien con el fixpermission que se usaba para hacer andar el GT5.

EDITO:
Tener cuidado donde realizais las pruebas. Yo soy muy dado ha poner todo ordenadito en directorios y ahora probando ha realizar el eboot.bin del Killzone 3 me he dado cuenta de que puede afectar al resultado, lo mejor es que copieis el eboot a la misma carpeta donde estan las herrramientas.
Gracias jmenaya, mi problema era el unself.exe erroneo o distinto que cambie por el que menciono RastaMan. con este segui el proceso y funcionó correctamente
jmenaya escribió:Buenas.
He editado el eboot del GT5 con el metodo de Veritas y me ha funcionado XD .

Tal y como comentabamos en este mismo post, en el GT5 y NFS HotPursuit habia una serie de bytes que no sabiamos de donde habian salido.
He probado los dos eboot y me funcionan los dos sin esos "bytes fantasmas".

Otra cuestión, mirando los sources de los programas he encontrado lo siguiente
struct id2name_tbl t_sdk_type[] =
{
   {0, "Retail (Type 0)"},
   {1, "Retail"},
   {2, "Retail (Type 1)"},
   {3, "Unknown SDK3"},
   {4, "UNKNOWN >=3.42"},
   {5, "Unknown SDK5"},
   {6, "Unknown SDK6"},
   {7, "UNKNOWN >=3.50"},
   {8, "Unknown SDK8"},
   {9, "Unknown SDK9"},
   {0x8000, "Devkit"},
   {0, NULL}
};


Según esta tabla sacada del readself2.c de ps3free-ps3tools, nosotros cambiamos dos bytes para convertir el fichero en tipo Fsel (0x8000 Devkit).
El valor que habia anteriormente suele ser 0x0007 >=3.50, coincide con varios juegos como GT5, NFS, etc. En el F1 2010 por ejemplo el valor es de 0x0004 >= 3.42. el valor 0x000A si seguimos la logica indica que se necesita version mayor o igual a 3.55. Este valor seguramente no lo encontraremos en juegos antiguos.

spanispower prueba con otro lote de herramientas, hay varias por el foro y tambien con el fixpermission que se usaba para hacer andar el GT5.

EDITO:
Tener cuidado donde realizais las pruebas. Yo soy muy dado ha poner todo ordenadito en directorios y ahora probando ha realizar el eboot.bin del Killzone 3 me he dado cuenta de que puede afectar al resultado, lo mejor es que copieis el eboot a la misma carpeta donde estan las herrramientas.

Hola ,en los ultimos juegos como mencione anteriormente ,la cadena es 00 0A 00 01 cambiarla sin problema a 80 00 00 01 que funciona.
Cltomas para encontrar correctamente los valores de las cabeceras (para indicarle que estan desencriptadas) si os fijais es el valor de la cabecera seguido de 00 00 00 01 y el size de esa cabecera ,despues basta con cambiar el segundo 1 que nos encontramos a continuacion.
Ejemplo :
980---->1692BE8(size)
la cadena se corresponderia con:
00 09 80 00 00 00 00 01 69 2B E8 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01(x02)

Los bytes extras son por que estan utilizando una aplicacion,
que lo hace automaticamente....seguro.


Un saludo
jositomi escribió:
Los bytes extras son por que estan utilizando una aplicacion,
que lo hace automaticamente....seguro.


Un saludo

No creo que me costara mucho hacer un programa en java para hacerlo automaticamente,aunque antes quiero hacer mas pruebas.
Un saludo[/quote][/quote]

Por estos 2 comentarios tuyos, tu crees que hay o se podria hacer un programa o aplicacion que generara los eboot.bin de forma que casi cualquiera pudiera hacerlo, todo esto desde mi total ignorancia del tema.
chosetes escribió:
jositomi escribió:
Los bytes extras son por que estan utilizando una aplicacion,
que lo hace automaticamente....seguro.


Un saludo

No creo que me costara mucho hacer un programa en java para hacerlo automaticamente,aunque antes quiero hacer mas pruebas.
Un saludo
[/quote]

Por estos 2 comentarios tuyos, tu crees que hay o se podria hacer un programa o aplicacion que generara los eboot.bin de forma que casi cualquiera pudiera hacerlo, todo esto desde mi total ignorancia del tema.[/quote]

Se puede hacer,yo ya he intentado algo ,para que vaya leyendo del elf en los offset que les ponemos y escriba en el bin ,no obstante byte por byte va muy lento...
Seguro que ya hay quien tenga un makeself modificado o algo asi...
No obstante el modo de Veritas es valido y rapido, lo he probado como jmenaya ya en varios juegos.
Un saludo
chosetes escribió:Un saludo
No creo que me costara mucho hacer un programa en java para hacerlo automaticamente,aunque antes quiero hacer mas pruebas.
Un saludo


Y no podría se en C [angelito] , no me hagas instalar el puñetas de java... [+risas] [+risas]
¿Alguien ha probado a parchear un eboot con los sectores comprimidos?
Yo solo he encontrado eboot's comprimidos cuando los creas con la herramienta de Geohotz, creo, pero esos eboot tampoco los puedes descifrar porque son nprdm o algo así y todavia no se pueden descifrar. Si sabes algun otro ejemplo podria probar.

Bueno solo comentaros que he probado ha hacer funcionar un juego que pide 3.56 y me ha funcionado correctamente haciendo el metodo de Veritas.
Para este juego encontré el eboot hecho por Belmondo pero no lo he usado. He usado el mio y funciona bien.

Ahora estoy convencido que hay gente que tiene un metodo o herramientas que le hacen el trabajo.
jmenaya escribió:Yo solo he encontrado eboot's comprimidos cuando los creas con la herramienta de Geohotz, creo, pero esos eboot tampoco los puedes descifrar porque son nprdm o algo así y todavia no se pueden descifrar. Si sabes algun otro ejemplo podria probar.

Bueno solo comentaros que he probado ha hacer funcionar un juego que pide 3.56 y me ha funcionado correctamente haciendo el metodo de Veritas.
Para este juego encontré el eboot hecho por Belmondo pero no lo he usado. He usado el mio y funciona bien.

Ahora estoy convencido que hay gente que tiene un metodo o herramientas que le hacen el trabajo.

He encontrado dos: "assassins creed la hermandad" y "splatterhouse". al descifrarlos los sectores en el elf aumentan de tamaño y al sustituirlos en el bin te crea muchos problemas
EDITO: jmenaya ¿los juegos 3.56 utilizan las mismas keys o se necesitan las de 3.56 de kakaroto?
Yo he tenido que usar las de kakaroto.
jmenaya escribió:Yo he tenido que usar las de kakaroto.

Gracias tio. Yo las hice con un editor hexadecimal lo que no se es si funcionan
Muy buena info (aunque admito que mucho de lo que exponen es chino basico para mi).
Lo que no entiendo muy bien, en base a mis escasos conocimientos, es porque actualmente se siguen obteniendo los eboots modificados para juegos que en teoría vendrian firmados con las nueva claves (supongo que son las mismas las del OF 3.56) por ejemplo Killzone 3 o Dragon Age II por citar algunos que han salido hace poco.

Esto significa que esos juegos todavía se firman con las claves de los OF < 3.56 ?

gracias de antemano.
mafooba escribió:Muy buena info (aunque admito que mucho de lo que exponen es chino basico para mi).
Lo que no entiendo muy bien, en base a mis escasos conocimientos, es porque actualmente se siguen obteniendo los eboots modificados para juegos que en teoría vendrian firmados con las nueva claves (supongo que son las mismas las del OF 3.56) por ejemplo Killzone 3 o Dragon Age II por citar algunos que han salido hace poco.

Esto significa que esos juegos todavía se firman con las claves de los OF < 3.56 ?

gracias de antemano.


Buenas, voy a intentar aclararte un poco el tema.
Los nuevos juegos, como DA II u otros vienen firmados con las claves del OF 3.56. Para poder desencriptarlos necesitamos las claves de dicho firmware.
El metodo que hemos comentado en este hilo no firma los eboot, los modifica. Lo importante es tener las claves para desencriptar el eboot.
Una vez desencriptado el eboot se copian las partes ya desencriptadas y se pegan en el eboot original, luego se modifica la cabecera para hacerle creer a la ps3 que el eboot no esta firmado, por ultimo se le indica en el eboot que se ha utilizado un sdk inferior.
Tenemos la convicción de que algunos creadores de eboot's, como Belmondo, tienen algun metodo que parece firmar el eboot pero no sueltan prenda de como.
Espero haberte aclarado las dudas.
jmenaya escribió:
mafooba escribió:Muy buena info (aunque admito que mucho de lo que exponen es chino basico para mi).
Lo que no entiendo muy bien, en base a mis escasos conocimientos, es porque actualmente se siguen obteniendo los eboots modificados para juegos que en teoría vendrian firmados con las nueva claves (supongo que son las mismas las del OF 3.56) por ejemplo Killzone 3 o Dragon Age II por citar algunos que han salido hace poco.

Esto significa que esos juegos todavía se firman con las claves de los OF < 3.56 ?

gracias de antemano.


Buenas, voy a intentar aclararte un poco el tema.
Los nuevos juegos, como DA II u otros vienen firmados con las claves del OF 3.56. Para poder desencriptarlos necesitamos las claves de dicho firmware.
El metodo que hemos comentado en este hilo no firma los eboot, los modifica. Lo importante es tener las claves para desencriptar el eboot.
Una vez desencriptado el eboot se copian las partes ya desencriptadas y se pegan en el eboot original, luego se modifica la cabecera para hacerle creer a la ps3 que el eboot no esta firmado, por ultimo se le indica en el eboot que se ha utilizado un sdk inferior.
Tenemos la convicción de que algunos creadores de eboot's, como Belmondo, tienen algun metodo que parece firmar el eboot pero no sueltan prenda de como.
Espero haberte aclarado las dudas.


Gracias por la aclaración, digamos que no se firman los eboots (como si se lo haria para un hipotetico CFW 3.56).
Lo que no me queda claro es lo que te remarco: o sea las claves paa desencriptar son conocidas; no así las claves para firmar... perdon si tiro cualquiera.

gracias nuevamente.
slds.-
jmenaya podrias pasarme las keys de la 3.56 por privado? ya que no las encuentro por ningun lado el git de kakaroto esta caido al menos las keys no estan ya...
dark_on_5 está baneado por "saltarse baneo temporal con clon"
cltomas escribió:
chosetes escribió:Un saludo
No creo que me costara mucho hacer un programa en java para hacerlo automaticamente,aunque antes quiero hacer mas pruebas.
Un saludo


Y no podría se en C [angelito] , no me hagas instalar el puñetas de java... [+risas] [+risas]

Jajajaja, por las noches, Java entra en tu casa con su VM... [buuuaaaa]

Bah, si se pone en un momento, yo lo puse y (tras 2 dias de errores...) a disfrutar!

Ahora uso: Minod Login y JDonwloader casi a diario.
Yo me resisto a instalar el puñetas de java, vaya porquería esa, instalar una maquina de java para que corran las aplicaciones (opinión muy personal) XD ...sí me diran que el código lo puedes usar en cualquier pc, independiente de su arquitectura y bla bla bla....
Yo para descargas suo Tucan Manager (esta en beta), no soporta muchos sitios, pero rula bien... :cool:
Jmenaya, ¿para los juegos 3.56 has tenido que instalar el pkg, o eso solo es para la 3.55?
spanispower escribió:Jmenaya, ¿para los juegos 3.56 has tenido que instalar el pkg, o eso solo es para la 3.55?


Buenas.
No se que pkg me dices. Para los juegos 3.56 he tenido que buscar las claves de kakaroto que incluyen esta versión, en las que tenia no estaban.
Luego solo he realizado los mismos pasos que en los demás juegos.
Si te refieres para hechar andar el DAII, no he instalado el pkg solo he modificado los dos archivos ejecutables que tiene (eboot.bin y eclipse.self).

Un offtopic, ¿sabeis si han salido las claves del firm 3.60 como salieron las del 3.56?, porque si no salen las claves para desencriptar los eboot de los juegos 3.60 ya no se podran modificar los eboot.
spanispower escribió:Jmenaya, ¿para los juegos 3.56 has tenido que instalar el pkg, o eso solo es para la 3.55?

Basta con modificar el eboot con lo que sabemos hasta ahora,desencriptando con las keys de 3.56...
Los sprx imagino seran igual...
Jmenaya no han salido las claves...de momento
las keys las sacan fijo (kakaroto en un rato saco 1) otra cosa es que las publiquen
Bueno pues los archivos sprx van igual que los eboot.basta con desencriptarlos cambiar cabeceras como no encriptadas y marchando.
Pero me falta una cosa para hacer alguna aplicacion interesante,es el tema de los eboots que tienen las cabeceras comprimidas...
Como el top spin 4 ,alguien sabe algo al respecto?,
Me imagino que se podrian encontrar los datos correctos de inicio de cabeceras en el elf desencriptado ya que aparecen referencias a ellas ,y abra que marcarlas
tambien como no comprimidas...
Alguien me echa una mano?


Edito: Ya lo he sacado,motorstorm y top spin funcionando con mi eboot y sprx modificados.
Un saludo
jositomi escribió:Bueno pues los archivos sprx van igual que los eboot.basta con desencriptarlos cambiar cabeceras como no encriptadas y marchando.
Pero me falta una cosa para hacer alguna aplicacion interesante,es el tema de los eboots que tienen las cabeceras comprimidas...
Como el top spin 4 ,alguien sabe algo al respecto?,
Me imagino que se podrian encontrar los datos correctos de inicio de cabeceras en el elf desencriptado ya que aparecen referencias a ellas ,y abra que marcarlas
tambien como no comprimidas...
Alguien me echa una mano?


Edito: Ya lo he sacado,motorstorm y top spin funcionando con mi eboot y sprx modificados.
Un saludo

yo lo intente con el eboot del assassins creed, pero al no tener el juego no se si funciona. Lo que yo hice fue cambiar las secciones, como cambian de tamaño me dedique a cambiar las nuevas posiciones e indicar que no estan comprimidas y despues lo de siempre, pero al usar el readself la parte final que pone algo asi como "progbits" me salian valores rarisimos asi que o me equivoque o no es asi como hay que hacerlo. ¿serias tan amable de aportar unas ayuditas?
EDITO:He probado con un juego con el eboot comprimido y ha funcionado haciendolo como imaginaba, aun asi me gustaria saber como lo hiciste tu
EDITO2:¿Sabeis si esta forma de modificar los eboot funcionan en 3.55? es decir, si un juego pide 3.56 con esta forma poder hacerlo compatible en 3.55
EDITO4:Deank ha sacado un programilla que parece que lo hace ya todo solo, solo es arrastrar y soltar
A ver si me aclarais dudas. Sin la key 3.60 no podremos desencriptar EBOOT.bin que estén hechos con el sdk3.60 (por ejemplo La Noire). ¿Pero entonces como es que funcionan EBOOTs parchados para 3.55?
cuanto mas leo mas perdido estoy jaja, una duda tonta...es necesario hacer algun chanchullo, a nivel de parches, o eboot? con los juegos si tienes una key usb para cargar backups y no qiueres flasear? es que últimos backups me es imposible jugarlos de ninguna manera... tengo firm 3.41 + jailbreak, muchos ponen que estan pre-parcheados y luego no me tira ninguno...
DIE escribió:cuanto mas leo mas perdido estoy jaja, una duda tonta...es necesario hacer algun chanchullo, a nivel de parches, o eboot? con los juegos si tienes una key usb para cargar backups y no qiueres flasear? es que últimos backups me es imposible jugarlos de ninguna manera... tengo firm 3.41 + jailbreak, muchos ponen que estan pre-parcheados y luego no me tira ninguno...


cambia la fuente de tus backups
nanoscort escribió:
DIE escribió:cuanto mas leo mas perdido estoy jaja, una duda tonta...es necesario hacer algun chanchullo, a nivel de parches, o eboot? con los juegos si tienes una key usb para cargar backups y no qiueres flasear? es que últimos backups me es imposible jugarlos de ninguna manera... tengo firm 3.41 + jailbreak, muchos ponen que estan pre-parcheados y luego no me tira ninguno...


cambia la fuente de tus backups


te refieres a que las busque por otro sitio?
La verdad que no estoy muy puesto en el tema, ya que estoy empezando.

Habláis de herramientas automáticas / semiautomáticas o crear una para poder cambiar los Eboot. En estos mismos foros hay información de una que no se si os podra servir de punto de partida:
http://www.elotrolado.net/hilo_modifica-tus-eboots-ebootfix-ebootmod_1600101


Un saludo
82 respuestas
1, 2