Estadísticas
Miembros:
364.514
Online:
1.475
Hilos:
1.473.296
Mensajes:
27.988.825
Stats

Índice de foros PlayStation 3 Scene

[3.55] Iris Manager v1.2

Linux, software casero y los diferentes hacks no relacionados con backups

Moderadores: Ferdopa, jamonazo2000, Namco69

chuyo31
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 674
Registrado: 14 Abr 2008
Ubicación: OVD [Oviedo]

Mensajepor chuyo31 09 Mar 2011 22:54

dark_on_5 escribió:ARREGLADO! Imagen

El HManager ya cuenta con sistema de caratulas. Voy a pulirlo y subo el source y si puedo el PKG.


hey yo meapunto a tu mod con la cover, pero pregunta son el 3D o normales, bueno me valen cualquiera de las maneras. cuando lo tengas en .pkg subejo o comparte por MP. un saludo.

"D_Skywalk" y "dark_on_5", como no os poneis de acuerdo y trabajais juntos, nose igual sale un cargador mejor, y podeis implementar las syncall8 en 3.55 que hace falta para seguirle los pasos a Hermes con el HManager 1.4

un saludo

dark_on_5
Avatar de usuario
So much ʸᵃʸ
 
Mensajes: 1137
Registrado: 23 Ago 2010
Ubicación: Afueras Bilbao VIP: Si

Mensajepor dark_on_5 09 Mar 2011 23:18

Atención, dark_on_5 está baneado de toda la web, de modo que no podrá responder. Motivo del ban: saltarse baneo temporal con clon.
chuyo31 escribió:
dark_on_5 escribió:ARREGLADO! Imagen

El HManager ya cuenta con sistema de caratulas. Voy a pulirlo y subo el source y si puedo el PKG.


hey yo meapunto a tu mod con la cover, pero pregunta son el 3D o normales, bueno me valen cualquiera de las maneras. cuando lo tengas en .pkg subejo o comparte por MP. un saludo.

"D_Skywalk" y "dark_on_5", como no os poneis de acuerdo y trabajais juntos, nose igual sale un cargador mejor, y podeis implementar las syncall8 en 3.55 que hace falta para seguirle los pasos a Hermes con el HManager 1.4

un saludo


Yo intento seguirle el ritmo mientras el implemento cosas.Ahora me toca actualizar el Tiny3D y añadir lo nuevo que haya puesto él.

D_Skywalk, si me dices los cambios que has hecho (en que linea y tal) me ahorrarías mucho tiempo actualizando mi versión.

Saludos!

PD: Las caratulas son en 2D.

Borgir
Habitual
 
Mensajes: 52
Registrado: 25 Jun 2008

Mensajepor Borgir 10 Mar 2011 01:58

alguna imagen de como se ve en la tele la version con cover?

dark_on_5
Avatar de usuario
So much ʸᵃʸ
 
Mensajes: 1137
Registrado: 23 Ago 2010
Ubicación: Afueras Bilbao VIP: Si

Mensajepor dark_on_5 10 Mar 2011 02:05

Atención, dark_on_5 está baneado de toda la web, de modo que no podrá responder. Motivo del ban: saltarse baneo temporal con clon.
Borgir escribió:alguna imagen de como se ve en la tele la version con cover?

Mi version ademas de tener cover esta mas "currada." Fondo negro, nueva font y proximas mejoras.

Las covers POR AHORA se ven donde antes estaban los iconos de los juegos, en TVs grandes se ve bastante bien. Pronto lo liberare.

WEET
Habitual
 
Mensajes: 87
Registrado: 08 Mar 2011

Mensajepor WEET 10 Mar 2011 03:47

Eres un makina D_Skywalk muchas gracias por tu trabajo

D_Skywalk
Avatar de usuario
Adicto
 
Mensajes: 470
Registrado: 23 Abr 2006
Ubicación: Granada

Mensajepor D_Skywalk 10 Mar 2011 06:09

Hermes escribió:
D_Skywalk escribió:Hermes tengo ya casi terminada la syscall8 en 3.55 pero no se como instalarla :/

Supongo que debo parchear la memoria, pero no encuentro nada que me permita crear una nueva syscall, si me puedes guiar un poco te lo agradecería :)

Un Saludo!


Yo lo hago parcheando un salto relativo hacia la rutina de la syscall:

En 3.41 queda así

PATCH_BRANCH(0x17CD4, b, (BASE+(syscall8-destination_code))) // syscall 8

y como referencia, aquí tienes peek (syscall 6) y poke (syscall 7)

PATCH_INST(0x17CBC, ld %r3, 0(%r3)) // syscall 6
PATCH_INST(0x17CC0, blr)
PATCH_INST(0x17CC8, std %r4, 0(%r3)) // syscall 7
PATCH_INST(0x17CCC, blr)

Esto está en un punto que se hace una única vez DENTRO del payload (si no, va a ser dificil que averigues donde saltar XD) y en tu caso, el problema es que peek y poke ya los debes de tener...

Como yo no tengo el código fuente del payload que estás usando, y no tengo dump de lv2 3.55, no puedo orientarte mejor (además, la dirección de syscall 8 no está alineada a 8, con lo que cuesta instalarla con un "poke" incluso si supieras el punto de salto y trataras de hacerlo con un registro (por ejemplo, yo instalo en syscall 9 un salto con registro usando r3, para activar el payload v4). Precisamente usé la 9 porque para activar, se puede hacer con poke, sin interferir a otra syscall, jeje, aunque parte del bucle raro que hago, se debe a que la caché de instrucciones toca los eggs)


Gracias Hermes por la explicación (copiada de su hilo de 3.41), aunque creo que estoy en un camino sin salida, tengo varios problemas que no se resolver, ante todo por mi desconocimiento de la arquitectura y supongo que por no tener las herramientas necesarias :/

UPDATE - Esta parte está más o menos comprendida, asi que la dejo como cita :)
Tu Payload:
Código: Seleccionar todo
# generic tool main syscall
syscall8:
   mflr    %r0
   stdu    %sp, -0xA0(%sp)
   std     %r27, 0x78(%sp)
   std     %r28, 0x80(%sp)
...

Esta parte del código es la que instala la syscall8 si consiguiera que se leyera esa posición de memoria la sys8 estaría instalada, ¿es correcto?

Suponiendo que fuera así he visto que para poner syscall36 instalan un memcpy usando estas llamadas:
Código: Seleccionar todo
#define memcpy 0x7c3a4
...
#define NEW_POKE_SYSCALL                813                     // which syscall to overwrite with new poke
#define NEW_POKE_SYSCALL_ADDR           0x8000000000195A68ULL   // where above syscall is in lv2
...
   pokeq(NEW_POKE_SYSCALL_ADDR, 0x4800000428250000ULL);
   pokeq(NEW_POKE_SYSCALL_ADDR + 8, 0x4182001438a5ffffULL);
   pokeq(NEW_POKE_SYSCALL_ADDR + 16, 0x7cc428ae7cc329aeULL);
   pokeq(NEW_POKE_SYSCALL_ADDR + 24, 0x4bffffec4e800020ULL);

Y para desinstalarla
Código: Seleccionar todo
   pokeq(NEW_POKE_SYSCALL_ADDR, 0xF821FF017C0802A6ULL);
   pokeq(NEW_POKE_SYSCALL_ADDR + 8, 0xFBC100F0FBE100F8ULL);
   pokeq(NEW_POKE_SYSCALL_ADDR + 16, 0xebc2fe287c7f1b78);
   pokeq(NEW_POKE_SYSCALL_ADDR + 24, 0x3860032dfba100e8);


Finalmente la usan asi:
Código: Seleccionar todo
   Lv2Syscall3(NEW_POKE_SYSCALL, to, from, sz);


Sólo se me ocurre usar esta syscall813 para instalarla ¿tu entiendes algo de este código? por que estos comentarios, no gastan XD


Ahora suponiendo que tengamos la sys8 instalada y funcionando para poder usar el tema de las caches yo creo que aun faltaría lo peor: necesitamos parchear el hook_open para permitir la tabla de hermes...
Segun PL3-3.41 está...
Código: Seleccionar todo
#define patch_func3      0x2aafc8
#define patch_func3_offset   0x24

Y segun PL3-3.55 está...
Código: Seleccionar todo
#define patch_func3 0x2B3274 // hooked_open
#define patch_func3_offset 0x24

Y lo parchean así en 3.55:
Código: Seleccionar todo
2b3298: 4BD5C050 # hook_open (patch_func3 + patch_func3_offset)


Estoy mirando, pero tengo poca información, he intentado contactar con wanin que creo que tenía pasadas bastantes cosas de tu payload a 3.55, pero no responde. Total que con esta "documentación" que tengo en los payloads y con las herramientas y poco tiempo que me queda, no creo que me de para añadir el tema de la cache.

Por que hoy me he columpiado pero jueves y viernes tengo sólo tendré un par de ratos y ya, luego tengo unas buenas semanas fully working...

Asi que si hermes si ves que la cosa está complicada también, pues nada que alguien con más conocimiento y tiempo siga, adjunto el fuente aunque tiene mucho código que sobra, por que ando haciendo pruebas XD

Un Saludo y siento la mala noticia pero he estirado mi tiempo lo que he podido y no doy :/

#--------------------------------------

UPDATE - Con nuevas preguntas xD

(creo que ya encontrada - ver UPDATE2)
Estoy buscando USER_DATA (0x800000000033E720) en 3.55 pero no consigo encontrar similitudes entre su posición en mi dump de lv2 de 3.41 y el dump de 3.55 ¿como podría encontrar su posición?
Código: Seleccionar todo
000033E720  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  80 00 00 00  00 45 AB 68  80 00 00 00
000033E73C  00 45 AA 90  80 00 00 00  00 2C 0B 10  80 00 00 00  00 3E D3 28  80 00 00 00  00 3E D3 14
000033E758  80 00 00 00  00 3E D3 38  80 00 00 00  00 31 80 48  80 00 00 00  00 2D EF 78  80 00 00 00


lv2_read y lv2_open los usas para parchear el SFO bien, pero par que sirve "some_additional_patching_on_the_fly" me da un poco de miedo todo lo que veo dentro XD

Y una final las memory_patch_table son para que salgan las opciones, no? pero esas ya están en el CFW :?

Hasta aqui por el momento :_D

UPDATE 2 - Lo conseguido...
Código: Seleccionar todo
//#define HVSC_SYSCALL                    811                     // which syscall to overwrite with hvsc redirect
    //#define HVSC_SYSCALL_ADDR               0x8000000000195540ULL   // where above syscall is in lv2
    //#define NEW_POKE_SYSCALL                813                     // which syscall to overwrite with new poke
    //#define NEW_POKE_SYSCALL_ADDR           0x8000000000195A68ULL   // where above syscall is in lv2
Código: Seleccionar todo
//could be? (3.55)
    //0000195130  F8 21 FE 51  7C 08 02 A6  FB 21 01 78  FB C1 01 A0  7C 79 1B 78  EB C2 FE 28! 38 60 03 21
    //000019514C  FA 41 01 40  FB 01 01 70  FB 41 01 80  FB 61 01 88  FB A1 01 98  FB E1 01 A8  F8 01 01 C0
    //3.41
    //00001BB004  F8 21 FE 51  7C 08 02 A6  FB 21 01 78  FB C1 01 A0  7C 79 1B 78  EB C2 05 40! 38 60 03 21
    //00001BB020  FA 41 01 40  FB 01 01 70  FB 41 01 80  FB 61 01 88  FB A1 01 98  FB E1 01 A8  F8 01 01 C0
    PATCH_BRANCH(/*0x1BB004*/ 0x195130, b, (BASE+(lv2_open-destination_code))) // syscall 0x801
Código: Seleccionar todo
//could be? (3.55)
    //000019031C  F8 21 FE F1  7C 08 02 A6  FB A1 00 F8  7C 7D 1B 78  38 60 00 00  F8 01 01 20  FB 21 00 D8
    //0000190338  FB 41 00 E0  7C B9 2B 78  FB 61 00 E8  FB 81 00 F0  7C 9B 23 78  FB E1 01 08  3B 81 00 88
    //0000190354  7C DF 33 78  4B ED BF E1! 38 80 00 0C  7F 83 E3 78  64 84 80 00  7F BD 07 B4  4B FE F4 B9
    //3.41
    //00001B61F0  F8 21 FE F1  7C 08 02 A6  FB A1 00 F8  7C 7D 1B 78  38 60 00 00  F8 01 01 20  FB 21 00 D8
    //00001B620C  FB 41 00 E0  7C B9 2B 78  FB 61 00 E8  FB 81 00 F0  7C 9B 23 78  FB E1 01 08  3B 81 00 88
    //00001B6228  7C DF 33 78  4B EB 76 09! 38 80 00 0C  7F 83 E3 78  64 84 80 00  7F BD 07 B4  4B FE F4 B9
    PATCH_BRANCH(/*0x1B61F0*/ 0x19031C, b, (BASE+(lv2_read-destination_code))) // syscall 0x802

Yo creo que están correctas, aunque no se si las necesitaré por que se supone que están parcheadas en este firm :?

Otra ¿para que necesitamos este "return 1"?
Código: Seleccionar todo
   PATCH_INST(/*0x50B3C*/ 0xEF48, li      %r3, 1) # use this patch if you move the payload resident...
   PATCH_INST(/*0x50B40*/ 0xEF4C, blr)

Y este parche?
Código: Seleccionar todo
   PATCH_INST(0x04ed18, li %r4, 0)
   PATCH_INST(0x04ed1c, stw %r4, 0(%r3))
   PATCH_INST(0x04ed20, blr)
   PATCH_DATA(0x3ba890, 0x01000000)


Finalmente tengo la posición del syscall 8 y 9
Código: Seleccionar todo
// syscalls patch
    PATCH_INST(/*0x17CE0*/ 0x19360, lis %r3, -0x7FFF) // restore syscall 9 (used to call this payload)
    PATCH_INST(/*0x17CE4*/ 0x19364, ori %r3, %r3, 3)
    PATCH_BRANCH(/*0x17CD4*/ 0x19354, b, (BASE+(syscall8-destination_code))) // syscall 8


Pero sigo sin saber como encontrar la zona de USER_DATA de tu payload.
Aunque puede que según mis pesquisas podría ser:
Código: Seleccionar todo
//possible 3.55 position :?
//xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx 88
//00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 00 xx xx
#define USER_DATA 0x8000000000464198


Aunque realmente sólo la necesitaríamos si usaramos el stealth que tiene la sys8 :?
Código: Seleccionar todo
syscall8_desc:
   QUAD_ABS(syscall8)
   .quad USER_DATA //user data on 3.55?

Y que sólo se usa en el enable y disable, supongo para el tema de las keys y demás :)

Yepa!
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Ultima edición por D_Skywalk el 10 Mar 2011 19:57, editado 8 veces

dark_on_5
Avatar de usuario
So much ʸᵃʸ
 
Mensajes: 1137
Registrado: 23 Ago 2010
Ubicación: Afueras Bilbao VIP: Si

Mensajepor dark_on_5 10 Mar 2011 14:17

Atención, dark_on_5 está baneado de toda la web, de modo que no podrá responder. Motivo del ban: saltarse baneo temporal con clon.
Refloto por si tienes algo que decir.

WEET
Habitual
 
Mensajes: 87
Registrado: 08 Mar 2011

Mensajepor WEET 10 Mar 2011 15:01

Te lo subo el hilo a ver si hermes te echa una mano que seguro que nuestro amigo hermes te la hecha

dreamsder
Avatar de usuario
Adicto
 
Mensajes: 187
Registrado: 14 May 2008

Mensajepor dreamsder 10 Mar 2011 15:21

dark_on_5 escribió:Refloto por si tienes algo que decir.



Estimado, estoy haciendo pruebas con el codigo fuente, y aun no logro identificar en que parte es que se dictamina que los rectangulos de los juegos se dividiran en 4 x 3. Hice algunso toques, pero no arrancaba el manager directamente ... jeje

Podras tirarme un cable? por lo menos saber sobre que funcion trabajar, se que son varias cosas, pero bueno, e interesa esta parte. Gracias desde ya, y no tienes compromiso de ayudarme. XD

dark_on_5
Avatar de usuario
So much ʸᵃʸ
 
Mensajes: 1137
Registrado: 23 Ago 2010
Ubicación: Afueras Bilbao VIP: Si

Mensajepor dark_on_5 10 Mar 2011 15:38

Atención, dark_on_5 está baneado de toda la web, de modo que no podrá responder. Motivo del ban: saltarse baneo temporal con clon.
dreamsder escribió:
dark_on_5 escribió:Refloto por si tienes algo que decir.



Estimado, estoy haciendo pruebas con el codigo fuente, y aun no logro identificar en que parte es que se dictamina que los rectangulos de los juegos se dividiran en 4 x 3. Hice algunso toques, pero no arrancaba el manager directamente ... jeje

Podras tirarme un cable? por lo menos saber sobre que funcion trabajar, se que son varias cosas, pero bueno, e interesa esta parte. Gracias desde ya, y no tienes compromiso de ayudarme. XD


Comorl? :)

Puedes repetir por favor? No entiendo lo que quieres...

PrevioSiguiente

Volver a Scene

¿Quién está conectado?

Usuarios navegando por este foro: No hay usuarios registrados visitando el foro y 3 invitados