Visualizzazione post con etichetta news. Mostra tutti i post
Visualizzazione post con etichetta news. Mostra tutti i post

mercoledì 27 gennaio 2010

GeoHot: Ps3 Exploit

Dopo 3 anni e mezzo di attesa finalmente si vede un hacker sfornare qual cosa di reale a disposizione di tutti in un piatto d'argento, ed ecco infatti che GeoHot rilascia il primo exploit per la Playstation3 in modo da essere trasparente e credibile nel suo operato.
Rilasciando questo exploit da la possibilità anche ad altri di fare nuove scoperte e far finalmente iniziare l'era underground della Playsation 3 anche perchè come dice lui non può stare giorno e notte dietro a questa consolle ma ha bisogno di svagarsi pure lui. Per tutti quelli che hanno fatto e in futuro faranno nuove scoperte dichiara di documentare tutto su ps2 dev wiki .
Inoltre dichiara:
  • "La potenza di questo exploit ha generato tonnellate di nuovi dati tutti da documentare. Vorrei vedere le chiamate mancanti dell'HV, la mappatura della memoria, la sequenza di boot documentata meglio, e i progressi sui driver della GPU. E ovviamente, la ricerca di un software exploit."

Questo exploit per adesso sfrutta l'otheros, una funzione che permette di installare linux purtroppo non presente sulle ps3 slim, è scritto in linguaggio C e occorre compilarlo e lanciarlo da linux con la versione 2.4.2 che utilizza lui, per le altre versioni è solo da provare. La sua utilità è quella di continuare li studi all'interno della ps3 in modo da poter sviluppare un software exploit ossia un vero e proprio hello world ma la meta forse è ancora un bel pò distante.
Ecco come sfruttarlo:
geohot: well actually it's pretty simple
geohot: i allocate a piece of memory
geohot: using map_htab and write_htab, you can figure out the real address of the memory
geohot: which is a big win, and something the hv shouldn't allow
geohot: i fill the htab with tons of entries pointing to that piece of memory
geohot: and since i allocated it, i can map it read/write
geohot: then, i deallocate the memory
geohot: all those entries are set to invalid
geohot: well while it's setting entries invalid, i glitch the memory control bus
geohot: the cache writeback misses the memory :)
geohot: and i have entries allowing r/w to a piece of memory the hypervisor thinks is deallocated
geohot: then i create a virtual segment with the htab overlapping that piece of memory i have
geohot: write an entry into the virtual segment htab allowing r/w to the main segment htab
geohot: switch to virtual segment
geohot: write to main segment htab a r/w mapping of itself
geohot: switch back
geohot: PWNED
geohot: and would work if memory were encrypted or had ECC
geohot: the way i actually glitch the memory bus is really funny
geohot: i have a button on my FPGA board
geohot: that pulses low for 40ns
geohot: i set up the htab with the tons of entries
geohot: and spam press the button
geohot: right after i send the deallocate call

giovedì 3 dicembre 2009

Geohot mapped the Kernel RAM

Geohot attuale hacker conosciuto nel mondo iphone per il primo Jailbreak, qualche mese fà si è messo a lavoro sulla Ps3 riuscendo già a mappare il kernel della ram della nostra amata consolle, ecco il risultato:
The kernel:
c00000000xxxxxxx -> 0000408f92c94xxxxxxx
c: 0 l: 1 n: 0 kp: 1 ks: 0
c000000000000000 - c000000000f00000

vmalloc regions:
d00000000xxxxxxx -> 0000f09b89af5xxxxxxx
c: 0 l: 0 n: 0 kp: 1 ks: 0
d000000000000000 - d000000000004000
d000000000008000 - d00000000000c000
d000000000038000 - d000000000044000
d000000000048000 - d000000000054000
d00000000005c000 - d000000000074000
d000000000078000 - d0000000000a8000
d0000000000ac000 - d0000000000c0000
d0000000000c4000 - d000000000130000
d000000000134000 - d000000000140000
d000000000144000 - d000000000150000
d000000000154000 - d000000000164000
d000000000168000 - d000000000178000
d00000000017c000 - d00000000019c000
d0000000001a0000 - d0000000001f4000
d0000000001f8000 - d000000000208000
d00000000020c000 - d000000000224000
d000000000228000 - d00000000023c000
d000000000240000 - d000000000254000
d00000000025c000 - d000000000270000
d00000000027c000 - d0000000002d8000
d0000000002dc000 - d00000000032c000
d000000000330000 - d00000000033c000
d000000000340000 - d000000000430000
d000000000434000 - d000000000520000
d000000000524000 - d000000000558000
d00000000055c000 - d000000000598000
d00000000059c000 - d0000000005e0000
d0000000005e4000 - d000000000618000
d00000000061c000 - d000000000638000
d00000000063c000 - d00000000064c000
d000000000650000 - d000000000664000
d000000000668000 - d000000000678000
d00000000067c000 - d00000000068c000
d000000000690000 - d0000000006e4000
d0000000006e8000 - d000000000728000
d00000000072c000 - d00000000075c000
d000000000768000 - d000000000794000
d000000000798000 - d0000000007ac000
d0000000007b0000 - d0000000007f0000
d0000000007f4000 - d0000000008c4000
d0000000008c8000 - d000000000960000
d000000000964000 - d0000000009d4000
d0000000009d8000 - d0000000009f8000
d000000000a00000 - d000000000a1c000
d000000000a20000 - d000000000a2c000
d000000000a44000 - d000000000a50000
d000000000a58000 - d000000000abc000
d000000000ac0000 - d000000000b20000
d000000000b24000 - d000000000b3c000
d000000000b40000 - d000000000b60000
d000000000b64000 - d000000000b78000
d000000000b7c000 - d000000000bc0000
d000000000bc8000 - d000000000c48000
d000000000c4c000 - d000000000d3c000
d000000000d40000 - d000000000d68000
d000000000d6c000 - d000000000d90000
d000000000d94000 - d000000000d9c000
d000000000da0000 - d000000000da8000
d000000000db0000 - d000000000dc4000
d000000000dc8000 - d000000000df0000
d000000000df4000 - d000000000e10000
d000000000e14000 - d000000000e2c000
d000000000e30000 - d000000000e44000
d000000000e48000 - d000000000e60000
d000000000e64000 - d000000001014000
d000000001018000 - d00000000105c000
d000000001060000 - d000000001068000
d00000000109c000 - d0000000010c8000
d0000000010cc000 - d0000000010ec000
d000000001174000 - d0000000011d8000
d0000000011dc000 - d000000001224000

Bolted regions
f00000000xxxxxxx -> 0000dc19498bexxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1
f000000007aa8000 - f000000007aac000
f000000007ac4000 - f000000007acc000
f000000007b48000 - f000000007b4c000
f000000007ba4000 - f000000007bb0000
f000000007ecc000 - f000000007ed0000
f000000007f2c000 - f000000007f84000
f000000007f88000 - f000000007fac000
f000000007fb0000 - f000000007fd8000
f000000007fdc000 - f000000007fe4000
f000000007fec000 - f000000007ffc000

The HTAB
d00008008xxxxxxx -> 0000d3df8b595xxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1

Mappings in user area:
000000000xxxxxxx -> 0000dc19498bexxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1
0000000007aa8000 - 0000000007aac000
0000000007ac4000 - 0000000007acc000
0000000007b48000 - 0000000007b4c000
0000000007ba4000 - 0000000007bb0000
0000000007ecc000 - 0000000007ed0000
0000000007f2c000 - 0000000007f84000
0000000007f88000 - 0000000007fac000
0000000007fb0000 - 0000000007fd8000
0000000007fdc000 - 0000000007fe4000
0000000007fec000 - 0000000007ffc000
00000000fxxxxxxx -> 0000d3df8b595xxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1
000000004xxxxxxx -> 0000d1a140344xxxxxxx
c: 1 l: 0 n: 0 kp: 1 ks: 1
0000000040000000 - 000000004001c000
0000000040028000 - 0000000040034000
0000000040074000 - 00000000400a4000

mercoledì 25 novembre 2009

PlayStation 3 System File Editor

PlayStation 3 System File Editor è un programmino sviluppato da Hellcat che permette di modificare alcuni parametri della nostra Playstation 3, come:
  1. L'ID;
  2. La Versione;
  3. Il livello di controllo parentale;
  4. Il Titolo;
  5. La risoluzione video;
  6. Il formato audio;
  7. Attivare o disattivare la riproduzione remota per PSP.

giovedì 19 giugno 2008

Schema a blocchi avvio giochi Ps3

Ecco per esempio come viene avviato FLOW:
Inoltre, la PARAM.SFO ha anche importanza... Nell'inserimento, la Ps3 legge il titolo ID del disco nel PARAM.SFO e lo inserisce nel DB. Una volta che il gioco viene eseguito e decifrato, il titolo ID è verificato ancora una volta per assicurarsi che sono uguali. Se non lo fa (penso a un swap disk), la PS3 andrà in silenzio di errore, e tornerà all' XMB.

In una nota finale, il nostro PS3 Devs ha scovato numerosi documenti e brevetti, ed è giunto alla conclusione che la PS3 utilizza AIX (Advanced Interactive Executive) come base.
Fonte: Ps3Tribe

martedì 17 giugno 2008

Playstation3 40% RETAIL e 60% DEBUG

La Playstation 3 RETAIL (normale) quando viene Flashata con un Debug Firmware, esso si installa nella Flash (anche chiamata NAND, la ps3 ha 2 NAND della Samsung ciascuna da 132mb), questo firmware non risulta funzionante al 100% perchè le chiavi di registro della console RETAIL sono differenti da quelle della console DEBUG, e di conseguenza avremo una console al 40% RETAIL e al 60% DEBUG.
Quindi le ISO dei giochi e molte delle funzioni DEBUG di questo Firmware non possono essere avviate proprio a causa delle differenti chiavi di registro che non sono presenti nel firmware della console RETAIL

Questa mancanza delle chiavi di registro e fondamentale per far partire le iso dei giochi, infatti, questo problema si potrebbe risolvere eseguendo un DUMP della NAND di una console DEBUG, estraendo le chiavi di registro neccessarie e copiarle nella NAND della RETAIL.

Inoltre non è possibile eseguire file con estensione .pkg perchè la parte del registro che contiene le chiavi di apertura di essi è inesistente sulle console RETAIL, e quindi anche questo problema si potrebbe risolvere effettuando un DUMP della NAND della console DEBUG, ma qui i problemi si fanno seri poichè queste chiavi sono criptate con chiave AES, 256 bit e per decriptare anche solo una di queste chiavi ci vorrebbero anni e anni, e sarebbe anche inutile perchè ogni cosole ha le chiavi criptate in modo diverso.

I problemi si aggiungono perchè effettuando delle modifiche alle NAND della console si invaliderà l' ECC che sarebbe l'algoritmo di controllo di errore presente nelle nostre Ps3, esso è in grado di riparare fino ad un massimo di 6bytes su una pagina di 2048 Byte.
Se si effetuano delle modifiche alla NAND e e dopo non si ricalcola l'ECC è come se le modifiche non abbiamo effetto e sarebbe lavoro sprecato, inoltre se vengono superati 6 bytes di modifica la console brickerà.
Se vuoi installare il Firmware Debug sulla tua console retail clicca qui

domenica 15 giugno 2008

BRICK PLAYSTATION 3 con il Debug Firmware

Dopo molti test di diversi hacker effettuati sul Debug Firmware, hanno riscontrato un problema non molto piacevole gia conosciuto nelle psp, ossia il brick, ma questa volta della Playstation 3.
Un brick di una console avviene quando un file che serve all'avvio del sistema è danneggiato o mancante e non permette l'avvio completo (boot), causando una schermata nera che non permette l'utilizzo della console.
Quindi se anche voi non volete brickare la vostra Playstation 3, per il momento è meglio starne alla larga poichè il debug firmware non è ancora sicuro al 100%.

Ecco un video di una Playstation 3 brickata(si spegne subito dopo l'accensione):

sabato 14 giugno 2008

Scarica i torrent con la playstation 3

Da oggi è possibile scaricare i torrent anche dalla playstation 3 molto facilmente, grazie al sito Torrent Relay che permette il Download dei file direttamente dal sito inserendo semplicemente il link del nostro torrent e il file verra salvato automaticamente sull'hdd della nostra console.
In questo modo potremo scaricare i nostri film in dvx o dvd da vedere comodamente seduti sulla nostra poltrona.
Oppure in futuro se verrà creato un Custom Firmware potremo scaricare le .iso dei giochi della playstation 3 direttamente dalla play senza dover tenere il computer occupato e senza tenere la playstation 3 occupata, perchè il download dei file come ben sappiamo può essere eseguito anche in background.

Ecco la guida per scaricare i torrent dalla playstation 3:
  • Cerca un link di un torrent che ti interessa e copialo (es. http://www.mininova.org/get/1234567);
  • Vai su Torrent Relay (http://torrelay.com);
  • Incolla il link copiato prima su Online URL;
  • Clicca "Get URL";
  • In fondo alla pagina comparirà il nome del file che volete scaricare. Cliccateci sopra;
  • Salva nel Hard Disk il file.
Ecco il video dimostrativo: