una idea tonta que me ronda la cabeza...

esto es poco mas o menos una idea tonta que me ronda la cabeza de unos dias para aqui, antes de contarla y para evitar respuestas del tipo... pues si es tan facil hazlo tu!!! he de decir que si no lo intento es porque, aunque tengo los conocimientos necesarios para poder intentarlo...

a) no tengo tiempo material
b) no tengo tiempo real
c) no tengo tiempo

me gustaria que alguien que este metido en el tema de la programacion para psp calibre lo descabellado de mi idea... para luego no poder sacar tiempo de donde no lo hay...

en fin, que ahi va...

despues de seguir estos foros desde que salio la psp he seguido mas o menos de cerca todas las evoluciones en cuanto al soft casero para la psp, siempre apoyandose en un bug, asi paso con la 1.0, 1.5 y 2.0... de hecho en las 2.1+ se sigue por un bug, ya sea con el eboot loader o con el del gta, el caso es que siempre a partir de un bug...

todo el problema viene por no poder firmar un ejecutable, pues bien, porque no aprovechar uno que ya este firmado??? es decir (aunque suene descabellado) no podria ser posible modificar un ejecutable firmado, no se, por ejemplo un eboot de actualizacion que accede a modo kernel, para que en determinado momento de su ejecucion, cuando ya se hubiera comprobado la firma de sony y/u/o otros mecanismos de ejecucion saltara el puntero de ejecucion al codigo que deseemos ejecutar... (una simple instruccion jump de lenguaje ensamblador)

para poder llegar a hacer esto deberiamos disponer de un ejecutable firmado desencriptado (creo recordar que esto ya se ha hecho con algun eboot de una actualizacion) y la posibilidad de ejecutarlo paso a paso controlando el contenido de los registros del procesador de la psp, especialmente el numero de instruccion que se esta ejecutando (no se lo complicado que puede ser esto, pero hacerlo debe ser posible) luego simplemente encontrar el punto exacto para incluir nuestro salto y redirigir el punto de ejecucion a donde queramos...

consiguiendo un bonito lanzador de codigo sin firmar... firmado, con lo que deberia funcionar en cualquier firmware y sin la necesidad de recurrir a ningun truco, bug, ni nada

hace mucho tiempo que no estoy en el ajo, pero recuerdo que antiguamente algo parecido se usaba para saltarse las protecciones de los juegos de pc, se buscaba donde empezaba la proteccion con un desensamblador y un debugger y se modificaba el ejecutable para que se saltara ese trozo de codigo y fuera justo al punto donde se permitia el acceso al juego...

no creo que hacer algo parecido en la psp sea muy distinto...

en fin, esto es lo que me ronda la cabeza... se que por aqui pasa gente que entiende bastante de programacion en la psp... la pregunta va para ellos... seria posible hacer esto que propongo???

gracias por aguantar el toston
el problema que veo yo a eso es que habría que hacer un debugger para la psp, puesto que no hay nada parecido (o al menos eso creo)

De todas formas, es una muy buena idea :D
Salu2!
no deberia ser muy dificil hacer uno... total, simplemente es una aplicacion a la que se le pasa el listado de instrucciones de otra, las cuales va ejecutando una a una mostrando entre medias el contenido de los registros de la cpu... despues de todo lo que se ha conseguido ejecutar en la psp no creo que sea mucho mas complicado

creo...

un saludin y nas noches!!!
Creo que la firma de sony esta asociada al archivo firmado, es decir que en cuanto cambies un byte del archivo la firma dejaría de tener validez
La firma de los programas se pierde con tan solo modificar un solo bit... Ese es el mayor problema
Otra idea tonta....

Si el archivo firmado no se puede modificar, tal vez se pueda modificar otro que sea ejecutado por el primero.

Si encontramos un eboot que cargue en memoria datos de un segundo archivo no se podría modificar el segundo archivo e insertar algún tipo de código en este, dejando el primero y su firma intactos?

No tengo ni idea de si eso es posible o si se podrá encontrar ese eboot, pero bueno, ya he dicho antes que era otra idea tonta.
Claro, ese es el principal problema.Si la firma consistiese en un conjunto de instrucciones, todo sería más fácil.

La firma supongo que estará basada en la encriptación MD5 o similares...mecanismos para crear una firma única a partir del conjunto de datos.Es un proceso complejo y existen pocos algoritmos, por eso son tan especiales y valiosos, y uno de ellos es el MD5, capaz de encriptar hasta no sé cuántos megas en una contrasñea de 16 caracteres...y se usa básicamente para contraseñas y para tener una "firma" única para cada archivo que existe que no supere no recuerdo qué tamaño...a veces se usa para comprobar la integridad de los archivos.


Una forma sencilla de hacer una firma podría ser simplemente un MD5+MD5.Con eso tienes la suma de dos hases en MD5 y a la consola le sería fácil comprobar si la firma es correcta.Así se pueden hacer miles de combinaciones...MD5*MD5+MD5-MD5...y a saber cuál usó Sony, si es que realmente usó un MD5 y no otro tipo de algoritmo.


Lo que sí se podría intentar es investigar cómo comprueba la consola la firma digital.Es decir, qué es lo que hace para comprobar si el archivo es bueno o malo.Supongo que será un proceso extremadamente complicado, pero posible.A través de lo que hace la consola para comprobar la validez del archivo, se podría "deducir" qué hay que hacer para firmar los archivos.

Pero bueno, como todo, Sony no es tonta, y no creo que sea simplemente comprobar si al principio del archivo pone "sony", no sé si me entiendes...xd
Si fuera md5 ya habria caido. MD5 murio.
Está claro que la firma de sony no está compuesta por claves md5 sino por algoritmos bastante mas complicados de los que no se sabe ni el nombre. Lo que importa es que es imposible de reproducir, no se sabe como leches funciona y que está asociada a un archivo(que no al tamaño, sino al contenido del archivo en si) lo que provoca que el mínimo cambio en el invalide su firma.

Amos que lo de jugar con la firma no es el camino a seguir, y sino el ejemplo que pongo siempre. Casi todas las consolas usan firma e incluso existen premios para los que las descrifren(para la xbox existión un premio de 100000$ si alguien conseguia desencriptar la firma y correr linux sin un mod chip) y nunca que yo sepa se ha conseguido y teniendo en cuenta que cada vez las técnicas para firmar algo son mas depuradas y seguras me da a mi que la psp no va a ser la excepción
Si no me ekivoco, el mayor problema de la PsP, no es la firma, es ke los juegos piden arrancar desde el UMD, por eso para jugar a algunos backups necesitas tener el UMD de un juego dentro. Si arrancas algo desde la MS la PsP has de engañar a la consola para ke crea ke lo haces desde el UMD, para engañarla hay ke cambiar ciertos registros, y aki es donde entra el problema con las 2.00 y superiores, ke no se puede cambiar esa informacion, porke no tienes acceso a ella.
Si que hay un debugger para PSP, yo lo estoy buscando porque la noticia la vi hace poco en otras paginas.
D10X escribió:Si no me ekivoco, el mayor problema de la PsP, no es la firma, es ke los juegos piden arrancar desde el UMD, por eso para jugar a algunos backups necesitas tener el UMD de un juego dentro. Si arrancas algo desde la MS la PsP has de engañar a la consola para ke crea ke lo haces desde el UMD, para engañarla hay ke cambiar ciertos registros, y aki es donde entra el problema con las 2.00 y superiores, ke no se puede cambiar esa informacion, porke no tienes acceso a ella.


Pues creo ke te ekivocas y bastante, ya ke la firma no la keremos solo para poder arrancar backups, sino para correr todo el homebrew.
Buenas iniciativas, pero el problema real es que sony nos tiene cogidos por los .....y ya ni fanjita ni ostias, yo creo que la clave sera en hacer algun programa que aparte de poder emular cualquier firm lo haga con las librerias, en fin yo de esto no entiendo demasiado y espero equivocarme porque cada vez que se pueda rebentar un firm sony hara otro nuevo y asi sucesivamente.
Un saludo
toda la razon del mundo cuando decis que al cambiar un solo bit del ejecutable cambie la firma... con lo que no estaria firmado...

pero razon de mas para conocer el contenido de los registros del sistema cuando se comprueba la firma, porque en uno de ellos se ha de guardar el resultado de la suma hash (firma) para comprobarlo con el valor guardado en el ejecutable...

de forma que si se pudiera cambiar el contenido de ese registro justo antes de que se compruebe... voila!!!


ande decis que se puede encontrar ese debugger... porque yo no he encontrado nada (tampoco he buscado demasiado...)
por cierto, eso de que sony nos tiene bien cogidos... para mi que no...
15 respuestas