Inotalas escribió:Tengo entendido que la libreria usb de la PSP no permite intercomunicacion con la flash de la PSP, claro que si mientras esta el juego activo te permite desbloquear "secretos"... tambien supongo que eso sera a un nivel muy alto y que trabaja con la RAM y poco mas.
En fin, es una idea
Salu2
Mi idea es provocar un desbordamiento de buffer o bien en el driver USB de la "PSP Type D" (que no creo que se pueda, pero bueno) o bien en el juego (que creo que es más probable), y con esto ejecutar código.
He probado una cosa que aunque no me lleva a ninguna parte, creo que es bastante interesante. He modificado el fichero "usbstor.inf", añadiendo el VID y PID de la "PSP Type D", para que cuando se inserte la PSP se cargue el driver de "Dispositivo de almacenamiento masivo". Pues bien, Windows la reconoce, instala el driver e intenta inicializarlo, tras lo cuál falla y en el Daxter sale un mensaje de error. He hecho una captura de paquetes por el USB utilizando una versión de prueba del Source USB y este es el descriptor de configuración que la "PSP type D" devuelve:
Se puede ver que la clase es "Vendor Specific", así que efectivamente es distinto de la clase de "Dispositivo de almacenamiento masivo", y por tanto no parece que se trate de un simple acceso a la tarjeta de memoria (como muchos habéis dicho).
Después de esto, el PC manda un URB SELECT_CONFIGURATION (con la configuración que la PSP pasó), a lo que esta responde correctamente con este paquete:
Se aprecia que esta configuración utiliza 3 pipes (aparte del de control), un pipe tipo Bulk de entrada, otro de salida y un pipe tipo Interrupt de entrada. Los "dispositivos de almacenamiento masivo" únicamente utilizan 2 pipes de tipo Bulk además del de control.
Después de este URB, el PC envía uno de selección de clase (0x21) que supongo que será la de "dispositivo de almacenamiento masivo", lo cuál no le gusta a la PSP que bloquea el pipe de control (STALLED) y se desconecta del puerto.
Llegado a este punto, creo que no puedo seguir investigando hasta que encuentre a alguien que sepa programar drivers USB, pero creo que la cosa pinta bien.