[PROYECTO] Parche LV2.pkg con Payload Hermes v4b

1, 2, 3
Pues necesitamos que Hermes nos ilumine un poco :)

El pl3 de kakaroto crashea que da gusto,de hecho a mi el DR2 me iba perfectamente y ahora,no me va.

Me crashea cuando salgo al refugio,he probado todo: formatear,instalar de nuevo y la primera vez que lo ejecuto si va,pero luego sigue crasheando,todo esto con el pkg lv2 v3 y rogero
playhackeri escribió: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]

si que escribe,mira este hilo y que no se te caiga la baba:http://www.elotrolado.net/hilo_alguien-sacara-cfw-3-41_1558899
Os digo lo que dijo el otro dia por el irc hermes, lo primero dio a entender que no tiene la intentención de mover un dedo por 3.55.

Lo segundo que el secreto de la estabilidad del payload de hermes es que se aloja justo en el fin de la memoria del kernel, hay un hueco que no se usa para nada, y ahí aloja su payload, pero que esto en cada firm habría que adapatarlo, porque varia.

Esto es lo que le da la estabilidad frente al de kakarato, que por lo visto hace algo asi como un malloc (palabras de hermes), y el payload se puede encontrar con zonas de memoria que a veces pisan otras cosas y entonces casca.
juanchuloperron escribió:
playhackeri escribió: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]

si que escribe,mira este hilo y que no se te caiga la baba:http://www.elotrolado.net/hilo_alguien-sacara-cfw-3-41_1558899



gracias por el enlace y e de decir q si negrita fat en 3.41no hubiese muerto yo tambien seguiria en 3.41 pero la slim esta en 3.55 para jugar online y tenia entendido q el domwgrade solo era factible en fat si mal recuerdo y desde luego lo q trae hermes debajo del brazo es la leche pero sin ninguna duda yo por lo menos tengo una excusa por el cual no e podido quedarme en 3.41 q es lo q yo queria una pa trastear y otra pal online. [ginyo]
Gracias, me viene just perfect ;)
esperemos que alguien lo adapte.....
creo que hermes estaba trabajando en un CFW 3.41, mirad el hilo hilo_alguien-sacara-cfw-3-41_1558899
Cardi escribió:creo que hermes estaba trabajando en un CFW 3.41, mirad el hilo hilo_alguien-sacara-cfw-3-41_1558899


si, lo sabemos, pero queremos que alguien implemente el Payload en el customfirm 3.55
pues bueno he mirado mas en el PL3 que es aplicado en 3.55 e solo son dos funciones. syscall_map_open_desc e hook_open. pero la que recibe los ficheros en formato /dev_bdvd
e los cambia para el camino correcto no funciona bien. se podreia cambiar el codigo de essas dos funciones por el de hermes e a ver que como va ...
Mikel24 escribió:
Cardi escribió:creo que hermes estaba trabajando en un CFW 3.41, mirad el hilo hilo_alguien-sacara-cfw-3-41_1558899


si, lo sabemos, pero queremos que alguien implemente el Payload en el customfirm 3.55


Seria lo mejor que nos prodria pasar
estamos jodidos desde luego yo de verdad q le entiendo pero a la vez nos deja un poco desamparados y a nuestra suerte,de q alguien nos de algo de luz,pero esta claro q hermes de momento no tiene interes en hacer nada,en cosas de otros q tampoco han contado con hermes paras llevarlas a cabo,esto a mi de verdad me cabrea la finalidad de la scene no es compartir sin recibir nada a cambio. pues manos a la obra BENITOOOOOOOOOOO. [carcajad]
el unico que podria adapatarlo seria el mismo hermes .... pero el no quiere hacerlo en 3.55 sus razones tendra... aunque no lo entiendo en lo personal...
no creo que otra persona lo pueda adaptar...
Nuevo mensajepor Hermes 20 Ene 2011 18:41
Yo tengo hecho un CFW para 3.41, pero no se si lo haré publico o no.

Si te puedo decir que funciona perfectamente en mi consola, que es la de 60GB retrocompatible

La mía aplica estos parches:

- Parche en LV1 para hacerlo accesible en 3.41 tambien (fuente flukes1/graf_chokolo)

- Parches en LV2 para peek/poke (los mismos que uso en mi payload antiguo)

- Parche en vsh.self para habilitar la carga de SELF (el mismo que uso en mi payload antiguo)

- Parche en nas_plugin.sprx (el mismo que uso en mi payload antiguo)

- Modificación de category_game.xml para añadir instalación de pkg (fuente KaKaRoTo)



Que lo que consigue es que puedes instalar cualquier pkg (procedente de psl1ght por ejemplo), por que aparece la opcion, pero firmando el EBOOT.BIN con la utilidad de geohot.

De esta forma, puedes hacer todo lo que no podías hacer con el pincho activado, pero puedes instalar una aplicación que carga mi payload v4b (el último que hice yo) para activarlo todo (los selfs sin firmar no van hasta que actives el payload, debido a un problema con los permisos)

Sobre por qué permanecer en 3.41 pues primero, porque no necesito subir y segundo, ya llegará el momento en que las cosas estén mas pulidas y a lo mejor desde una 3.41 se puede hasta emular un firm superior, sin peligro (y como mañana llegue SONY y saque una actualización, pues casi es lo mismo estar en una que en otra, pero no tiene sentido librar guerras casi sin necesidad)
Ser pillo en un país de pillos, donde el que mas dinero y poder tiene, es el que más roba, es un acto de defensa propia.

No resuelvo dudas vía MP que puedan ser tratadas en los hilos correspondientes


Esto me a impactado HERMES sigueVIVO vivo!!!

Bueno esperemos que pase un MILAGro por que en lo general SOMOS 99.999% de Nobs y soquetes que llenan de spam los Hilos, pero hay un .001 de SOBRALIENTES que hacen la diferencia "ANIMO"
playhackeri escribió:estamos jodidos desde luego yo de verdad q le entiendo pero a la vez nos deja un poco desamparados y a nuestra suerte,de q alguien nos de algo de luz,pero esta claro q hermes de momento no tiene interes en hacer nada,en cosas de otros q tampoco han contado con hermes paras llevarlas a cabo,esto a mi de verdad me cabrea la finalidad de la scene no es compartir sin recibir nada a cambio. pues manos a la obra BENITOOOOOOOOOOO. [carcajad]


Estais siendo tremendamente egoistas.

Corregidme si me equivoco:

Vosotros actualizasteis cuando desde el primer dia se advirtio que no actualizaseis, incluyendo al propio Hermes. Lo hicisteis por disfrutar de unas caracteristicas aunque eso significase quedaros sin scene, temporalmente. Y lo hicisteis voluntariamente.

Hermes advirtio que no actualizaseis.

Ahora Hermes esta ocupado con otra cuestion que requiere su atencion, comprobar la fiabilidad de su CFW, y vosotros pretendeis que deje lo que esta haciendo para que os solvente la papeleta que vosotros mismos os habeis buscado, ademas que siempre dijo que no tiene ningun interes en la 3.55, ¿Porque intentais forzarlo a que haga algo que a lo mejor no quiere hacer?

¿No hay mas sceners? ¿Que CFW estais usando?, teneis los sources del Payload de Hermes, pues decidle a quien ha hecho el CFW que os haga el payload.

De verdad, me da tremenda pena ver como dia a dia se trata peor a los sceners de verdad, a los que se sacrifican para que la scene avance, y luego si deciden dejar su investigacion/trabajo encima los criticais y en algunos casos, los insultais...

En fin, no tengo nada mas que añadir.

Un Saludo
Algesat escribió:
playhackeri escribió:estamos jodidos desde luego yo de verdad q le entiendo pero a la vez nos deja un poco desamparados y a nuestra suerte,de q alguien nos de algo de luz,pero esta claro q hermes de momento no tiene interes en hacer nada,en cosas de otros q tampoco han contado con hermes paras llevarlas a cabo,esto a mi de verdad me cabrea la finalidad de la scene no es compartir sin recibir nada a cambio. pues manos a la obra BENITOOOOOOOOOOO. [carcajad]


Estais siendo tremendamente egoistas.

Corregidme si me equivoco:

Vosotros actualizasteis cuando desde el primer dia se advirtio que no actualizaseis, incluyendo al propio Hermes. Lo hicisteis por disfrutar de unas caracteristicas aunque eso significase quedaros sin scene, temporalmente. Y lo hicisteis voluntariamente.

Hermes advirtio que no actualizaseis.

Ahora Hermes esta ocupado con otra cuestion que requiere su atencion, comprobar la fiabilidad de su CFW, y vosotros pretendeis que deje lo que esta haciendo para que os solvente la papeleta que vosotros mismos os habeis buscado, ademas que siempre dijo que no tiene ningun interes en la 3.55, ¿Porque intentais forzarlo a que haga algo que a lo mejor no quiere hacer?

¿No hay mas sceners? ¿Que CFW estais usando?, teneis los sources del Payload de Hermes, pues decidle a quien ha hecho el CFW que os haga el payload.

De verdad, me da tremenda pena ver como dia a dia se trata peor a los sceners de verdad, a los que se sacrifican para que la scene avance, y luego si deciden dejar su investigacion/trabajo encima los criticais y en algunos casos, los insultais...

En fin, no tengo nada mas que añadir.

Un Saludo



1 yo no soy un egohista y ahora te resumo mi caso solo el mio ok ESPERO Q ME ENTIENDAS SOLO A MI.

si negrita fat en 3.41no hubiese muerto yo tambien seguiria en 3.41 pero la slim esta en 3.55 para jugar online y tenia entendido q el domwgrade solo era factible en fat si mal recuerdo y desde luego lo q trae hermes debajo del brazo es la leche pero sin ninguna duda yo por lo menos tengo una excusa por el cual no e podido quedarme en 3.41 q es lo q yo queria una pa trastear y otra pal online. ;)

EDIT:Parece ser que en las PS3 con firmware 3.50 "de fábrica" este método no funcionaría y provocaría un brick.

EDIT2 : se están reportando muchos fallos al intentar downgradear las slim (independientemente de la versión de fábrica) con este método, lo mejor si tenéis una slim es esperar
Siento que muriese tu Fat.

Pero sigo pensando lo mismo, voluntaria o involuntariamente estais intentando que Hermes os solvente la papeleta.

Si Kmeaw (el que hizo el CFW que usas) no tiene ni siquiera planteamiento de usar el payload de Hermes (como parece ser el caso), ¿Porque Hermes deberia ponerse a investigar el FW 3.55 para hacerte el payload?

¿Entiendes la cantidad de trabajo que estais intentando darle?

Ademas, el post en un principio iba sobre que vosotros ibais a intentar hacerlo, y 4 paginas mas adelante solo veo mensajes tipo:

"Esto solo puede hacerlo Hermes"
"A ver si Hermes le echa un ojo"

Hermes ya advirtio hace mucho que no tenia intencion de tocar nada en 3.55, por lo menos podriais respetar eso.

Entended que Hermes tiene sus propias prioridades, intentar cambiarlas para beneficio propio, es egoismo, aqui y en Pekin.
Quieras o no quieras admitirlo.

Un Saludo
Algesat escribió:Siento que muriese tu Fat.

Pero sigo pensando lo mismo, voluntaria o involuntariamente estais intentando que Hermes os solvente la papeleta.

Si Kmeaw (el que hizo el CFW que usas) no tiene ni siquiera planteamiento de usar el payload de Hermes (como parece ser el caso), ¿Porque Hermes deberia ponerse a investigar el FW 3.55 para hacerte el payload?

¿Entiendes la cantidad de trabajo que estais intentando darle?

Ademas, el post en un principio iba sobre que vosotros ibais a intentar hacerlo, y 4 paginas mas adelante solo veo mensajes tipo:

"Esto solo puede hacerlo Hermes"
"A ver si Hermes le echa un ojo"

Hermes ya advirtio hace mucho que no tenia intencion de tocar nada en 3.55, por lo menos podriais respetar eso.

Entended que Hermes tiene sus propias prioridades, intentar cambiarlas para beneficio propio, es egoismo, aqui y en Pekin.
Quieras o no quieras admitirlo.

Un Saludo


razon no te quito y como e dicho, forzado estoy aqui en este cfw kmeaw q no me gusta nada sin poder domwgradear a 3.41v2 si es por el online me pillo otra ps3, no me importa ya q antes tenia 2 , yo se de sobra lo q a dicho hermes y sabia q no moveria ni un dedo por 3.55, tampoco e pedido q nos haga el trabajo, pero q por lo menos explique como lo implanto, como yo si e dicho un empujoncito nada mas y como tambien e dicho entiendo la postura de hermes a la perfeccion. :-|
bueno creo que hermes no debe decir nada mas ya que el codigo fuente de su payload esta publicado... otra cosa es que otros sceners llamese GEO o KAKAROTO no quieran adaptarlo...

como se a dicho el payload de hermes tendria que hacerse muchisimas modificaciones para que fuera en 3.55 cosa que con el kakaroto no...
yo creo que ese es el problema.....
creo haber leído una vez que alguien le preguntó a Kmeaw en el IRC, por qué no implantaba el payload de hermes?, y kmeaw respondió que no habían los sources de hermes a diferencia del PL3 q si los hay.

...Claro que aqui sabes q si existen los sources de hermes, pero al parecer Kmeaw no sabia eso :D
Hermes saco ya su cfe, ademas de un payload .pkg....¿No sirve este payload para la 3,55?
no, ese payload solo sirve para la 3.41 los offsets para 3.55 son diferentes y tendria que rehacer el payload para que funcionase en esa version y sony cada vez que actualice los cambiaría con lo cual seria estar modifica y modifica y eso es lo que el no quiere hacer.
emulation escribió:no, ese payload solo sirve para la 3.41 los offsets para 3.55 son diferentes y tendria que rehacer el payload para que funcionase en esa version y sony cada vez que actualice los cambiaría con lo cual seria estar modifica y modifica y eso es lo que el no quiere hacer.

correcto el dice que es absurdo estar siguiéndole el juego a sony (o algo así le entendí) y tiene mucho sentido... aunque desde mi punto de vista deberían concentrarse todos en 3.55 ya que es un firm que soportan todas las consolas actualmente... y no solo, prácticamente en las FAT (lo digo porque mi ps3 es una SLIM que venia en 3.50 de fabrica y pues obviamente no es downgradeable)

pero ese es solo mi punto de vista, cada quien tiene uno propio y pues los sceners que son los que verdaderamente saben son totalmente libres de elegir..... por el momento nos toca quedarnos con un CFW que se traba cada rato y nos corrompe los saves pero aun así les doy gracias por lo que han hecho =3

la scene esta muy nueva y pues.. hay que dejarla madurar no? .. ya saldrá algo, desesperarnos solo nos hará mal O=
Primer paso dado por el gran maestro Hermes... Gracias
Haber si lo conseguís, mi ps3 slim CECH2504A de 160gb vino con la 3.42 y ayer actualice a la 3.55 y le metí el cfw de kmeaw, debería haber esperado más...
La verdad que si hermes compartiera el código de su pkg ayudaría un montón. Aunque cambien los lugares la base es la misma, si lográis que simplemente comparta su código ya casi estaría hecho.

Necesitamos habilitar los paths, el PL3 se usa open_hook y en mi intento de hermes...
/*
* payload_inplace.S -- PS3 Jailbreak payload : payload for in-memory LV2 patching
*
* Copyright (C) Youness Alaoui (KaKaRoTo)
* Copyright (C) Aaron Lindsay (Aaron')
* Copyright (C) (subdub)
* Copyright (C) kmeaw
*
* This software is distributed under the terms of the GNU General Public
* License ("GPL") version 3, as published by the Free Software Foundation.
*
* This payload is a modified version of the original PSJailbreak's payload.
* The people behing PSJailbrak are the original authors and copyright holders
* of the code they wrote.
*/

#define __PL3_INPLACE_LV2_PATCH__
#define FIRMWARE_3_55
#include "pl3.h.S"

.org 0
RESIDENT_AREA_START()
#include "hermes_4b.h.S"
.org 0x5ac
.long 0x4bfffc9c
.long 0xf821ff81
vsh_hook_open:
    /*
    // skipped by new jump

    stdu    %sp, -0xA0(%sp)
    mflr    %r0
    std     %r28, 0x80(%sp)
    std     %r29, 0x88(%sp)
    std     %r31, 0x98(%sp)
    std     %r26, 0x70(%sp)
    std     %r27, 0x78(%sp)
    std     %r0, 0xB0(%sp)
    mr      %r28, %r4
    mr      %r29, %r3
    */


    MEM_BASE(%r31)

    LOAD_LABEL2(%r27, %r31, str_open_cmp)
    ld    %r26, 0(%r27)
    cmpldi    %r26, 0
    beq    hook_open1

_b_hook_open00:

    mr      %r3, %r29
    ld    %r4, 0(%r26)  // get compare path
    cmpldi    %r4, 0
    beq    hook_open1
   
    lwz    %r5, 16(%r26) // get len of compare path
    bl      ABSOLUTE_MEM2(strncmp)

   
    cmpldi    %r3, 0
    bne    _b_hook_open01

    lwz    %r5, 16(%r26)
    add    %r4, %r29, %r5 // &open_path[compare_path_len]

    ld    %r3, 8(%r26) // get new path
    mr      %r29, %r3    // changes open_path
    lwz    %r5, 20(%r26) // get len of new path

    add    %r3, %r3, %r5

    bl    ABSOLUTE_MEM2(strcpy)
    b    proceed

_b_hook_open01:

    addi    %r26, %r26, 24
    b    _b_hook_open00
       
hook_open1:
    LOAD_LABEL2(%r4, %r31, strAppHome)
    li    %r5, 9
    bl    ABSOLUTE_MEM2(strncmp)
    cmpldi    %r3, 0
    bne    hook_open_bdvd

    LOAD_LABEL2(%r26, %r31, GAME_NAME_PTR2)
    ld    %r27, 0x00(%r26)
    cmpldi    %r27, 0
    bne    vsh_open_noalloc
    li    %r4, 0x27
    li    %r3, 0x800
    bl    ABSOLUTE_MEM2(alloc)
    std    %r3, 0x00(%r26);
    mr    %r27, %r3
   
    LOAD_LABEL2(%r4, %r31, strDevUSB)
    bl    ABSOLUTE_MEM2(strcpy)

/*******************************************************************/   

vsh_open_noalloc:

    addi    %r3, %r27, 11
    LOAD_LABEL2(%r5, %r31, GAME_NAME_PTR)
    ld      %r4, 0(%r5)
    cmpldi  %r4, 0
    beq     skip_usb1

    mr    %r27, %r4
    ld      %r3, 8(%r5)

skip_usb1:   

    addi    %r4, %r29, 9
    bl    ABSOLUTE_MEM2(strcpy)
    mr    %r29, %r27
    beq     proceed

hook_open_bdvd:       

    mr      %r3, %r29
    mr      %r4, %r31
    LOADI_LABEL2(%r4, aDev_bdvd);
    li      %r5, 9
    bl      ABSOLUTE_MEM2(strncmp)
    cmpldi  %r3, 0
    bne     proceed


    LOADI_LABEL2(%r31, GAME_NAME_PTR)

#ifdef USB_MODULE
    lwz     %r3, 0x10(%r31)
    cmplwi  %r3, 0
    beq     proceed
#endif
    ld      %r3, 0(%r31)
    cmpldi  %r3, 0
    beq     proceed
    ld      %r3, 8(%r31)
    addi    %r4, %r29, 9
    bl      ABSOLUTE_MEM2(strcpy)
    ld      %r29, 0(%r31)

   
proceed:

    mr      %r4, %r28
    mr      %r3, %r29
    bl      ABSOLUTE_MEM2(strlen)
    b       ABSOLUTE_MEM2(hook_open_out)


Tengo bastante portado y compila, pero falta mover las rutas y ubicar bien las llamadas, lo dejo tal y como lo tengo por si alguien puede seguir el fin de semana, que yo me voy con la family XD

Un Saludo!
Hermes ha dicho que iba a publicar todo el codigo fuente tarde o temprano
Si no me equivoco ya lo ha compartido no?Esta en el primer post de su hilo la version nueva de su payload con las fuentes para descargar
dantegtr escribió:Si no me equivoco ya lo ha compartido no?Esta en el primer post de su hilo la version nueva de su payload con las fuentes para descargar

es verdad,aqui esta la descarga:http://mods.elotrolado.net/~hermes/ps3/ps3dev/payloadhv4.zip

ahora solo queda portarlo a 3.55
Si alguien lo hace entonces ya sera el cfw definitivo,online,backups y payload hermes.Ayyyyyyy omá que rico!!
D_Skywalk contamos contigo.. se te ve que eres un maquina ;)
juanchuloperron escribió:
dantegtr escribió:Si no me equivoco ya lo ha compartido no?Esta en el primer post de su hilo la version nueva de su payload con las fuentes para descargar

es verdad,aqui esta la descarga:http://mods.elotrolado.net/~hermes/ps3/ps3dev/payloadhv4.zip

ahora solo queda portarlo a 3.55


Portalo con garantia, no debe ser facil.

Hermes escribió:
alex_murcia escribió:Yo tengo una pregunta, ¿¿este payload funciona en el firmware de Kmeaw??
Porque al fin y al cabo funciona igual en cuanto a que parchea en ram y hay que ejecutar un pkg cada vez que queramos nuestro homebrew, pero aquel creo que permite conexion a PSNetwork por ser 3.55 y este no, ¿me equivoco?


No y debería ser evidente: los anclajes que usa son direcciones de memoria distintos, aparte de que la 3.55 requiere desactivar una protección extra para poder hacer "poke" en posiciones diferentes.

A la pregunta de si lo portaré a otras versiones que se hacen algunos, la respuesta es no: Waninkoko se que está trabajando en la version 3.55 y tiene el método que yo estoy utilizando, con lo cual, lo mas probable es que yo no vuelva a sacar nada más que lo que haga para la version 3.41

Además, yo prefiero no estar en una versión con Online, como digo en el readme y eso lo voy a mantener (lo que hagan los demás, no es asunto suyo, pero si el método que utilizo contribuye a aumentar las tasas de éxito en futuras versiones, creo que ya he hecho bastante. Y si otros cuando no quede mas remedio que "emigrar" han abierto el camino de otra versión y necesitan una mano, entonces quizá pueda aportar algo)

Saludos
LASART está baneado por "clon de baneado y además sigues saltándote las normas"
que alguien que sepa ingles lo ponga la descarga del source en psx-scene allí seguro que lo portan
é averiguado mas afondo el PL3 que viene lv2patcher. Solo aporta dos funciones de el PL3 (aplicar el PL3.patch que viene com el Lv2patcher al PL3 en github): syscall_map_open_start, con unas pequenhas alteraciones, e hook_open. Despues de compilado és 1.4 Kb, el payload v4 de hermes és de 4Kb.
Me é leido el codigo del PL3 e me parece bien.

Pero hai problemas de permissos de ficheros, yo no se porque, talvez Hermes poderia aclarar este problema mejor.

Para aportar el Payload de Hermes se tiene in my opinion de convertir el siguiente

# ---------------------------------------------------------------------------
# 00050CA8

Syscall_36_activate_virtual_bluray_drive:

   stdu    %sp, -0xD0(%sp)
   mflr    %r0
   std     %r0, 0xE0(%sp)
   std     %r31, 0xC8(%sp)
   addi    %r4, %sp, 0x70
   bl      ABS(strdup)
   MEM_BASE(%r31)
   
// new for enable skip_end_table_3
   li   %r4, 2
   LOAD_LABEL(%r3, %r31, skip_end_table_3)
   stw   %r4, 0(%r3)
   
   LOADI_LABEL(%r31, GAME_NAME_PTR)
   ld      %r3, 0(%r31)
   cmpdi   %r3, 0
   beq     loc_50CE4
   li      %r4, 0x27
   bl      ABS(free)

loc_50CE4:
   li      %r4, 0x27
   li      %r3, 0x800
   bl      ABS(alloc)
   std     %r3, 0(%r31)
   ld      %r4, 0x70(%sp)
   bl      ABS(strcpy)
   ld      %r3, 0x70(%sp)
   li      %r4, 0x27
   bl      ABS(free)
   ld      %r3, 0(%r31)
   bl      ABS(strlen)
   ld      %r4, 0(%r31)
   add     %r3, %r4, %r3
   std     %r3, 8(%r31)
   li      %r3, 0
   ld      %r31, 0xC8(%sp)
   ld      %r0, 0xE0(%sp)
   addi    %sp, %sp, 0xD0
   mtlr    %r0
   blr

# ---------------------------------------------------------------------------
# 00050D34

vsh_hook_open:
   /*
   // skipped by new jump

   stdu    %sp, -0xA0(%sp)
   mflr    %r0
   std     %r28, 0x80(%sp)
   std     %r29, 0x88(%sp)
   std     %r31, 0x98(%sp)
   std     %r26, 0x70(%sp)
   std     %r27, 0x78(%sp)
   std     %r0, 0xB0(%sp)
   mr      %r28, %r4
   mr      %r29, %r3
   */


   MEM_BASE(%r31)

   LOAD_LABEL(%r27, %r31, str_open_cmp)
   ld   %r26, 0(%r27)
   cmpldi   %r26, 0
   beq   hook_open1

_b_hook_open00:

   mr      %r3, %r29
   ld   %r4, 0(%r26)  // get compare path
   cmpldi   %r4, 0
   beq   hook_open1
   
   lwz   %r5, 16(%r26) // get len of compare path
   bl      ABS(strncmp)

   
   cmpldi   %r3, 0
   bne   _b_hook_open01

   lwz   %r5, 16(%r26)
   add   %r4, %r29, %r5 // &open_path[compare_path_len]

   ld   %r3, 8(%r26) // get new path
   mr      %r29, %r3    // changes open_path
   lwz   %r5, 20(%r26) // get len of new path

   add   %r3, %r3, %r5

   bl   ABS(strcpy)
   b   proceed

_b_hook_open01:

   addi   %r26, %r26, 24
   b   _b_hook_open00
      
hook_open1:
   LOAD_LABEL(%r4, %r31, strAppHome)
   li   %r5, 9
   bl   ABS(strncmp)
   cmpldi   %r3, 0
   bne   hook_open_bdvd

   LOAD_LABEL(%r26, %r31, GAME_NAME_PTR2)
   ld   %r27, 0x00(%r26)
   cmpldi   %r27, 0
   bne   vsh_open_noalloc
   li   %r4, 0x27
   li   %r3, 0x800
   bl   ABS(alloc)
   std   %r3, 0x00(%r26);
   mr   %r27, %r3
   
   LOAD_LABEL(%r4, %r31, strDevUSB)
   bl      ABS(strcpy)

/*******************************************************************/   

vsh_open_noalloc:

   addi   %r3, %r27, 11
   LOAD_LABEL(%r5, %r31, GAME_NAME_PTR)
   ld      %r4, 0(%r5)
   cmpldi  %r4, 0
   beq     skip_usb1

   mr   %r27, %r4
   ld      %r3, 8(%r5)

skip_usb1:   

   addi   %r4, %r29, 9
   bl   ABS(strcpy)
   mr   %r29, %r27
   beq     proceed

hook_open_bdvd:      

   mr      %r3, %r29
   mr      %r4, %r31
   LOADI_LABEL(%r4, aDev_bdvd);
   li      %r5, 9
   bl      ABS(strncmp)
   cmpldi  %r3, 0
   bne     proceed


   LOADI_LABEL(%r31, GAME_NAME_PTR)

#ifdef USB_MODULE
   lwz     %r3, 0x10(%r31)
   cmplwi  %r3, 0
   beq     proceed
#endif
   ld      %r3, 0(%r31)
   cmpldi  %r3, 0
   beq     proceed
   ld      %r3, 8(%r31)
   addi    %r4, %r29, 9
   bl      ABS(strcpy)
   ld      %r29, 0(%r31)

   
proceed:

   mr      %r4, %r28
        mr      %r3, %r29
   bl   ABS(strlen)
        b       ABS(hook_open_out)


Se tiene que aportar tambien las LABELS que se utilizem en el codigo, e actualizar los offsets de las funciones del kernel a los do fw 3.55 ( disponibles en PL3.patch). despues es necessario compilar e enviar a la memoria e carregar los offsets en la PS3.
(mensaje borrado)
tuttifrutas escribió:é averiguado mas afondo el PL3 que viene lv2patcher. Solo aporta dos funciones de el PL3 (aplicar el PL3.patch que viene com el Lv2patcher al PL3 en github): syscall_map_open_start, con unas pequenhas alteraciones, e hook_open. Despues de compilado és 1.4 Kb, el payload v4 de hermes és de 4Kb.
Me é leido el codigo del PL3 e me parece bien.

Pero hai problemas de permissos de ficheros, yo no se porque, talvez Hermes poderia aclarar este problema mejor.

Para aportar el Payload de Hermes se tiene in my opinion de convertir el siguiente

# ---------------------------------------------------------------------------
# 00050CA8

Syscall_36_activate_virtual_bluray_drive:

   stdu    %sp, -0xD0(%sp)
   mflr    %r0
   std     %r0, 0xE0(%sp)
   std     %r31, 0xC8(%sp)
   addi    %r4, %sp, 0x70
   bl      ABS(strdup)
   MEM_BASE(%r31)
   
// new for enable skip_end_table_3
   li   %r4, 2
   LOAD_LABEL(%r3, %r31, skip_end_table_3)
   stw   %r4, 0(%r3)
   
   LOADI_LABEL(%r31, GAME_NAME_PTR)
   ld      %r3, 0(%r31)
   cmpdi   %r3, 0
   beq     loc_50CE4
   li      %r4, 0x27
   bl      ABS(free)

loc_50CE4:
   li      %r4, 0x27
   li      %r3, 0x800
   bl      ABS(alloc)
   std     %r3, 0(%r31)
   ld      %r4, 0x70(%sp)
   bl      ABS(strcpy)
   ld      %r3, 0x70(%sp)
   li      %r4, 0x27
   bl      ABS(free)
   ld      %r3, 0(%r31)
   bl      ABS(strlen)
   ld      %r4, 0(%r31)
   add     %r3, %r4, %r3
   std     %r3, 8(%r31)
   li      %r3, 0
   ld      %r31, 0xC8(%sp)
   ld      %r0, 0xE0(%sp)
   addi    %sp, %sp, 0xD0
   mtlr    %r0
   blr

# ---------------------------------------------------------------------------
# 00050D34

vsh_hook_open:
   /*
   // skipped by new jump

   stdu    %sp, -0xA0(%sp)
   mflr    %r0
   std     %r28, 0x80(%sp)
   std     %r29, 0x88(%sp)
   std     %r31, 0x98(%sp)
   std     %r26, 0x70(%sp)
   std     %r27, 0x78(%sp)
   std     %r0, 0xB0(%sp)
   mr      %r28, %r4
   mr      %r29, %r3
   */


   MEM_BASE(%r31)

   LOAD_LABEL(%r27, %r31, str_open_cmp)
   ld   %r26, 0(%r27)
   cmpldi   %r26, 0
   beq   hook_open1

_b_hook_open00:

   mr      %r3, %r29
   ld   %r4, 0(%r26)  // get compare path
   cmpldi   %r4, 0
   beq   hook_open1
   
   lwz   %r5, 16(%r26) // get len of compare path
   bl      ABS(strncmp)

   
   cmpldi   %r3, 0
   bne   _b_hook_open01

   lwz   %r5, 16(%r26)
   add   %r4, %r29, %r5 // &open_path[compare_path_len]

   ld   %r3, 8(%r26) // get new path
   mr      %r29, %r3    // changes open_path
   lwz   %r5, 20(%r26) // get len of new path

   add   %r3, %r3, %r5

   bl   ABS(strcpy)
   b   proceed

_b_hook_open01:

   addi   %r26, %r26, 24
   b   _b_hook_open00
      
hook_open1:
   LOAD_LABEL(%r4, %r31, strAppHome)
   li   %r5, 9
   bl   ABS(strncmp)
   cmpldi   %r3, 0
   bne   hook_open_bdvd

   LOAD_LABEL(%r26, %r31, GAME_NAME_PTR2)
   ld   %r27, 0x00(%r26)
   cmpldi   %r27, 0
   bne   vsh_open_noalloc
   li   %r4, 0x27
   li   %r3, 0x800
   bl   ABS(alloc)
   std   %r3, 0x00(%r26);
   mr   %r27, %r3
   
   LOAD_LABEL(%r4, %r31, strDevUSB)
   bl      ABS(strcpy)

/*******************************************************************/   

vsh_open_noalloc:

   addi   %r3, %r27, 11
   LOAD_LABEL(%r5, %r31, GAME_NAME_PTR)
   ld      %r4, 0(%r5)
   cmpldi  %r4, 0
   beq     skip_usb1

   mr   %r27, %r4
   ld      %r3, 8(%r5)

skip_usb1:   

   addi   %r4, %r29, 9
   bl   ABS(strcpy)
   mr   %r29, %r27
   beq     proceed

hook_open_bdvd:      

   mr      %r3, %r29
   mr      %r4, %r31
   LOADI_LABEL(%r4, aDev_bdvd);
   li      %r5, 9
   bl      ABS(strncmp)
   cmpldi  %r3, 0
   bne     proceed


   LOADI_LABEL(%r31, GAME_NAME_PTR)

#ifdef USB_MODULE
   lwz     %r3, 0x10(%r31)
   cmplwi  %r3, 0
   beq     proceed
#endif
   ld      %r3, 0(%r31)
   cmpldi  %r3, 0
   beq     proceed
   ld      %r3, 8(%r31)
   addi    %r4, %r29, 9
   bl      ABS(strcpy)
   ld      %r29, 0(%r31)

   
proceed:

   mr      %r4, %r28
        mr      %r3, %r29
   bl   ABS(strlen)
        b       ABS(hook_open_out)


Se tiene que aportar tambien las LABELS que se utilizem en el codigo, e actualizar los offsets de las funciones del kernel a los do fw 3.55 ( disponibles en PL3.patch). despues es necessario compilar e enviar a la memoria e carregar los offsets en la PS3.


No es por insultarte ni nada,pero donde te han enseñado a escrbir?
o no eres español?

necessario?carregar?permissos?hai?és?

Las faltas que cometes son muy graves.
Si te dás cuenta,no es español.

Está escribiendo entre español y ( creo ) portugués.

Que finos nos hemos vuelto todos de repente.
tuttifrutas escribió:portugués :p


uff,menos mal.

pues entonces no escribes nada mal para ser portugues.

No me podia creer que alguien que un español escribiese asi,aunque viendo el fracaso escolar como ha crecido,no me extrañaria nada.

Perdon por el off-topic XD XD
tuttifrutas escribió:é averiguado mas afondo el PL3 que viene lv2patcher. Solo aporta dos funciones de el PL3 (aplicar el PL3.patch que viene com el Lv2patcher al PL3 en github): syscall_map_open_start, con unas pequenhas alteraciones, e hook_open. Despues de compilado és 1.4 Kb, el payload v4 de hermes és de 4Kb.
Me é leido el codigo del PL3 e me parece bien.

Pero hai problemas de permissos de ficheros, yo no se porque, talvez Hermes poderia aclarar este problema mejor.

Para aportar el Payload de Hermes se tiene in my opinion de convertir el siguiente

# ---------------------------------------------------------------------------
# 00050CA8

Syscall_36_activate_virtual_bluray_drive:

   stdu    %sp, -0xD0(%sp)
   mflr    %r0
   std     %r0, 0xE0(%sp)
   std     %r31, 0xC8(%sp)
   addi    %r4, %sp, 0x70
   bl      ABS(strdup)
   MEM_BASE(%r31)
   
// new for enable skip_end_table_3
   li   %r4, 2
   LOAD_LABEL(%r3, %r31, skip_end_table_3)
   stw   %r4, 0(%r3)
   
   LOADI_LABEL(%r31, GAME_NAME_PTR)
   ld      %r3, 0(%r31)
   cmpdi   %r3, 0
   beq     loc_50CE4
   li      %r4, 0x27
   bl      ABS(free)

loc_50CE4:
   li      %r4, 0x27
   li      %r3, 0x800
   bl      ABS(alloc)
   std     %r3, 0(%r31)
   ld      %r4, 0x70(%sp)
   bl      ABS(strcpy)
   ld      %r3, 0x70(%sp)
   li      %r4, 0x27
   bl      ABS(free)
   ld      %r3, 0(%r31)
   bl      ABS(strlen)
   ld      %r4, 0(%r31)
   add     %r3, %r4, %r3
   std     %r3, 8(%r31)
   li      %r3, 0
   ld      %r31, 0xC8(%sp)
   ld      %r0, 0xE0(%sp)
   addi    %sp, %sp, 0xD0
   mtlr    %r0
   blr

# ---------------------------------------------------------------------------
# 00050D34

vsh_hook_open:
   /*
   // skipped by new jump

   stdu    %sp, -0xA0(%sp)
   mflr    %r0
   std     %r28, 0x80(%sp)
   std     %r29, 0x88(%sp)
   std     %r31, 0x98(%sp)
   std     %r26, 0x70(%sp)
   std     %r27, 0x78(%sp)
   std     %r0, 0xB0(%sp)
   mr      %r28, %r4
   mr      %r29, %r3
   */


   MEM_BASE(%r31)

   LOAD_LABEL(%r27, %r31, str_open_cmp)
   ld   %r26, 0(%r27)
   cmpldi   %r26, 0
   beq   hook_open1

_b_hook_open00:

   mr      %r3, %r29
   ld   %r4, 0(%r26)  // get compare path
   cmpldi   %r4, 0
   beq   hook_open1
   
   lwz   %r5, 16(%r26) // get len of compare path
   bl      ABS(strncmp)

   
   cmpldi   %r3, 0
   bne   _b_hook_open01

   lwz   %r5, 16(%r26)
   add   %r4, %r29, %r5 // &open_path[compare_path_len]

   ld   %r3, 8(%r26) // get new path
   mr      %r29, %r3    // changes open_path
   lwz   %r5, 20(%r26) // get len of new path

   add   %r3, %r3, %r5

   bl   ABS(strcpy)
   b   proceed

_b_hook_open01:

   addi   %r26, %r26, 24
   b   _b_hook_open00
      
hook_open1:
   LOAD_LABEL(%r4, %r31, strAppHome)
   li   %r5, 9
   bl   ABS(strncmp)
   cmpldi   %r3, 0
   bne   hook_open_bdvd

   LOAD_LABEL(%r26, %r31, GAME_NAME_PTR2)
   ld   %r27, 0x00(%r26)
   cmpldi   %r27, 0
   bne   vsh_open_noalloc
   li   %r4, 0x27
   li   %r3, 0x800
   bl   ABS(alloc)
   std   %r3, 0x00(%r26);
   mr   %r27, %r3
   
   LOAD_LABEL(%r4, %r31, strDevUSB)
   bl      ABS(strcpy)

/*******************************************************************/   

vsh_open_noalloc:

   addi   %r3, %r27, 11
   LOAD_LABEL(%r5, %r31, GAME_NAME_PTR)
   ld      %r4, 0(%r5)
   cmpldi  %r4, 0
   beq     skip_usb1

   mr   %r27, %r4
   ld      %r3, 8(%r5)

skip_usb1:   

   addi   %r4, %r29, 9
   bl   ABS(strcpy)
   mr   %r29, %r27
   beq     proceed

hook_open_bdvd:      

   mr      %r3, %r29
   mr      %r4, %r31
   LOADI_LABEL(%r4, aDev_bdvd);
   li      %r5, 9
   bl      ABS(strncmp)
   cmpldi  %r3, 0
   bne     proceed


   LOADI_LABEL(%r31, GAME_NAME_PTR)

#ifdef USB_MODULE
   lwz     %r3, 0x10(%r31)
   cmplwi  %r3, 0
   beq     proceed
#endif
   ld      %r3, 0(%r31)
   cmpldi  %r3, 0
   beq     proceed
   ld      %r3, 8(%r31)
   addi    %r4, %r29, 9
   bl      ABS(strcpy)
   ld      %r29, 0(%r31)

   
proceed:

   mr      %r4, %r28
        mr      %r3, %r29
   bl   ABS(strlen)
        b       ABS(hook_open_out)


Se tiene que aportar tambien las LABELS que se utilizem en el codigo, e actualizar los offsets de las funciones del kernel a los do fw 3.55 ( disponibles en PL3.patch). despues es necessario compilar e enviar a la memoria e carregar los offsets en la PS3.


Y al final conseguiste algo o no??? XD
Es que no me entere mucho...
Salu2
lo voy a tentar mañana, no tengo la ps3 aqui. con el codigo de hermes e de el lv2 patcher deve ser possible. es una question de reenplaçar los offsets referentes a 3.41 por los offsets del 3.55.
tuttifrutas escribió:lo voy a tentar mañana, no tengo la ps3 aqui. con el codigo de hermes e de el lv2 patcher deve ser possible. es una question de reenplaçar el offsets referentes de 3.41 po los offsets del 3.55.

animo y a ver si lo consigues y haces felices a mucha gente que tienen cuelges con el parche actual,saludos.
tuttifrutas escribió:lo voy a tentar mañana, no tengo la ps3 aqui. con el codigo de hermes e de el lv2 patcher deve ser possible. es una question de reenplaçar los offsets referentes a 3.41 por los offsets del 3.55.


Ánimo y suerte!!!

Gracias! :)
tuttifrutas gracias y buena suerte ;)
tuttifrutas escribió:lo voy a tentar mañana, no tengo la ps3 aqui. con el codigo de hermes e de el lv2 patcher deve ser possible. es una question de reenplaçar los offsets referentes a 3.41 por los offsets del 3.55.


animo y muchas gracias por tu esfuerzo =3

lastima que no te pueda ayudar xD.. de programación no se nada.... soy diseñador gráfico así que si necesitas algo en ese campo me avisas y estoy mas que dispuesto =3
que es lo ke va acer mañana o intentar ?
Con los sources de Hermes del 4b publicados, no creo que sea tan complicado ya. Ánimo!!
LASART está baneado por "clon de baneado y además sigues saltándote las normas"
Hermes por favor te suplicamos que nos ayudes,ojala nos leas y nos heches una mano esto para tí está chupado

pd:para subir el hilo
Pues recuerda portear el 4C (recién salido) ya que parece más estable
Animo Tio aver si esto marcha y conseguimos en 3.55 lo que ellos tienen en 3.41 jeje animo!!!!
123 respuestas
1, 2, 3