merol escribió:wow eso si que si.... supongo que se podria con aplicaciones comunes (emuladores, wifi sniffer, pdf, etc....) todos los que no modifican el kernel como daxziso, ya que al ser 2.5 el kernel sera diferente. Pero todas las demás aplicaciones comunes seria un puntazo, y para isos ya tenemos el propio devhook. ojala lo implementen
Se puede hacer... pero no os imaginais como hana cambiado las cosas desde 1.5 a 2.5...
Para empezar el parche que el devhook hace para ejecutarse a si mismo no es del todo completo y no permite en todos los casos la carga de modulos no encriptados. Consegui traceando la ejecución de la funcion sceKernelCheckExecFile, "corregir" (parchear) parcialmente en ram el modulo loadcore para que acepte modulos no firmados pero hay varios problemas:
- los prx de usuario no me dieron ningun problema en cargarse pero los de kernel... ¡se cargaron en la particion de usuario! y por tanto no pudieron empezar a ejecutarse al no poder el firmware resolver las exportaciones de kernel.
- Incluso con esas, la carga de homebrew tanto de usuario como de kernel desde la memory stick o desde una iso-homebrew todavia da un error 0x80020148 y no se por qué... Probablemente no haya "corregido" todos los caminos inequivocos para esa función.
Por cierto, que los pbp deben ser modificados para los firmwares 2.XX para que no pongan lo de datos corruptos en el xmb (ese error no lo da porque el homebrew no este firmado sino porque el sfo tiene un formato incorrecto en esos firmwares).
- Otra diferencia entre los firmwares 1.XX y 2.XX, es que en los 2.XX las exportaciones de usuario y de kernel están más separadas. Donde antes una funcion exportada a ambos (por ejemplo, sceKernelLoadModule) era la misma para ambos modos (aunque despues siguieran distintos caminos condicionales), ahora están totalmente separadas como dos funciones distintas, con dos direcciones de memoria distintas.
Uff, las cosas han cambiado de verdad en los firmwares 2.XX.
Ya veré que se puede hacer pero no aseguro nada.
De momento siempre podeis probar con el eloader que funciona en la 2.50 emulada, aunque ya se que es algo incomodo.
En resumen:
- Podeis ejecutar vuestros prx's no firmados si los añadis a la lista de los archivos pspbtcnf*.txt, tanto prx's de kernel como de usuario. (los elf's no funcionarán porque se cargan en posiciones fijas de memoria que ya estan ocupadas por modulos del vsh)
- Pero una vez cargado tu modulo, será incapaz de cargar otros modulos no firmados. Con un parche que he hecho en ram esto esta solucionado, pero los prx's de kernel no podrán ser ejecutados (aunque tengo una ligera idea de como resolver esto, creo que en 2.XX los modulos de kernel no pueden cargar otros modulos de kernel, solo de usuario, y al reves, los modulos de usuario pueden cargar ambos, algunos pensareis que no tiene sentido, pero creedme, lo tiene).
- Cuando se intente cargar un homebrew no firmado desde el XMB, inluso si tiene el formato PBP correcto para el firmware 2.XX, o incluso si lo meteis en una iso, e incluso a pesar de mi parche, e incluso si es un prx y no un elf... todavia no funcionará y aun no se por qué
Bueno, así están las cosas y asi las he contado