Orijinal Microsoft Xbox, devrin konsolları içinde birazcık benzersizdi zira esasen bir tek bir PC idi. Bu, oyuncuların kaçak oyunlar ve alternatif işletim sistemleri çalıştırmasına olanak tanıyan modçipler dahil olmak suretiyle her türden saldırıyı mümkün kıldı. Sadece, elbet Microsoft bu tür faaliyetlere pek istekli değildi ve donanımı kilitlemeye çalıştılar. Bu güvenliğin temeli, sistemin başlatma esnasında okuması ihtiyaç duyulan 512 baytlık gizli saklı bir bootrom’du. Bu, Xbox yeniyken bir FPGA ile koklandı, sadece Markus Gaasedelen azca ilkin JTAG arayüzü üstünden alternatif bir hack gerçekleştirmiş oldu..
Gizli saklı bootrom aslına bakarsanız bilindiğinden, bu hack’in ergonomik faydası sınırlıdır. Sadece, gerçek donanım korsanlığı mevzusunda hala garip bir gözlem. Bunnie’nin meşhur FPGA hilesine bir alternatiftir ve o sırada nelerin başarılabileceğini gösterir.
Orijinal Xbox yalnızca Intel Pentium III CPU’lu bir bilgisayar olduğundan, hata ayıklama için bir JTAG arabirimi içeriyordu. Gaasedelen, eğer erişebilseydi, gizli saklı bootrom’u JTAG vesilesiyle okuyabileceğinden şüpheleniyordu. Sadece Microsoft tam olarak bunu engellemek istedi, bu yüzden JTAG için TRST# pinini CPU’nun altına, sistem çalışırken kimsenin onunla etkileşime giremeyeceği şekilde sakladılar. Bu hack’i gerçekleştirmek için Gaasedelen’in Xbox düzgüsel şekilde önyüklenirken bu pime erişmenin bir yoluna ihtiyacı vardı.
Orijinal Xbox CPU (????: Markus Gaasedelen )
Bu erişime ulaşmanın anahtarı, CPU ile Xbox ana kartı içinde oturan hususi bir “aracı” kartıydı. Bu hususi PCB, bir çok CPU sinyalinin direkt ana karta geçmesine izin verir, sadece bir System 50 konektörü vesilesiyle JTAG TRST# pinine harici erişim sağlar. Xbox söz mevzusu olduğunda, CPU olması gerektiği şeklinde yerinde. Sadece aracı kart, Gaasedelen’in TRST# pinine ulaşmasına izin verdi. Standart bir CodeTAP donanım hata ayıklayıcısı ve uygun yazılımla, başlatma esnasında ilgili verileri koklayabilmesi gerekirdi.
Sadece bir mesele vardı ve sistem başlangıç denetimlerinde başarısız oluyordu. 200 ms içinde bir PIC16 mikrodenetleyicisinden “tamam” almayı bekler, sadece hata ayıklama donanımı bunu yavaşlattı. Bu kontrolün üstesinden gelmek için Gaasedelen, “tamam” sinyalini öykünmek etmek ve PIC16 kendi kendine kontrolünü atlamak için bir Arduino Uno geliştirme kartı kullandı.
(????: Markus Gaasedelen )
Bu geçici çözümle Gaasedelen, gizli saklı bootrom’un 512 baytının tamamını okuyabildi. Gaasedelen bunu yirmi yıl ilkin başarmış olsaydı, bu büyük bir haber olurdu ve mod sahnesinde bir kahraman olurdu. Sadece bugün bile, bu fazlaca etkisinde bırakan bir başarı ve donanım korsanlığı mevzusunda mükemmel bir ders.
Source: www.hackster.io