Xbox 360 JTAG hack How to

January 18, 2010 · 5,321 views · Print This Post Print This Post · Email This Post Email This Post

Rieccomi dopo quasi due settimane di assenza, scusate ma sono stato malato e quando stavo bene ovviamente ero impegnato e non ho avuto modo di scrivere sul blog, spero di tornare presto alla normalità e di riuscire a pubblicare almeno un articolo al giorno o ogni due al massimo. Comunque ripartiamo con un argomento veramente interessante JTAG Hack per xbox 360, nello scorso week-end mi sono messo e ho applicato questo fantastico hack alla mia xbox 360. Ho letteralmente tolto la povere dalla mia xbox 360 che non usavo da credo un anno e mezzo e dopo essermi assicurato di essere nella condizioni per applicare il JTAG sono partito a razzo con la procedura. Se non sapete cos’è il JTAG hack o non avete una 360 o avete vissuto scollegati da internet negli ultimi 6 mesi. Il JTAG hack è la modifica del momento per tutte le xbox prodotte prima di giugno 09, con un paio di saldature sulla mainboard e un pc è possibile far girare software non firmato sulla propria console. Detto in parole povere si possono installare programmi homebrew che permettono di caricare i giochi da disco usb come con la Wii oppure emulatori di vario genere (snes,megadrive etc..) e volendo anche Dashboard alternative come con la prima xbox. Caricando i giochi da disco usb si aggira il problema dei nuovi giochi in formato WAVE 6 come Tekken e si guadagna in velocità perchè i giochi vengono caricati più velocemente e sopratutto il lettore dvd rimane fermo e tutto risulta più silenzioso. Inoltre i giochi caricati sul disco usb non occupano 8 giga e passa come con un dvd ma a volte molto meno, quindi caricando i backup da usb si guadagna in velocità, rumorosità e spazio.
Sembra tutto bellissimo e in effetti lo è, le notizie cattive arrivano adesso, per poter eseguire il jtag hack bisogna trovarsi in condizioni particolari, ve le elenco qui di seguito:

  • La dashboard dell’xbox 360 deve assolutamente essere minore della versione 8.xx, questo vuol dire che se avete una dashboard di versione 7371 allora potete iniziare a sperare, se l’avete inferiore siete quasi a cavallo.
  • Purtroppo avere la dashboard non aggiornata a volte non basta, bisogna fare ulteriori verifiche che si possono effettuare solo smontando la console e collegandola al pc dopo aver fatto alcune saldature.
  • Dovete quindi smontare la console, effettuare delle saldature abbastanza semplici ma non troppo e possedere un pc con porta stampante. Se non siete capaci a fare le saldature e meglio lasciar perdere, direi che non è il caso di iniziare esperimenti sulla 360, meglio trovare qualcuno con mano ferma ed esperienza che le faccia per voi.
  • Se avete una console del day 0 cioè avete comprato l’xbox 5 anni fà appena uscita e non l’avete aggiornata nell’ultimo anno e mezzo allora siete in una botte di ferro e potete procedere con la modifica. Incredibile ma vero io mi  sono trovato nella situazione ideale, consolle di prima generazione con motherboard Xenon e mai aggiornata, la base di partenza perfetta per fare la modifica.

Siete in queste condizioni? avete capito bene di cosa si tratta? bene allora potete continuare a leggere e provare ad applicare con successo il JTAG hack sulla vostra 360.


Prima di iniziare un bel messaggio di avviso: SONO SOLO CAVOLI VOSTRI!!
State attenti a quello che fate, tutte le procedure qui descritte vanno ad invalidare la garanzia e potrebbero brickkare in modo definitivo la vostra console rendendola un bel mattone bianco.  E’ tutto a vostro rischio e pericolo, le possibilità di fare danni sono tante vi elenco i principali casini che potrebbero succedere:

  • Sbagliate a fare le saldature o vi cade una goccia di stagno sulla mainboard della 360 con conseguente rottura definitiva della scheda.
  • Riscrivete un’immagine della memoria nand corrotta o vi salta la corrente mentre state scrivendo dentro la nand con conseguente brick della console.

Insomma dovete sapere quello che state facendo e sopratutto dovete essere consapevoli dei vari passaggi che andranno percorsi. Non è una modifica proprio per tutti, non è impossibile ma neanche così easy come quella della WII, direi che è per smanettoni.

Passiamo quindi al tutorial: JTAG XBOX 360 HACK HOW TO.

Questo hack per la 360 si può dividere in diverse fasi che vi elenco qui di seguito:

  1. Si collegano  tramite saldature sulla mainboard una serie di fili che andranno a comporre un cavo che a sua volta andrà saldato ad una porta stampante che verrà collegata poi al pc. I punti delle saldature dipendono dalla versione della mainboard che possedete.
  2. Tramite un programma si estrae il contenuto della memoria Nand tramite la porta stampante appena collegata.
  3. Si verifica con un altro software che ci si trovi nelle condizioni necessarie per poter effettuare il JTAG hack.
  4. Se il software dà esito positivo si estraggono delle informazioni dalla Nand originale della 360 e le si inseriscono in un immagine hackatta della nand.
  5. La custom Nand appena preparata viene poi riscritta nella memoria nand fisica dell’xbox 360.
  6. Si effettuano poi altre tre saldature abbastanza semplici.
  7. Alla fine di queste operazioni l’xbox 360 è definitivamente hackata con JTAG e potrà eseguire software non firmato da microsoft (Dashboard alternative, USB Loader, Emulatore etc) e sarà caricato l’ultimo firmware hackato in modo da poter far girare tutti gli ultimi giochi.

La nand hack che viene caricata contiene l’ultimo firmware disponibile per la 360 attualmente il 2.0.8955.0 che è già modificato in modo da eseguire i software homebrew e tutti gli ultimi giochi. Passerete quindi da una versione vecchia della dashboard ad una nuova aggiornata e già modifica.

Verifica della versione della Dashboard

La prima cosa che dovete fare è identificare la versione del firmware che avete, accendete la 360 e andate in  “Impostazioni di Sistema” -> “Impostazioni Console” -> “Informazioni di Sistema” nella parte inferiore dovete guardare di fianco alla voce D: e di fianco a: BK: ecco una figura per aiutarvi meglio:

Avete una versione di dasboard inferiore a 2.0.8xxx? Se si potete procedere se no lasciate perdere.. con si intendo che avete uno di queste Dashboard:

  • 2.0.7371.0
  • 2.0.7363.0
  • 2.0.7357.0
  • E tutti quelli inferiori al 2.0.7357

Vi dico solo che io avevo il firmware 2.0.5759.0 giusto per darvi un idea di quanto ho utilizzato l’xbox in questo periodo e di quanto l’ho aggiornata,poi per cuorisità e per vedere la nuova dashboard l’ho aggiornata alla versione 7357 che tanta andava bene lo stesso.
Ecco un’immaigne della mia dashboard prima di effettuare il JTAG hack:

Il campo BK: indica il CB, questo appunto rappresenta la variabile che permette all’xbox di essere hackatta o meno, anche avendo il firmware se si ha il CB sbagliato non si può applicare il JTAG hack. La verifica esatta del CB la si può fare solo leggendo la memoria Nand, quindi dopo aver effettuato la prima fase di saldature.
Diciamo che vedere già qui il CB giusto può far bene sperare.

Ecco la lista dei CB compatibili per il JTAG hack:

  • Xenon: 1888, 1902, 1903, 1920,1921
  • Zephyr: 4558
  • Falcon: 5761, 5766, 5770
  • Jasper: 6712, 6723

Vediamo ora come verificare che versione di xbox possiediamo.

Verifica della versione della Mainboard dell’xbox 360

Questo che sto per illustrarvi è senza dubbio il metodo più semplice per capire che versione di xbox 360 possediamo, si guardano i pin dell’alimentare, ecco la figura:

L’immagine è abbastanza chiara, come potete vedere esistono 5 modelli principali di maiboard per xbox 360:

  • Xenon: il primo modello lanciato, quello del day 0 per intenderci, se avete comprato l’xbox 360 appena uscita 5 anni fà avete sicuramente questo modello. Peculiarità di questo modello nand da 16mb che rende l’operazione di lettura della memoria molto più veloce e semplice.
  • Zephyr: maiboard disponibile solo per il mercato europeo, le consolle venduta in USA di sicuro non hanno questa maiboard, comunque memoria nand a 16mb.
  • Falcon: direi uno dei modelli più comuni, se non ricordo male andava a correggere dei problemi di surriscaldamento delle prime versione Xenon integrando un dissipatore passivo leggermente differente. Memoria nand ancora a 16mb, forse qui iniziano ad intravedersi i primi modelli con 256 mb di memoria,devo informarmi bene.
  • Opus: versione di maiboard disponibile solo se la consolle è stata mandata in microsoft per problemi di surriscaldamento. In pratica se avevate una Xenon e poi avete mandato la consolle in microsoft per la riparazione molto probabilmente vi hanno rispedito la 360 con questa versione di maiboard. La Opuse dovrebbe essere equivalente a Falcon,Jasper e altri modelli per quanto riguarda i punti di saldatura e la dimensione della nand.
  • Jasper: l’ultima versione in circolazione, 256-512 mb di nand sicuro, le operazioni di lettura/ scrittura sono decisamente più lunghe ma comunque fattibili.

Se avete comprato una 360 da uno o due anni avete sicuro o una Falcon o una Jasper. In ogni caso la verifica finale la fate aprendo l’xbox 360 e guardando la circuiteria e i dissipatori.

Capire quando è grande la nand dell’xbox 360

Per capire quanto è grande la nand bisogna guardare la dimensione della Memory Unit della Dashboard:

  • Le nand da 16MB non hanno Memory Unit.
  • Le 256MB hanno una Memory Unit all’incirca di 200MB.
  • Le 512MB hanno una Memory Unit all’incirca di 450MB.

Materiale necessario per la modifica

Come ho già detto prima bisogna effettuare delle saldature sulla mainboard della 360 ecco quindi cosa vi serve per effettuare la modifica:

  • Un saldatore massimo 60 watt a punta fine.
  • Del filo per le modifiche, direi che i fili flat di un qualsiasi cavo vga vanno più che bene.
  • Un connettore per porta parallela o meglio dire un connettore maschio LPT DB25 (vedi foto)
  • Delle resistenze da 100 ohm, potete utilizzare anche resistenza un po’ più basse, io ad esempio ho utilizzato resistenze da 85 ohm e tutto ha funzionato perfettamente. E’ importante non  utilizzare resistenze più alte atrimenti rischiate di attenuare tropppo il segnale.
  • Diodi 1N4148 o 1N914 o equivalenti, io ho utilizzato dei diodi equivalenti, a dir la verità non sò neanche bene quali perchè quando li ho presi mi hanno assicurati che andavano bene lo stesso.
  • Un computer con porta lpt che sia possibile configurare in modalità “normal mode” o “default”. E’importante utilizzare un pc standard con porta stampante standard da configurare da bios in modalità “normal mode”, vi dico questo perchè io avevo provato prima con un portatile con porta stampante configurata in modalità “default” ma la lettura della nand non veniva effettuata in maniera corretta e su tutti i settori ricevevo un errore. Sono passato poi ad un vecchio pc (un p3 a 733 mhz) e sono riuscito a leggere la memoria senza problemi.
  • Il software nandpro 2.0b che serve per leggere e scrivere la memoria nand dell’xbox 360. Lo potete scaricare a questo indirizzo: http://dwl.xbox-scene.com/xbox360pc/nandtools/nandpro20b.rar
  • L’XBReboot per la vostra schedamadre, a seconda della mainboard che avete dovete utilizzare un xbreboot diverso. Questo file ve lo dovete cercare in  rete, io posso solo darvi il nome dei file:
    1. Per mainboard  Xenon: XBR_Xenon_8955_3
    2. Per mainboard Zephyr: XBR_Zephyr_8955_3b
    3. Per mainboard Jasper: XBR_Jasper16a_8955_3 oppure XBR_Jasper16_8955_3
    4. Per mainboard Falcon: XBR_Falcon_8955_3a

Potete trovare questi file tramite xbins, se non sapete cos’è xbins leggete qui di seguito.

Scaricare ed utilizzare xbins

Xbins è un semplice file che ci permette di collegarci al repository  dove trovare tutto il software per effettuare le modifiche all’xbox. Il suo funzionamento è praticamente identico a quello di un ftp, nella finestra di destra abbiamo le cartelle e i file del server remoto  e nella finestra di sinistra abbiamo le cartelle locali. Spostando i file da destra sinistra li scarichiamo sul nostro pc.

  1. Scaricate xbins a questo indirizzo: h*tp*//r*pid*hare*co*/files/283243738/xbins.exe oppure h*tp*//*ww*mega*pload*com/?d=ZZ6A54YA
  2. Scompattate l’archivio e lanciate l’eseguibile.

Tutti i file di XBR si trovano in XBOX360->development->XBReboot
Gli altri tool che verrano utilizzati li trovate nelle varie cartelle, basta dare un’occhiata veloce a tutto il software disponibile.

Saldature sulla mainboard dell’xbox 360

Adesso arriva la parte più complessa,smontare l’xbox 360 ed effettuare le saldature sulla mainboard. Come ho scritto prima questo punto è fondamentale per capire se la propria xbox 360 ha un CB compatibile con il JTAG hack. Quindi si saldano i file sulla scheda madre, si costruisce il cavo lpt e lo si collega la pc. Non è un operazione difficilissima,  le saldature non sono impossibili ma ripeto vanno effettuate da  mani esperte.
Note molto importante:

  • I fili non devono essere troppo lunghi, al massimo 30-35 cm, ma direi che è già troppo, io mi sono tenuto sui 10-15 cm.
  • Le saldature devono essere belle vive, evitate saldature fredde e quindi opache.

Se vi può esssere utile sulla mia mainboard ho proceduto nel seguente modo: dopo aver fatto scaldare il saldatore ho infiliato il filo nel buco e ho saldato con stagno sul retro della mainboard. Se guardate le foto si capisce bene:

Individuate quindi  la versione della vostra mainboard, le sadature sono diverse da modello a modello.

Partiamo con il modello più semplice, Saldature per Xenon:

L’immagine è molto chiara, si saldano i file sulla mainboard sui punti indicati e poi si saldano le resistenze sulla porta lpt e si collegano i file seguendo lo schema.

Saldature per Falcon, Zephyr, Opus, Jasper:

In questa immagini sono indicati anche i punti per il JTAG, per il momento ignorateli è meglio fare una cosa alla volta quindi guardate solo i punti relativi alla porta parallela.

Vi posto alcune foto del mio risultato finale, ignorate il filo rosa quello è per il JTAG, lo vedremo più avanti, ah quasi dimenticavo nella foto della porta stampante le resistenze sono coperte dalla plastica protettiva.

Lettura della memoria Nand dell’xbox 360

Dopo aver effettuato le saldature bisogna collegare l’xbox al pc e leggere il contenuto della memoria nand.  Questa operazione può essere soggetta ad errori nel caso la porta lpt non sia stata costruita in modo impeccabile, controllate più volte di aver saldato tutto in maniera corretta e di aver collegato le resitenze sui punti giusti. Inoltre vi consiglio di utilizzare un pc normale con porta lpt standard, evitate accrocchi strani come usb to lpt o simili, io prima ho provato con una laptop di vecchia data con porta lpt e non sono riuscito a leggere neanche un blocco di memoria, poi  ho provato con un pc normale e sono riuscito a fare tutto.

Altra cosa che dovete sapere,se avete un’xbox abbastanza recente potete trovarvi con una memoria da 256 o peggio da 512 mb. Questo vuol dire che potreste metterci diverse ore per effettuare un dump completo della memoria nand e potreste ricevere anche diversi errori in lettura. Le nuove xbox per fortuna non utilizzano tutti e 256 o 512 mb di memoria ma solo i primi 64mb, il resto è utilizzato come memory card. Per darvi un’idea del tempo, io ho impiegato circa un ora e mezza per leggere una memoria da 16mb, con 64mb potreste metterci anche 10 ore e passa. Inoltre per concludere in bellezza le memoria nand a volte non sono perfettte e possono presentare i cosidetti bad-block, cioè settori di  memoria corrotti. Questo è del tutto normale e i controller delle memorie nand per prevenire questi errori riservano dello spazio aggiuntivo per i badblock, quindi vuol dire che il blocco corrotto è riscritto in maniera corretta in fondo alla memoria.  Il programma nandpro non è in grado di recuperare in maniera automatica le informazioni dei badblock, quindi nel caso incotraste badblock dovete eseguire delle operazioni per recuperare le informazioni danneggiate, ergo salvatevi l’output a video di nandpro in modo da capire se tutto è andato per il verso giusto.

Le operazioni di recupero dei badblock non sono proprio cortissime, quindi le  lascio per ultime. Per ora ipotizzo che tutto vada per il verso giusto e che non ci siano badblock, qui sotto vi indico la procedura per estrarre la memoria nand su console con 16 e 256/512 mb di nand.

Altra cosa che dovete sapere: questa operazione è il cuore dell’hack, il resto poi è quasi tutto in discesa, se riuscite a leggere senza problemi tutta la memoria e avete il CB giusto siete al 80% dell’operazione. Partiamo quindi con le operazioni di lettura:

  1. Prepariamo il pc impostando dal bios la porta lpt in modalità “normal” o “default”
  2. Installiamo  i driver di nandpro20b, eseguiamo port95nt.exe  (lo trovate nella cartella di nandpro20b) infine riavviamo il pc
  3. Colleghiamo l’alimentazione alla mainboard dell’xbox 360 ma mi raccomandola non accendetela,lasciate solo il cavo collegato.
  4. Colleghiamo la porta lpt appena installata sull’xbox al pc, ecco un’immagine del mio collegamento (come prima ignorate i cavi nero,bianco e rosa quelli sono per il JTAG):

Da questo punto in poi le istruzioni saranno per xbox 360 con nand a 16mb, infine poi arriveranno quelle con 256/512.

Istruzioni per memorie nand da 16mb:

  1. Apriamo una finestra dos e dopo esserci posizionati nella  cartella di nandpr20b digitiamo i seguenti comandi:  NandPro lpt: -r16 nand1.bin
  2. Mettetevi comodi e aspettate con ansia che la lettura della memoria vada per il verso giusto,cioè senza nessun badblock. Nel mio caso l’operazione della lettura è durata un’ora e mezza. Ecco un output di quello che mi è stato mostrato a video:
    NandPro v2.0b by Tiros
    Testing LPT device address:0378
    FlashConfig:01198010
    Using LPT device at address:0378
    Starting Block:0×000000
    Ending   Block:0×0003FF
    Press  any  key to begin reading nand
    0001
  3. Dopo aver aspettato circa un ora o forse più tutta la vostra memoria nand sarà stata trasferita nel file nand1.bin. Se avete ricevuto errori in lettura, tipo error reading block xx , allora riprovate. Ricontrollate i contatti,  le saldature e tutta la procedura. Oppure se siete sicuri di aver fatto tutto giusto rassegnatevi all’idea di avere dei badblock. Leggete avanti per capire come recuperare i dati dei badblock. Io per fortuna nella mia memoria da 16mb non ho trovato neanche un badblock e tutto è andato per il verso giusto. Bene se avete già fatto con sucesso un dump della  memoria nand fatene un altro. L’unicomodo per capire se la lettura è andata a buon fine è avere due dump della memoria da confrontare, eseguite il comando qui di seguito e e aspettate che la nand venga copiate nel file nand2.bin ecco il comando: NandPro lpt: -r16 nand2.bin
  4. Dopo aver effettuato due dump nand della memoria nand comparateli tra di loro per vedere che siano davvero identici.
    Eseguite il seguente comando dos: fc nand1.bin nand2.bin /b
    L’output  del comando deve essere il seguente:
    Contronto in corso del file nand1.bin e nand2.bin
    FC: nessuna differenza riscontrata
  5. Se i dump sono identici potete procedere con la verifica del CB e con le operazioni successive.

Istruzioni per memorie nand con  256/512 mb di memoria:

Come spiegato in precedenza della memoria nand da 256 o  512mb in realtà ne vengono utilizzati solo 64mb, il resto è per la Memory Unit. Come ho spiegato prima per verificare che la nand sia più grande di 16mb basta guardare nella dashboard  se c’è spazio nella Memory Unit.

Attenzione: per i possessori di mainboard Jaspter durante le letture della nand ad output apparirà la voce Flashconfig, appuntatevi la cifra che compare dopo questa voce, servirà in seguito.

Dal momento che vengono utilizzati solo 64mb di memoria nand andremo a  leggere  solo i primi 64 mb di memoria, ecco i comandi:

  1. Apriamo una finestra dos e dopo esserci posizionati nella  cartella di nandpr20b digitiamo i seguenti comandi: nandpro lpt: -r64 nand1.bin
  2. Ora con tanta pazienza aspettate che la memoria venga letta, con le nand da 256/512 può capitare che durante la lettura di alcuni blocchi  si presentino due tipi di errori: 250 e 210.
  3. Dopo aver  effettuato un primo dump fatene un altro per verificare che l’immagine sia stata dumpata in maniera corretta, eseugite il comando: nandpro lpt: -r64 nand2.bin
  4. Comparate le due immagini con il comando: fc nand1.bin nand2.bin /b
    L’output  del comando deve essere il seguente:
    Contronto in corso del file nand1.bin e nand2.bin
    FC: nessuna differenza riscontrata

Se tutto è andato bene passiamo alla verifica del CB, la gestione degli errori verrà trattata dopo perchè per correggere gli errori comunque bisognerà o rimappare a mano i settori danneggiati o eseguire codice non firmato  e non ha senso farlo se non si ha un CB exploitabile.

Verifica della versione del CB

Scaricate da xbins il programma 360 Flash Tool.exe e ad aprite il file nand1.bin. Confermate con ok nel caso si presentasse una prima finestra. Sipresenterà poi la seguente schermata:

Come potete vedere qui il CB è 1888 il che indica che la console è exploitabile e che è possibile applicare il JTAG hack.

Vi illustro ancora una volta la lista dei CB che sono hackabbili:

Xenon: 1888, 1902, 1903, 1920,1921
Zephyr: 4558
Falcon: 5761, 5766, 5770
Jasper: 6712, 6723

Ed ecco la lista dei CB non hackabbili:

Xenon: 1922, 1923, 1940
Zephyr: 4571, 4572, 4578, 4579
Falcon: 5771
Jasper: 6750

Il vostro CB è quello della prima lista? Se si potete continuare nell’hack della 360, altrimenti lasciate perdere ed aspettate che vengano resti disponibili nuovi aggiornamenti, ripiegate la porta lpt appena saldata dentro la 360 e aspettate tempi migliori. Controllate periodicamente il forum di xbox-scene, lì di sicuro verrà postate la notizia appena ci saranno aggiornamenti.
Se invece è andato tutto bene e avete uno dei CB che sono hackabbili possiamo procedere con la riscrittura della memoria nand.

Riscrittura della nand patchata

Dopo aver estratto la nand si vanno a recuperare una serie di informazioni che sono diverse da console a console e che sono proprio scritte nella nand appena dumpata (nel file nand1.bin per intenderci). Andremo a fare le seguenti operazioni:

  • Estrazione di due settori del file nand1.bin.
  • Inserimento dei settori estratti all’interno della nand patchata scaricata da xbins relativa al modello della vostra scheda madre.
  • Riscrittura della memoria nand dell’xbox 360.

Nel mio caso l’esempio che segue verrà mostrato per nand a 16mb con maiboard Xenon di seguito le istruzioni per mainboard con 256 o 512 mb di memoria.

Istruzioni per mainboard con 16mb di memoria

Estraiamo il keyvault e il configblock con i seguenti comandi:

  1. nandpro nand1.bin: -r16 keyvault.bin 1 1
    L’output del comando sarà il seguente:
    NandPro v2.0b by Tiros
    Using Virtual Nand Device File: nand1.bin
    Starting Block:0×000001
    Ending   Block:0×000001
    Reading
    0001
  2. nandpro nand1.bin: -r16 configblock.bin 3de 2
    L’output del comando sarà il seguente:
    NandPro v2.0b by Tiros
    Using Virtual Nand Device File: nand1.bin
    Starting Block:0×0003DE
    Ending   Block:0×0003DF
    Reading
    03DF

Inseriamo i settori estratti nel kernel scaricato da xbin

  1. Per comodità rinominiamo il file XBR_Xenon_8955_3.bin in xbr.bin
  2. digitiamo il seguente comando: nandpro xbr.bin: -w16 keyvault.bin 1 1
    L’output del comando sarà il seguente:
    NandPro v2.0b by Tiros
    Using Virtual Nand Device File: xbr.bin
    Starting Block:0×000001
    Ending   Block:0×000001
    Writing
    File: keyvault.bin FileLen:4200 Blocks:1
    0001
  3. digitiamo il seguente comando: nandpro xbr.bin: -w16 configblock.bin 3de 2
    L’output del comando sarà il seguente:
    NandPro v2.0b by Tiros
    Using Virtual Nand Device File: xbr.bin
    Starting Block:0×0003DE
    Ending   Block:0×0003DF
    Writing
    File: configblock.bin FileLen:8400 Blocks:2
    03DF

Infine l’operazione più complessa, riscrivere il kernel patchato dentro la nand dell’xbox 360, anche qui lanciate il comando e aspettate con tanta pazienza e pregate che tutto vada per il verso giusto. Nel mio caso l’operazione di scrittura ha impiegato circa un’ora e mezza.

Digitate il seguente comando:

  1. NandPro lpt: -w16 xbr.bin
    L’output del comando sarà il seguente:
    NandPro v2.0b by Tiros
    Testing LPT device address:0378
    FlashConfig:01198010
    Using LPT device at address:0378
    Starting Block:0×000000
    Ending   Block:0×0003FF
    Writing
    File: xbr.bin FileLen:1080000 Blocks:400
    03FF

Se tutto è andato per il verso giusto la nand verrà riscritta completamente e rimarrà poi solo da applicare il JTAG Hack verò e proprio cioè le ultime saldature sulla mainboard.

Istruzioni per mainboard con 256/512mb di memoria

Nota introduttiva: per i possessori di mainboard Jasper, esistono due versioni di XBReboot, XBR_Jasper16a_8955_3 oppure XBR_Jasper16_8955_3.
Dovete utilizzare XBR_Jasper16a_8955_3 se durante la lettura della maiboard alla voce Flashconfig compare il seguente numero: 00023010.
Quindi la voce FlashConfig deve essere: flashconfig=00023010

Estraiamo il keyvault e il configblock con i seguenti comandi:

  1. Per comodità rinominate il file XBR_Falcon o quello relativo alla vostra mainboard nel file xbr.bin
  2. Estraete il keyvault con il comando: nandpro nand1.bin: -r64 keyvault.bin 1 1
  3. Estrate il config block con il comando: nandpro nan1.bin: -r64 configblock.bin ef7 2
  4. Preparate il kernel patachato inserendo i dati appena estratti prima inserendo il keyvault: nandpro xbr.bin: -w64 keyvault.bin 1 1
  5. Inseriamo infine il configblock con il comando: nandpro xbr.bin: -w64 configblock.bin ef7 2

Siamo ora pronti per riscrivere la memoria nand,aspettate con pazienza che tutto sia andato a buon fine e che la memoria sia riscritta completamente.

  1. Eseguite quindi il comando di scrittura: nandpro lpt: -w64 xbr.bin

Se tutto è andato bene siete pronti per compiere le ultime saldature per il JTAG hack.

Nota finale valida per tutte le nand

Ho letto su alcuni forum che l’inserimento del configblock a volte comporta problemi di stabilità, di conseguenza alcune persone consigliano di non inserirlo. Quindi se avete problemi saltate i passaggi di inserimento del configblock e riscrivete la nand senza di esso. A quato pare nel configblock sono inserite informazioni non essenziali per il corretto funzionamento della console e soprattutto informazioni non univoche ma che possono essere copiate su più xbox.

Applicare le saldature del JTAG hack

Scollegate pure l’alimentazione dell’xbox e staccate la porta lpt dal pc. Ora si tratta di fare la saldatura del ponticello come indicato in figura e poi le altre due saldature con i diodi.

Attenzione al verso del diodo, la foto della barretta sopra il triangolo indica il verso del diodo.

Schema per Xenon:

Schema per Falcon, Zephyr, Opus, Jasper:

Schemi alternativi per Falcon, Zephyr, Opus, Jasper:

Dopo aver saldato i diodi ed il ponticello con il filo siamo pronti per far partire Xell e i vari homebrew per verificare che l’hack sia stato applicato correttamente.

Ecco un paio di foto delle mie saldature sulla mai mainboard Xenon, nella prima foto i diodi sono coperti dal rivestimento in plastica:

Piccola nota: io ho lasciato la porta lpt dentro l’xbox e l’ho appoggiata dietro il lettore, anche se la nand d’ora in poi potrà essere aggiornata tramite software homebrew e varie distro linux io ho preferito lasciare la porta attaccata non si sa mai. Ecco una foto:

Avvio della console e di Xell

Se tutto è andato per il verso giusto è il momento di avviare la console e Xell, dopo aver rimontato la console al primo accesso sarà come avere un’xbox 360 completamente nuova, quindi verrà chiesto tutto il setup inziale, regione lingua.. etc..

Per avviare Xell e recuperare la chiave univoca che vi permettere ad esempio di sostituire il lettore dvd o di fare altre cose carine, fate come segue:

  • Dalle ultime versioni di XBReboot (dalle 3 in poi) basterà accendere l’xbox tenendo schiacciato il pulsante eject del lettore dvd.
  • Se avete un joypad con il cavo collegatelo alla porta usb sul retro della consolle e schiacciate il tasto X del pad
  • Se avete il telecomando schiacciate il tasto windows (quello verde con sotto start)
  • Se avete una tastiera usb collegatela alla porta usb sul retro e schiacciate il tasto windows. (Attenzione funziona solo con alcuni modelli di tastiere)

Dopo aver caricato Xell fate una foto al video in modo da potervi copiare a mano i codici della key.
Sommate quindi le righe 03+05 o 04+06 per ottenere la key della cpu.

Ecco quindi che la key in questo caso sarà:  3+5
3= E42D681ED06A6D1C
5= 1FFD8E48C56A2058
Key= E42D681ED06A6D1C1FFD8E48C56A2058

Correggere i badblock rimappandoli manualmente con nand a 16mb.

Come spiegato in precedenza è possibile incappare in dei badblock che possono derivare da difetti di fabbrica.  Il controller della memoria nand rimappa i blocchi danneggiati in fondo alla memoria. Il programma nandpro20b non fà  altro che  andare a leggere tutta la memoria senza stare a rimappare i blocchi danneggiati quindi dovremmo farlo noi a mano.
Facciamo un esempio pratico con una nand da 16mb il cui ultimo indirizzo è 3FF, mettiamo di incontrare due errore durante la lettura dei settori della nand e riceviamo a video questi messaggi:

Error:  235 reading block D4
Error: 246 deading block 2F3

Se eseguiamo due o più volte il dump della memoria nand ed otteniamo sempre questi messaggi di errore vuol dire che ci troviamo difronte ad una memoria nand con due badblock.
Questi due blocchi sono stati rimappati infondo alla memoria nello spazio riservato e possono essere recuperati tranquillamente. Avendo fatto un dump completo della memoria nand abbiamo anche lo spazio riservato ai badblock e possiamo recuperare i blocchi corrotti e rimetterli nella posizione giusta.

Altra cosa da sapere: può essere che leggendo una nand con dei badblock questi restituiscano valori diversi, magari la prima volta che facciamo il dump restituiscono 0000 mentre nella seconda 0101.
Quindi facendo due o più dump della memoria è possibile che i file nand1.bin e nand2.bin differiscano proprio per i badblock letti.
Per capirci meglio, se ricevete errori sempre sui soliti blocchi allora quelli sono badblock, non importa poi se i due file nand1.bin e nand2.bin saranno differenti perché se gli errori si presentati sempre su quei blocchi allora vuol dire che sono davvero badblock e che quindi leggendoli danno valori diversi.

Vediamo quindi come rimappare manualmente i badblock.
Giusto per capire cosa stiamo facendo:

  1. stiamo capendo quali sono i settori danneggiati
  2. copiamo poi il contenuto valido di tali settori dal file xbr.bin nello spazio dedicato ai badblock nel file xbr.bin

Dove: xbr.bin è il file patchato scaricato da internet per la nostra consolle, che ovviamente essendo una copia 1 a 1 della nand dell’xbox 360 ha uno spazio dedicato ai badblock. E ovviamente non ha badblock ehhe

In pratica gli stessi errori di lettura che abbiamo trovato su certi indirizzi ce li ritroveremo anche in scrittura.
Quindi noi cosa facciamo, andiamo a popolare la zona dedicata ai badblock del file xbr.bin con i settori che ci interessano e i blocchi che vogliamo copiare li prendiamo direttamente dal file xbr.bin.
Si tratta in sostanza di popolare la zona dei badblock del firmware xbr.bin in modo da customizzarla per la nostra memoria nand. Esempio: nella nostra nand ci sono 2 badblock? Bene nel firmware xbr.bin nella zona dei badblock ci devono essere quei settori di memoria che dovevano stare nella parte corrotta, perché il controller di memoria li vede rotti e si aspetta di recuperare tali dati dalla zona riservata ai badblock.

  1. Scaricate il programma Degraded 1.1b da xbins
  2. Aprite il file nand1.bin per vedere dove sono rimappati i blocchi danneggiati. L’output del programma potrebbe essere questo:
  3. Il messaggio a video è chiaro, il badblock 0×2CE è rimappato nel bloco 0×3F8
  4. Andiamo a leggere il contenuto del blocco con il comando: nandpro xbr1.bin: -r16 block2ce.bin 2ce 1
  5. Scriviamo il blocco salvato nel file block2ce.bin nel settore 0×3F8 cn il comando: nandpro xbr1.bin: -w16 block2ce.bin 3f8 1

Ripetete questi comandi per ogni blocco danneggiato trovato.
La formula valida per questi badblock è la seguente:

nandpro nand1.bin -r16 blockXXX.bin XXX 1 (Dove XXX è il numero del badblock)
nandpro xbr.bin -w16 blockXXX.bin YYY 1 (Dove YYY è l’indirizzo trovato in degraded,quell di fianco alla voce found)

Nel caso non riuscite ad aprire il file nand1.bin, fatevi una copia di nand1.bin e dopo apritela con un editor esadecimale. Andate all’indirizzo di offset 0×001, vedrete la seguente scritta: “2004 – 2007 Microsoft Corporation”. Cambiatela in: “2004 – 2005 Microsoft Corporation”.
Dopo questa modifica sarete in grado di aprire il file nand1.bin con degraded.

Esiste anche un tool automatico che rimappa i settori danneggiati, si chiama Bad Block Remapper e lo potete scaricare a questo indirizzo: http://www.xboxhacker.net/index.php?topic=13051.0
Per ora funziona solo con memoria a 16mb, io non l’ho mai provato perché non ho mai incontrato badblock. Se funziona fatevi sentire nei commenti di sicuro vi farà risparmiare un sacco di tempo.
Dopo aver corretto tutti i badblock rimappandoli come indicato potrete andare avanti nella guida e scrivere il file xbr.bin nella memoria nand della xbox 360.

Correggere i badblock con nand da 256/512mb

La situazione per le nand a 256/512 mb si complica e la correzioni degli errori può diventare molto molto lunga. Potete provare a correggere a mano ogni badblock ma ho letto in rete che esiste una soluzione più semplice e veloce. Nel file xbr.bin è sostanzialmente scritto l’ultimo firmware (la dashboard per capirci) della microsoft per l’xbox, quindi se noi avviamo prima xell del firmware ufficiale non andiamo a leggere il 90% del contenuto della nand e non incappiamo in nessun errore. Quindi noi possiamo ignorare tutti gli errori ricevuti durante la lettura/scrittura della nostra nand da 256/512 e avviare xell per correggerli in seguito.

Cosa faremo: ignoriamo tutti gli errori in lettura, estrapoliamo keyvault e configblock li scriviamo nel file xbr.bin e poi scriviamo tale file nella memoria nand dell’xbox.
Una volta completata la scrittura con relativi errori di sorta avviamo Xell. Le probilità che xell non si avvii con una nand corrotta sono veramente basse, cioè dovete ricevere davvero una quantità di errori esagerata.

In ogni caso se non si avvia xell o avete schermo nero o led rossi lampeggianti potete sempre riscrivere il vostro dump originale quello del file nand1.bin perché al suo interno sono contenute le informazioni dei badblock. Questo vuol dire che in scrittura riceverete sempre errori ma poi nella nand la parte dei badblock sarà popolata in maniera corretta e quando il controller andrà a cercare i dati per i badblock li troverà senza problemi perché è tutto uguale a prima. Insomma esiste una via di fuga.

Dicevo ma cosa andiamo a fare veramente: avviamo una distro linux Gentoo e poi compiliamo ed eseguiamo un programmino che scrive sulla nand e sistema i badblock.
Bisogna essere capaci di montare un dispositivo usb sotto linux ed essere un minimo pratici di linux, tutti i file che ci servono ovviamente li mettiamo dentro una penna usb.
Allora seguite la procedura descritta sopra e assicuratevi di poter avviare xell, quindi di avere il telecomando o di usare l’ultima versione di XBReboot cioè la 3.

Ecco il materiale necessario per correggere i badblock su nand da 256/512mb

  • Disco Gentoo Live V2 (lo potete scaricare da questo indirizzo: http://downloads.sourceforge.net/free60/gentoo-livecd-xenon-beta-v2.iso)
  • Il file xbr.bin preparato con il vostro keyvault e configblock (seguite le istruzioni spiegate sopra)
  • Un mouse USB,una tastiera USB
  • Una penna USB formattata in fat32
  • Il file xbrflash v.0.3.1 che potete scaricare a questo indirizzo: h*tp*//*ww*meg*upload*com/?d=WNQDG8MS

Ecco quindi le istruzioni:

  1. Copiate il file xbr.bin nella penna usb
  2. Copiate il file xbrflash.c nella penna usb
  3. Collegate mouse e tastiera nelle porte frontali dell’xbox
  4. Inserite il disco Gentoo Live e caricate Xell
  5. Dopo che Gentoo si è avviata andate in: Applications->Accessories->Terminal
  6. Scrivete: sudo passwd
    inserite due volte una password a vostra scelta.
  7. Collegate la penna usb nella porta sul retro dell’xbox
  8. Digitate dal terminale: su
    vi verrà chiesta la password inserita poco prima
  9. Digitate: cd desktop/
  10. Poi ancora: mkdir flash
    In questo modo verrà creata una directory sul desktop dove verrano eseguite delle operazioni
  11. Individuiamo il device della nostra chiavetta usb con il comando: dmesg | grep -i “SCSI device” occhio alle virgolette vanno scritte.
    L’output sarà qualcosa di simile a: SCSI Device sda
  12. A noi interessa sapere che la chiavetta usb è denominata sda
  13. Digitate poi: mount -t vfat -o uid=gentoo,gid=users /dev/sda1 /home/gentoo/Desktop/flash
  14. Digitate poi: cd /home/gentoo/Desktop/flash/
  15. Con il comando: ls –la dovreste vedere i due file xbr.bin e xbrflash.c
  16. Lanciate il seguente comando per compilare i sorgenti e produrre il file a.out: gcc lflash.c
  17. Poi scrivete il comando di seguito per rendere il file a.out eseguibile: chmod +x a.out
  18. Infine eseguite il comando per riscrivere la memoria nand: ./a.out backupnand.bin xbr.bin
  19. Verrà creato un file di nome backupnand.bin e poi verrà flashata la nand.
  20. Se tutto è andato bene quando la scrittura terminerà e ritornerà la shell potrete riavviare l’xbox 360 e si dovrebbe avviare la dashboard come fosse nuova di pacca cioè vi chiederà il setup inziale, lingua,paese ora etc…

Conclusioni finali.

Dopo che si sarà avviata la console sarete in grado di avviare software homebrew come XexLoader che permette il caricamento dei backup da disco usb oppure emulatori e molto molto altro. Questo però sarà argomento dei prossimi post, direi che già oggi ho messo fin troppa carne al fuoco. In un prossimo post illustrerò un metodo veloce per aggiornare l’XBReboot della 360 direttamente da Xell con una distro lite Debian o con un software homebrew apposta.
Incredibile ho finito, questo articolo è lunghissimo ed è stato molto lungo anche da scrivere (un paio di giorni in tutto). Io non ho avuto problemi di badblock quindi mi sono dovuto girare diversi forum internazionali per capire come muoversi. Sicuramente il punto di riferimento è xbox-scene li si trova praticamente tutto.
Come al solito ragazzi spero che questo articolo torni utile a qualcuno e se avete suggerimenti correzioni o qualsiasi altra cosa scrivete nei commeti!!

Vota l’articolo
(11 votes, average: 4.82 out of 5)
Loading ... Loading ...

Condividi l'articolo:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Twitter

Link consigliati

Newsletter e Feed

Ti e' piaciuto questo articolo? allora iscrivi alla newsletter, riceverai ogni nuovo post via mail!!
Loading...Loading...


Se preferiferisci i feed ricordati di iscriverti ai miei Feed!

Commenti

4 Responses to “Xbox 360 JTAG hack How to”

  1. 4
    Mauro Says:

    ciao, volevo kiederti una info. nel caso uno abbia provato ad agg. il firm ma ha letto male la kiave ed il lettore se n’è andato… la dash è aggiornata alla 8… quindi nada jtag… la posso usare solo x vedere i film in dvd?
    ti prego dimmi di no…

  2. 3
    riccardo Says:

    ciao..ben tornato…volevo chiederti una domanda tanto semplice quanto complessa:
    con questo nuovo metodo, il rischio ban è scongiurato?

  3. 2
    Simone Says:

    Ben tornato!!!

  4. 1
    Manolo Says:

    Ola Ben ritornato! Bene cercherò di eseguire la modifica correttamente :D Speriamo in bene!

Lascia un Commento




Protezione antispam: Somma di otto + nove ?