Agradecer , no cuesta nada Antes de nada quiero decir que este post es meramete educativo y la informacion expuesta en el la he sacado de lo que he ido leyendo, deducciones, y experiencia personal, asi que es posible que algo no este del todo bien asi que si detectais algun error decirmelo para corregirlo.1. Introduccion:Antes de empezar quiero dejar claro un punto para los no iniciados en la informatica o con conomientos medio/bajos, las extensiones (.JPG, .DOC, .ZIP, . EXE. etc...) son meramente decorativas, es decir por mucho que cojas una imagen .JPG y le cambies la extension a .GIF no es un GIF.
Windows por desgracia es un Sistema (in)Operativo el cual desgraciadamente depende de estas decoraciones, es decir que si cojes un archivo llamado imagen.jpg y le cambias la extension a txt, windows se creera que es un archivo de texto cuando no lo es, obviamente cuando trates de abrirlo fallara ya que un editor de textos no abre imagenes
.
Linux asi como muchos S.O basados en UNIX / POSIX son mas listos y no dependen de las extensiones, es decir, si tu cojes el archivo imagen.jpg y lo renombras a imagen.txt, seguiran sabiendo que es una imagen y no un archivo de texto, y lo abriran con el visualizador de imagenes.
Con lo cual quiero llegar a la conclusion que yo puedo tener un Archivo " .BIN " y tu otro " .BIN " y no ser para nada internamente iguales ya que lo unico que tienen en comun es la extension.
¿Se entiende el ejemplo?.
2. ¿Que es un PKG? :Un PKG o package en ps3, no es mas que un fichero "paquete" es decir un contenedor de archivos, para que lo entendais mejor de manera simplificada seria como un "zip" o "rar" en pc.
La estructura del contenido de un PKG segun he podido deducir suele ser la siguiente:
Como minimo debe de haber un PARAM.SFO, PS3LOGO.DAT y 1 ICON (ICON0.PNG) ademas de una carpeta USRDIR donde debe de haber como minimo el fichero EBOOT.BIN.
Obiamente eso es lo minimo, se le pueden meter mas cosas al fichero PKG, por ejemplo todo archivo metido dentro de la carpeta USRDIR se introducira en el PKG (como datos de juego etc..)
Tb la carpeta "LICDIR" asi como "TROPDIR" si existen (no son necesarias para la estructura basica son opcionales).
Tb se pueden añadir varios ICON0 extra (ICON0_01.PNG, ICON_02.PNG ...), tb se le puede añadir un archivo PIC1.PNG asi como varios PIC1 extras (PIC1_01.PNG, PIC1_02.PNG).
Tb se le puede añadir un archivo de sonido (SND0.AT3) opcional asi como varios sonidos extra (SND0_01.AT3, SND0_02.AT3).
Nota: Los ICON0 son los iconos de cuando seleccionamos el juego en el XMB, los PIC1 la imagen de fondo que se pone y el SND0 el sonidito que suena al ponerno encima del icono del juego.
Por desgracia existen varios tipos de empaquetados PKG los cuales todos contienen la misma extructura y comparten la extension (PKG) pero internamente son distintos.
Inicialmente solo existian 2 tipos pero desde que el sr geohot decidio meter mano gracias al el (o por desgracia) existen 3.
PKG RETAIL: Son todos los PKG bien hechos/firmados, principalmente, todos los PKG de la propia Sony oficiales como Updates, demos etc...
Este tipo de PKG son los unicos que instalan las PS3 Retail "nativamente".
PKG DEBUG: Este tipo de PKG son los que usan las consolas DEBUG/REFTOOL, aparte de los PKG RETAIL.
Gracias al Jailbreak y demas clones es posible instalar PKG DEBUGS en consolas RETAIL desde la opcion "Install Packages", el motivo es que los dongles habilitan la posibilida de ejecutar codigo no firmado asi como instalar paquetes no firmados.
Esto ultimo quiero dejarlo claro porque por mucho que tengas la opcion "Install Packages" disponible en el menu mediante algun CFW, si vuestra consola no ejecuta codigo sin firmar tampoco podreis instalar PKG DEBUG (sin firmar).
PKG GEOHOT: Como ya he dicho inicialmente existina 2 tipos, Retail y Debug, hasta que el sr Geohot intento mediantes las keys publicadas, convertir los pkg debug en retail.
Obviamente no lo ha conseguido y lo que ha hecho es transforma los PKG DEBUG en una especie de PKG "raros" lo cuales denominaremos "GEOHOT" como su creador.
¿Por que son raros? muy simple porque no son PKG RETAIL, si fueran PKG RETAIL se podrian instalar en cualquier PS3 y no es asi, tampoco son DEBUG porque estos PKG no valen para consola DEBUG ni consolas con Jailbreak (o cualquier otro Dongle USB), son simplemente PKG que son reconocidos unica y exclusivamente por su CFW ¿Que coincidencia No?
Muy posiblemente lo haya hecho adrede aunque esto ya es especulacion pura y dura
3. ¿Puedo crear un PKG? y ¿Puedo Obtener el contenido de un PKG? :Empaquetar:Si puedes crear PKG debugs, y mediante la app de gehohot (package_finalize) puedes convertirlos (si quieres) a PKG de Gehohot.
De momento no se pueden crear PKG Retail.
Desempaquetar:Si puedes desempaquetar PKG Debugs mediante algunas apps (Viejas) que hay corriendo por eol (Agradeceria que alguien me dijiera el nombre de alguna y un link ;D).
Si puedes desempaquetar PKG Retail y de Geohot, hay varias app, yo uso la siguiente app grafica (para windows) ---> "PS3 PSP PKG Decrypter & Extractor".
4. ¿Que es un ELF, SELF y EBOOT.BIN? :ELF:Un fichero "ELF" generalmente suele ser un ejecutable sin firmar, desencriptado para que nos entendamos, pero en codigo maquina, nosotros solo podremos editar hexadecimalmente ficheros binarios desencriptados como los ELF.
SELF:Un fichero "SELF" (Signed ELF) es un fichero binario ELF cifrado/encriptado.
Esta firma/cifrado pueden ser de 2 tipos (en PS3): RETAIL y DEBUG.
EBOOT.BIN:El fichero EBOOT.BIN no es mas que un fichero SELF con la extension y nombre cambiados.
El EBOOT.BIN que viene en todos los PKG RETAIL de sony (updates, demos etc...) son con firma RETAIL.
El EBOOT.BIN que viene en los discos de juegos de PS3 en la carpeta "PS3_GAME/USRDIR" si lo lees desde cualquier lector bd de pc son con firma RETAIL.
EL EBOOT.BIN que viene en los PKG DEBUG de sony para sus conslas DEBUG/REFTOOL son con firma DEBUG.
EL EBOOT.BIN que viene en los discos de juego de PS3, si los dumpeamos con algun Loader en PS3, son con firma DEBUG.
5. ¿Se puede Obtener un ELF apartir de un SELF/EBOOT.BIN y vicevera? :Partiendo de un fichero ELF, tu puedes generar un SELF/EBOOT.BIN tanto DEBUG como RETAIL.
Partiendo de un fichero SELF/EBOOT.BIN DEBUG tu puedes obtener un fichero ELF.
Partiendo de un fichero SELF/EBOOT.BIN RETAIL demomento no puedes convertirlo a DEBUG ni obtener el ELF.