wallflow escribió:Zam escribió:Hola,
En 3.10 no te van a funcionar los backups (de hecho, se te colgará cualquier backup manager nada más arrancarlo), eso es debido a que en 3.10 todavía no están todas las funciones que permiten el uso de la syscall36 (en concreto strdup), al igual que pasó con la 3.01. Para la 3.01 saqué el offset de la función del volcado vl2 de mi proipa consola 3.01. No tengo 3.10, pero si quieres y estás interesado en el tema, puedes enviarme un volcado de tu lv2 3.10 (por privado en todo caso) y puedo mirarlo para intentar sacarla. Se puede haer con el lv2dump v0.7a , que puedes encontrar en el hilo de aplicaciones ps3:
hilo_aplicaciones-para-la-playstation-3_1488447Saludos.
¿Y la forma de localizar el offset de esa función yo mismo? Si lo viera complicado ya te haría llegar un volcado del LV2 en 3.10.
Saludos,
Bueno, casualmente la función strdup, imprescindible para la syscall36 (emulación BD) no está documentada cómo encontrarla en el HOWTO de KaKaRoTo, en el source de PL3 (ver el github), pero se puede conseguir analizando varios dumps de lv2, yo al tener 3 consolas con diferentes firmwares me ha sido más fácil comparar, y llegar a la siguiente conclusión, que parece que se cumple en las 3 y seguramente servirá para sacar la tuya, usando IDA Pro:
Haces el dump de tu 3.10 y lo abres en IDA Pro, estableciendo como procesador el PowerPC (ppc), una vez cargado ejecutas el script IDC de análisis de LV2 de KaKaRoTo (lo puedes encontrar en /utils de su source del PL3). Te pedirá el offset de syscall_table, que en el caso de 3.10 está ya sacado (mirar macros.h.S del source), y hay que esperar un ratillo a que lo analice todo. Una vez termine, podemos mirar. Tal y como he comprobado, la función strdup la usan otras syscalls que no son la 36 como es evidente, y podemos partir de ahí para sacarla: la syscall "syscall_chmod", por ejemplo, usa dicha función. Se puede buscar por nombre sin problema. Una vez allí, buscamos el 4º branch bl, que se llamará sub_1xxxxx (las xxxxx varían según el firm como es obvio) y saltamos a él, una vez en él, buscamos el 2º branch bl, también con nombre tipo sub_1yyyyy, pues bien, ya tienes el offset, es 1yyyyy (o debería)
Un saludo.