[PROYECTO] Parche LV2.pkg con Payload Hermes v4b

1, 2, 3
Hola, existen multiples usuarios reportando cuelgues en juegos en el CFW tras usar el lv2.pkg de kmeaws. Creo que teniendo el source del pkg que publico y con un poco de habilidad podriamos ser capaces de implementar un pkg basado en el payload de hermes version 4b. ¿os animais a colaborar?

Source de lv2patcher de kmeaws:


Source de hermes v4b:


Voy a investigar el source del lv2.pkg y contare que descubro...
Oren_Hishii escribió:Hola, existen multiples usuarios reportando cuelgues en juegos en el CFW tras usar el lv2.pkg de kmeaws. Creo que teniendo el source del pkg que publico y con un poco de habilidad podriamos ser capaces de implementar un pkg basado en el payload de hermes version 4b. ¿os animais a colaborar?

Source de lv2patcher de kmeaws:


Source de hermes v4b:


Voy a investigar el source del lv2.pkg y contare que descubro...


muy buena idea estamos todos muy interesados,la pena es que no tengo ni idea pero bueno animo,y gracias por intentar hacer algo por nosotros,un saludo.
alexval está baneado por "clon-troll"
Muy buena idea. Esperemos que los que mas sepan puedan colaborar y llevar este proyecto a buen puerto
Una de las cosas por las que se puede empezar creo que es el tema offsets del payload, que según se dice no están adaptados a la 3.55 (No llego a más por desgracia XD).

Saludos
OMG! OMG! OMG! OMG! OMG!

¿Y no es mucho más seguro pillar un CFW con peek/poke en vez de parchear LV2? parchear en memoria a dia de hoy es mucho más seguro, que luego ocurren bricks... :-/
Esto es mucho mas complicado de lo que parece. Tened paciencia...

En el source se hacen multiples referencias al pl3 dentro del main .c por ejemplo:
FILE *payload = search_file("payload.bin");
FILE *patch = search_file("patch.txt");

if (payload)
do {
PRINTF("reading payload...\n");
if (fread
((void *)payload_bin, sizeof(payload_bin), 1,
payload) != 1) {
PRINTF("invalid payload.\n");
fclose(payload);
payload = NULL;
break;
}
fclose(payload);

PRINTF("installing memcpy...\n");
/* install memcpy */
lv2_poke(NEW_POKE_SYSCALL_ADDR, 0x4800000428250000ULL);
lv2_poke(NEW_POKE_SYSCALL_ADDR + 8,
0x4182001438a5ffffULL);
lv2_poke(NEW_POKE_SYSCALL_ADDR + 16,
0x7cc428ae7cc329aeULL);
lv2_poke(NEW_POKE_SYSCALL_ADDR + 24,
0x4bffffec4e800020ULL);

/* copy the payload */
PRINTF("copying the payload...\n");
Lv2Syscall3(NEW_POKE_SYSCALL, 0x800000000000ef48ULL,
(unsigned long long)payload_bin,
sizeof(payload_bin));

PRINTF("uninstalling memcpy...\n");
/* restore syscall */
remove_new_poke();
lv2_poke(NEW_POKE_SYSCALL_ADDR + 16,
0xebc2fe287c7f1b78);
lv2_poke(NEW_POKE_SYSCALL_ADDR + 24,
0x3860032dfba100e8);

PRINTF("done.\n");
}
while (0);


Al coincidir las syscall de peek (syscall 6) y de poke (syscall 7) con las que usa el PL3 facilita muchisimo el trabajo. Ire investigando si es posible rehacer el codigo con las syscall que uso hermes que son la 8 y la 36 si no recuerdo mal...
Esto no es nada fácil, hay muchísimo MAGIC NUMBERS que no sabemos de donde vienen ni lo que significan...
i si se lo comentas ap propia hermes que nos ayuda aver el entendera como va su payload alo mejor lo hace un saludo
He estado revisando muchocodigo y como bien decis parece tarea complicada al desconocer con que idea programan tanto hermes como el creador de pl3... Mañana despues de mi examen por la tarde seguire tratando de avanzar.

Si Hermes lee este post y quiere colaborar en algo se agradeceria. Un saludo
Amí me gustaria colaborar en el proyecto tengo bastantes conocimiento de programación, si que es cierto que adaptar un payload tiene su complicación, pero bueno se podría intentar.
pues keria decir ke siempre tuve problemas con el pl3 de kakaroto..los freezes etc. con el de hermes v4 NUNCA. seria estupendo poder introducir las syscalls 36 en el parche. La unica duda ke tengo si es posible parchear de verdad l lvl2 con esas syscalls sin hacer brick. creo haber leido ke ya lo han intentado pero no funciona el programa ke sacaron para introducir .bins etc

saludos y mucha suerte..seguire este hilo con mucho interes!

Gracias a todos
remix escribió:pues keria decir ke siempre tuve problemas con el pl3 de kakaroto..los freezes etc. con el de hermes v4 NUNCA. seria estupendo poder introducir las syscalls 36 en el parche. La unica duda ke tengo si es posible parchear de verdad l lvl2 con esas syscalls sin hacer brick. creo haber leido ke ya lo han intentado pero no funciona el programa ke sacaron para introducir .bins etc

saludos y mucha suerte..seguire este hilo con mucho interes!

Gracias a todos


Es posible parchear en memoria sin riesgo de convertir tu PS3 en un ladrillo negro. La cosa está en que para ello deberías tomar un custom firmware que sí que permita hacer peek/poke (parchear bytes), de forma que tenga lo mínimo indispensable. Luego en función de las syscall de peek/poke se podría hacer un loader/aplicación, y de ser testeado lo suficiente y en PS3 con distintas configuraciones hardware, proceder a parchear el LV2 de forma fija.

No son pocos ni tontos los que han comentado lo facil que es joder la PS3 de esta manera (marcan, mathiew,...), yo no haría grandes parches a nivel de firmware sino más bien modificar en memoria (aunque paradojicamente para ello necesites fiarte primero de algun CFW con peek/poke).
Yo comence en esto de la scene de ps3 directamente con el Payload Hermes v4b , despues he instalado el CFW kmeaw con el PL3 de Kakaroto y la verdad es que hay muchos juegos que o se quedan en negro o veo la intro y me saca al XBM, si se pudiera tener este LV2.pkg con el payload de Hermes seria unas de las mejoras cosas que le pasaria a este CFW.
kmeaw había sacado una nueva versión del lv2.pkg, q permite ejecutar un payload desde un pendrive, pero solo está el .bin del PL3, hizo eso por si alguien quisiera implementar otro payload, todo eso lo vi en el irc :)
Si realmente lv2.pkg es una especie de emulador de dongle, no tiene que haber ningún problema en usar el hermes 4b. Eso sí andamos un poco a ciegas de donde colocarlo que es el mayor problema que yo veo. Wanin comentó que en su FW dejaba una zona libre de memoria para esto... sería ver si ahí nos cabe a nosotros el payload ein?

Yo tengo que hacer unos mandaillos esta mañana, pero si nadie se ha puesto lo miro cuando llegue; no creo que sea mucho más difícil de lo que me costó portar hermes 4b a la dingoo Oooh

Un Saludo y si luego no puedo yo, ya lo hará otro, seguro :Ð
lo suyo seria implementarlo en multiman o gaia, asi el manager al cargar ya lo haria todo.

Saludos
huntsman escribió:lo suyo seria implementarlo en multiman o gaia, asi el manager al cargar ya lo haria todo.

Saludos


Si fuera posible seria excelente
Al Gaia le han implementado autoparcheo. Quizas en el post de Open Manager wuepe os pueda decir algo sobre añadirle el payload de Hermes
Exacto el gaia ya lo tiene, ponerle hermes es factible. Solo hay q vigilar de solo cargarlo la primera vez q se carga el manager para evitar cuelgues, como ya hace gaia con pl3
huntsman escribió:Exacto el gaia ya lo tiene, ponerle hermes es factible. Solo hay q vigilar de solo cargarlo la primera vez q se carga el manager para evitar cuelgues, como ya hace gaia con pl3


Yo aun no he instalado el Gaia pero, ¿que significa eso? Es que no lo entiendo muy bien (lo marcado en negrita).
JackL escribió:
huntsman escribió:Exacto el gaia ya lo tiene, ponerle hermes es factible. Solo hay q vigilar de solo cargarlo la primera vez q se carga el manager para evitar cuelgues, como ya hace gaia con pl3


Yo aun no he instalado el Gaia pero, ¿que significa eso? Es que no lo entiendo muy bien (lo marcado en negrita).


Significa que el manager carga el payload cada vez que es ejecutado. Al entrar la primera vez todo correcto porque parchea la memoria y juegas, pero si no apagas la consola y vuelves a ejecutarlo al volver a parchear las zonas de memoria que ya estaban parcheadas produce un cuelgue. El manager tendria que tener un flag que le marque cuando se ha ejecutado por primera vez desde arrancar la consola para que en sucesivos accesos sin apagar no salte el payload.
Vamos, que hay que apagar la consola cada vez que se quiera cambiar de juego ¿no?
JackL escribió:Vamos, que hay que apagar la consola cada vez que se quiera cambiar de juego ¿no?

No
aibo19 escribió:
JackL escribió:Vamos, que hay que apagar la consola cada vez que se quiera cambiar de juego ¿no?

No


Entonces?
Imaginate que el lv2.pkg es el dongle de 3.41 y este pkg esta integrado el nuevo gaia manager

Cuando tu arrancas la PS3 y inicias el gaia manager POR PRIMERA VEZ hace el parcheo del lv2 (en 3.41 seria el power+eject) y arranca el programa

Si luego quieres cambiar de juego y no has apagado la PS3 cuando vuelvas a lanzar el gaia manager se dara cuenta de que el parcheo del lv2 estara activo y simplemente lanzara el programa sin parchear nada
Executor escribió:
Significa que el manager carga el payload cada vez que es ejecutado. Al entrar la primera vez todo correcto porque parchea la memoria y juegas, pero si no apagas la consola y vuelves a ejecutarlo al volver a parchear las zonas de memoria que ya estaban parcheadas produce un cuelgue. El manager tendria que tener un flag que le marque cuando se ha ejecutado por primera vez desde arrancar la consola para que en sucesivos accesos sin apagar no salte el payload.


aibo19 escribió:Imaginate que el lv2.pkg es el dongle de 3.41 y este pkg esta integrado el nuevo gaia manager

Cuando tu arrancas la PS3 y inicias el gaia manager POR PRIMERA VEZ hace el parcheo del lv2 (en 3.41 seria el power+eject) y arranca el programa

Si luego quieres cambiar de juego y no has apagado la PS3 cuando vuelvas a lanzar el gaia manager se dara cuenta de que el parcheo del lv2 estara activo y simplemente lanzara el programa sin parchear nada


Poneos de acuerdo porque los dos no pueden tener razón.
Aibo19 tiene la razon.
esque sacaron la 2.0 que esta se colgaba al abrir por segunda vez el gaia, luego sacaron la 2.01 cuando no avia pasado ni media hora y ya se arreglo este problema, ahora va genial
Los 2 tenemos razon, lo que dice executor es lo que hacia el gaia manager en su primera version y es lo que habria que evitar.

Lo que he dicho yo es lo que hace actualmente y lo que deberian hacer los demas loaders
aibo19 escribió:Los 2 tenemos razon, lo que dice executor es lo que hacia el gaia manager en su primera version y es lo que habria que evitar.

Lo que he dicho yo es lo que hace actualmente y lo que deberian hacer los demas loaders


Gracias por la aclaracion [carcajad] [carcajad] Me estaba haciendo un lio.
a mi no me parece necessario aportar hermes al 3.55 las unicas cosas se son necesarias hacer para correr backups son:

1) syscall and hook_open para hacer lo redirect

2) pachar el lv2open para retornar 0 e desactivar las lammadas a lv1_send_event_locally, para que las actualizaciones funcionem

todo lo resto és una inutilidad e solo anade instabilida a la consola

patch.txt
# Segment 0:
55dc4: 38600000 # lv2open: patch_func8_offset1
55f28: 60000000 # lv2open: patch_func8_offset2
2b3298: 4BD5C050 # hook_open (patch_func3 + patch_func3_offset)
# Segment 1:
346688: 800000000000f2dc # syscall_map_open_desc


obviamente el pl3 poderia ser menor pq tiene codigo en memoria que no aporta nada.
Que raro que hermes no se haya pasado por aqui, espero que lo haga pronto y nos de su opinion al respecto porque otra mejor no vamos a tener
djrobbie escribió:Que raro que hermes no se haya pasado por aqui, espero que lo haga pronto y nos de su opinion al respecto porque otra mejor no vamos a tener

+1.. fijo que nos ha leido, pero creo que Hermes es mas de no decir nada, y cuando menos lo esperamos POM

lv2 pached by hermes xD


Ojala
Mikel24 escribió:
djrobbie escribió:Que raro que hermes no se haya pasado por aqui, espero que lo haga pronto y nos de su opinion al respecto porque otra mejor no vamos a tener

+1.. fijo que nos ha leido, pero creo que Hermes es mas de no decir nada, y cuando menos lo esperamos POM

lv2 pached by hermes xD

Ojala

Ojala :P pero podia darnos una pista hombre jaja
zadkyn escribió:esque sacaron la 2.0 que esta se colgaba al abrir por segunda vez el gaia, luego sacaron la 2.01 cuando no avia pasado ni media hora y ya se arreglo este problema, ahora va genial


..eso de genial...se cuelga que da gusto....
Con la version ge gaia 2.01 ya no es necesario reiniciar la consola cada vez que se cambie de juego. A las 16 tengo un examen pero en cuanto termine me pongo a mirar la implementacion del gaia para ver si entre todos podemos crear un open manager con payload hermes v4b. Ojala wuepe tb se interese por el tema. Un saludo

Aqui los changelog del gaia 2.0:
v2.02

It's based on Sexy Manager and Open Manager (the psx-scene one) 1.17.2 release.

Direct Boot mode is unsupported! Use it at your own risk!
PL3 dev (peek & poke) payload is not supported and using it may crash your PS3.
Precompiled psgroove+pl3 versions often include dev payload, so use my builded hexes instead.
Do not report any bug involving Direct Boot nor PL3 dev! Thanks

V2.01 (3.55 CFW only) Features:
It does not try to load the syscall every time you start Gaia Manager, but only the first time. that should be fix some crashes when reopening Gaia Manager.
It's reported that if the PS3 crashes sometimes you will need to do an hard power off / power on (detaching cable and reataching).

V2.00 (3.55 CFW only) Features:
Built for CFW 3.55 (with peek & poke support), integrate lv2 patching support (so, no need to use lv2.pkg). You need to remove old Gaia Manager from XMB before installing it
Oren_Hishii escribió:Con la version ge gaia 2.01 ya no es necesario reiniciar la consola cada vez que se cambie de juego. A las 16 tengo un examen pero en cuanto termine me pongo a mirar la implementacion del gaia para ver si entre todos podemos crear un open manager con payload hermes v4b. Ojala wuepe tb se interese por el tema. Un saludo

Aqui los changelog del gaia 2.0:
v2.02

It's based on Sexy Manager and Open Manager (the psx-scene one) 1.17.2 release.

Direct Boot mode is unsupported! Use it at your own risk!
PL3 dev (peek & poke) payload is not supported and using it may crash your PS3.
Precompiled psgroove+pl3 versions often include dev payload, so use my builded hexes instead.
Do not report any bug involving Direct Boot nor PL3 dev! Thanks

V2.01 (3.55 CFW only) Features:
It does not try to load the syscall every time you start Gaia Manager, but only the first time. that should be fix some crashes when reopening Gaia Manager.
It's reported that if the PS3 crashes sometimes you will need to do an hard power off / power on (detaching cable and reataching).

V2.00 (3.55 CFW only) Features:
Built for CFW 3.55 (with peek & poke support), integrate lv2 patching support (so, no need to use lv2.pkg). You need to remove old Gaia Manager from XMB before installing it

pero esto de lo ke estais hablando es para el custom firm de waninoko o el de kmeaw?
paxama escribió:
Oren_Hishii escribió:Con la version ge gaia 2.01 ya no es necesario reiniciar la consola cada vez que se cambie de juego. A las 16 tengo un examen pero en cuanto termine me pongo a mirar la implementacion del gaia para ver si entre todos podemos crear un open manager con payload hermes v4b. Ojala wuepe tb se interese por el tema. Un saludo

Aqui los changelog del gaia 2.0:
v2.02

It's based on Sexy Manager and Open Manager (the psx-scene one) 1.17.2 release.

Direct Boot mode is unsupported! Use it at your own risk!
PL3 dev (peek & poke) payload is not supported and using it may crash your PS3.
Precompiled psgroove+pl3 versions often include dev payload, so use my builded hexes instead.
Do not report any bug involving Direct Boot nor PL3 dev! Thanks

V2.01 (3.55 CFW only) Features:
It does not try to load the syscall every time you start Gaia Manager, but only the first time. that should be fix some crashes when reopening Gaia Manager.
It's reported that if the PS3 crashes sometimes you will need to do an hard power off / power on (detaching cable and reataching).

V2.00 (3.55 CFW only) Features:
Built for CFW 3.55 (with peek & poke support), integrate lv2 patching support (so, no need to use lv2.pkg). You need to remove old Gaia Manager from XMB before installing it

pero esto de lo ke estais hablando es para el custom firm de waninoko o el de kmeaw?


Kmeaw
Buenas, esto de que no parchea cada vez esta confirmado? porque el flash de pantalla que me da cada vez que arranco el gaia me deja muuuuuchas dudas al respecto, con 2.01.
paxama escribió:
Oren_Hishii escribió:Con la version ge gaia 2.01 ya no es necesario reiniciar la consola cada vez que se cambie de juego. A las 16 tengo un examen pero en cuanto termine me pongo a mirar la implementacion del gaia para ver si entre todos podemos crear un open manager con payload hermes v4b. Ojala wuepe tb se interese por el tema. Un saludo

Aqui los changelog del gaia 2.0:
v2.02

It's based on Sexy Manager and Open Manager (the psx-scene one) 1.17.2 release.

Direct Boot mode is unsupported! Use it at your own risk!
PL3 dev (peek & poke) payload is not supported and using it may crash your PS3.
Precompiled psgroove+pl3 versions often include dev payload, so use my builded hexes instead.
Do not report any bug involving Direct Boot nor PL3 dev! Thanks

V2.01 (3.55 CFW only) Features:
It does not try to load the syscall every time you start Gaia Manager, but only the first time. that should be fix some crashes when reopening Gaia Manager.
It's reported that if the PS3 crashes sometimes you will need to do an hard power off / power on (detaching cable and reataching).

V2.00 (3.55 CFW only) Features:
Built for CFW 3.55 (with peek & poke support), integrate lv2 patching support (so, no need to use lv2.pkg). You need to remove old Gaia Manager from XMB before installing it

pero esto de lo ke estais hablando es para el custom firm de waninoko o el de kmeaw?


Ahora tmp hace falta reiniciar la consola cada vez que cambias de juego, solo tienes que iniciar el lv2.pkg cada vez que inicias la consola y vayas a jugar, ya que al apagarla se borra el payload de la ram.
y no es mas sencillo usar el pkg del level 2 que el gaia? si de todas formas hay que pasar el rogero pa que arregle permisos del eboot no?
NaVaJa90 escribió:
paxama escribió:
Oren_Hishii escribió:Con la version ge gaia 2.01 ya no es necesario reiniciar la consola cada vez que se cambie de juego. A las 16 tengo un examen pero en cuanto termine me pongo a mirar la implementacion del gaia para ver si entre todos podemos crear un open manager con payload hermes v4b. Ojala wuepe tb se interese por el tema. Un saludo

Aqui los changelog del gaia 2.0:
v2.02

It's based on Sexy Manager and Open Manager (the psx-scene one) 1.17.2 release.

Direct Boot mode is unsupported! Use it at your own risk!
PL3 dev (peek & poke) payload is not supported and using it may crash your PS3.
Precompiled psgroove+pl3 versions often include dev payload, so use my builded hexes instead.
Do not report any bug involving Direct Boot nor PL3 dev! Thanks

V2.01 (3.55 CFW only) Features:
It does not try to load the syscall every time you start Gaia Manager, but only the first time. that should be fix some crashes when reopening Gaia Manager.
It's reported that if the PS3 crashes sometimes you will need to do an hard power off / power on (detaching cable and reataching).

V2.00 (3.55 CFW only) Features:
Built for CFW 3.55 (with peek & poke support), integrate lv2 patching support (so, no need to use lv2.pkg). You need to remove old Gaia Manager from XMB before installing it

pero esto de lo ke estais hablando es para el custom firm de waninoko o el de kmeaw?


Ahora tmp hace falta reiniciar la consola cada vez que cambias de juego, solo tienes que iniciar el lv2.pkg cada vez que inicias la consola y vayas a jugar, ya que al apagarla se borra el payload de la ram.

Pues a mi se me freeza cada vez que salgo de un juego y cada vez que entro y salgo de una aplicación. Además, no se puede ejecutar un juego tras otro porque el segundo siempre se queda colgado.

Pues no entiendo como han basado el lv2 patcher en pl3, menu
este gaia no me parece ser muy estavel, black screen al começar.
usad el lv2 com el minimo de patchs, ver abaxo, e el rogero ou multiman. me ha funcionado de maravilha.

# Segment 0:
55dc4: 38600000 # lv2open: patch_func8_offset1
55f28: 60000000 # lv2open: patch_func8_offset2
2b3298: 4BD5C050 # hook_open (patch_func3 + patch_func3_offset)
# Segment 1:
346688: 800000000000f2dc # syscall_map_open_desc
probar el fix_permision firmado para 3.55 este suele resolver los freezes ya ke tengo entendido ke se "pierden" los permisos en el disco duro
remix escribió:probar el fix_permision firmado para 3.55 este suele resolver los freezes ya ke tengo entendido ke se "pierden" los permisos en el disco duro

Corrije los permisos pero igual sigue crasheando.
espero q a hermes no le hallan trincado los hombres de negro de sony, jajaja no en serio es broma, y seguro q habra echado un vistazo a este tema y ojala y con toda hulmildad, y sabiendo q esta con otros proyectos , nos pueda dar un empujoncito en este payload y veo q aqui en el hilo hay una calma para trabajar en el proyecto muy saludable. [+risas] [bye]
El PL3 esta plagado de errores y crashea y congela la consola continuamente y sin motivo alguno. Necesitamos que el lv2 implemente otro payload y el mejor es el de hermes pero me temo que sin su ayuda no podremos seguir puesto que el que mejor conoce el payload es su propio creador: Hermes

A la espera de noticias...
no se pero hermes esta desaparecido ultimamente no le leo por ningun hilo pero en fin a esperar q se pase por estos lares cuando el pueda. [fumando]
123 respuestas
1, 2, 3