Buenas,
cuando el team fail0verflow publicó sus herramientas, era evidente que no todas eran funcionales, ni carentes de ciertos bugs. Waninkoko tuvo el "honor" de comprobarlo en sus propias carnes (lamentablemente), cuando su CFW provocó unos cuantos bricks debido al incorrecto funcionamiento de ciertas herramientas.
Recientemente han salido nuevos CFW que al parecer, tienen el mismo problema al componer el paquete del CORE OS (y al menos he podido comprobar en el de Rogero que se está utilizando cospkg...) y sinceramente, aunque estoy muy bien en 3.41 por el momento y no tengo intención de volver a la scene de PS3, digamos que tenía cierta obligación "moral" y he aquí el motivo del hilo y de la aplicación (además, no tengo ganas de que si el día de mañana instalo un CFW de estos nuevos, se me enladrille la consola por un CORE OS raruno
)
Extrayendo CORE OSUna vez desempaquetado el .pup y extraído el contenido del .tar con la utilidad unpkg podemos desempaquetar el CORE OS de esta forma:
unpkg 341firm/CORE_OS_PACKAGE.pkg 341firm/cos
Esto nos generará 3 ficheros en la carpeta "cos": info0, info1 y content
El contenido de "content" se extrae mediante la utilidad cosunpkg de ésta forma:
cosunpkg 341firm/cos/content 341firm/cos/files
Ahora dentro de la carpeta "cos" tendremos la carpeta "files" donde podremos proceder por ejemplo, a parchear lv1 o lv2.
Ahora bien, una vez parcheados, debemos proceder a reempaquetar el CORE OS y aquí es donde empiezan los problemas.
Cuando flukes1 presentó su CFW 3.55 me llamó la atención de que en su programa en python hacía mas o menos lo que os he mostrado, pero luego procedía a parchear el "content" original con el nuevo contenido en lugar de utilizar la utilidad "cospkg". Así que yo hice lo mismo con el CFW 341 y cómo pudimos ver, no hubo bricks en las consolas por ese motivo.
Esta técnica tiene un inconveniente: los self modificados, no deben superar en tamaño a los originales, puesto que debemos encajarlos en el "hueco" de los antiguos. La ventaja es que respeta
el orden de los ficheros y la alineación originales (motivo por el que el cospkg normal hay que descartarlo), pero ¿que sucede si por algún motivo, debemos meter ficheros con un tamaño mayor al original?
Pues que no nos queda más remedio que arreglar las utilidades cospkg y cosunpkg para que generen el "content" exactamente, cómo lo haría el original.
Para ello he procedido con varios firmwares oficiales con los que probar y testear los resultados, pues obviamente, si extraigo el contenido y lo recompongo exactamente igual, debo obtener los mismos datos (los dos ficheros serán iguales) y el número de firmwares usados permite ver pequeñas particularidades y excepciones que sirven para averiguar cómo proceder correctamente (una utilidad sin fallo en firms con diferentes matices, indica que vamos por buen camino)
La utilidad "cosunpkg" que adjunto, funciona igual que la original sólo que genera un fichero llamado "list.txt" que contiene el número de entradas y la lista de ficheros en el orden de "content".
La utilidad "cospkg" genera "content" con dicha lista y aplica la alineación correspondiente en base a la observación de los siguientes firmwares de prueba que he usado: 1.02, 3.15, 3.41, 3.50, 3.55 antiguos y los modernos 4.21, 4.25, 4.30 (realiza una pequeña detección en base al nombre de algunos ficheros importantes)
Para empaquetar se procedería así:
cospkg 341firm/cos/content 341firm/cos/files
Si desempaquetáramos el original y empaquetáramos en "content2" sin haber modificado nada, al comparar no debería haber diferencia en ninguno de los casos y eso es lo que he apreciado con esos firmwares y la metodología usada. Eso si,
puesto que yo no tengo flasher, ni interés en hacer un CFW, ni consola que arriesgar, no puedo asegurar que si se modifica el contenido de otra forma, pueda fallar. En principio, no debería, pero yo no pongo la mano en el fuego y supongo que quien vaya a crear un CFW tiene los medios y conocimiento para llevarlo a cabo, pudiendo revertir los posibles errores mediante flasher.
Así que usadlo de forma responsable y entender que pese a que genere los ficheros originales correctamente, puede que las modificaciones no, si se modifican tamaños, o que haya algún problema
en otra utilidad que haya que arreglar (por que puede ocurrir que haya un fallo en otra parte, obviamente, ya sea al generar el pkg, el tar o el pup)
Adjunto: los fuentes de ps3tools cosunpkg.c y cospkg.c modificados, así como los ejecutables compilados para Cygwin. Espero que os sea de utilidad y por favor,
abstenerse de usar dichas aplicaciones si no se sabe lo que se está haciendo o no se tiene posibilidad de poder arreglar un posible problema.
Ah! y el que no entienda ni papa de lo que estoy diciendo, se puede ahorrar las preguntas: no lo entenderá igualmente Saludos