Web Analytics

Xbox_SMC

⭐ 58 stars Turkish by Prehistoricman

🌐 Dil

Xbox_SMC

Orijinal Xbox'tan alınan PIC16/Xyclops dökümleri ve bazı tersine mühendislik çalışmalarıyla IDA veritabanları.

Orijinal bir Xbox'tan alınan PIC16LC63A'nın görüntüsü

Xyclops flaşlama (XycloMod)

Bkz. Xyclops dizini ve README

Dump'lar

Her PIC dökümü için .bin dosyasındaki baytlar, IDA'ya doğru şekilde yüklenmesi için takas edilmiştir. Yani PIC belleğinin ilk kelimesi byte_0 + byte_1 << 8'dir.

.idb IDA veritabanlarında değişkenler hakkında bilgi ve veritabanı not defterinde bazı gözlemler vardır.

SMC sürümlerinin ayrıntılı dökümü için bu wiki sayfasına bakınız: https://xboxdevwiki.net/Xboxen_Info

B2A

DVT3 Xbox'tan döküldü. P01 ile aynı yapılandırma kelimesine sahip. Ayrıca üretim PIC'lerinin aksine yapılandırma alanında cihaz kimliği 0000 0000 000B 002A olarak yazılmıştır.

Boot challenge tamamen eksik.

D01

XDK BETA 2 Xbox'tan döküldü. Boot challenge eksik olması dışında P01 ile özdeş. Beklenen boot challenge yanıtını hesaplayan fonksiyon hala mevcut, ancak hiçbir zaman çağrılmıyor.

DXF

XDK D2 debug kitinden döküldü. D01'e çok benzer, ancak biraz farklı tepsi, aşırı ısınma ve boot mantığına sahip. Boot challenge D01'deki ile aynı şekilde eksik.

D2E

Tuscany (v1.6) geliştirme kitinden döküldü. Xyclops çipi X01202-001 olarak işaretlenmiş, ve perakende ünitelerde bulunan A-A02 veya A-B01 hattı eksik.

FC00'deki debug seri kodu perakende P2L dökümü ile eşleşiyor. 0x4000 ila 0xFBFF arasında garip bir veri deseni var.

P01

v1.0 Xbox'tan döküldü. Yapılandırma kelimesi 0x86: Kod koruma etkin olmadan SMC klonları için uygun bir yapılandırma değeri 0x3FB6'dır.

P11

v1.3 Xbox'tan döküldü. P01 ile aynı yapılandırma kelimesine sahip.

P11'de P01'e göre birkaç küçük değişiklik var; ek SMBus komutu (0x22 yazma), farklı LED öncelikleri ve boot için daha gevşek zamanlamalar gibi.

v1.3'ün karıştırılmış dökümlerini v1.4 ile karşılaştırdım ve eşleştiler. Bu, çok büyük olasılıkla aynı programa sahip oldukları anlamına geliyor.

P2L

v1.6 Xbox'tan çıkarıldı. Xyclops revizyonu A-A02. Intel 8051 kodu içeriyor fakat işlevi bilinmeyen birçok özel fonksiyon kaydı var.

Debug seri portu FC00 adresindeki kod tarafından çalıştırılıyor. Görünüşe göre, çalışmayı durdurabilen, veri dökebilen ve kayıtlar/RAM üzerinde yazma yapabilen ilkel bir hata ayıklayıcı.

Xyclops dökümü

Xyclops çipinde 'debug' için 3 pin var: TXD (pin 64), RXD (pin 63) ve DEBUG (pin 29). Seri portu TX ve RX pinlerinde etkinleştirmek için DEBUG pinini yüksek seviyeye ayarlayın. Seri iletişim 9600 baud hızında çalışır.

Protokol genellikle <önemsiz> formatında olan 4 baytlık komutlara dayanır.

0x14 komutu her seferinde 64 bayt BIOS verisi, 0x15 ise her seferinde 64 bayt SMC program verisi döker. Xyclops'tan alınan bir döküm olan P2L.bin depoda dahil edilmiştir. Kendi makinenizi dökmek için xyclops_dumper.py de dahildir.

PIC döküm metodolojisi

Tam yazı için https://wiki.recessim.com/view/PIC_Burnout

PIC'de kod koruması etkin, bu yüzden tüm veriler 0000 olarak okunuyor. Bunun yerine karıştırılmış veri çıkışı almak için bir yöntem kullandım, feda edilen bir çip ile karıştırma algoritmasını keşfettim ve bir çeşit exploit kullanarak ROM verisini bazı bitleri bilinen değerlere değiştirmek için kullandım. Daha sonra, birden fazla karıştırılmış dökümlerden gerekli bilgileri çıkartıp orijinal veriyi yeniden oluşturabiliyorum.

PICProgrammer

PICProgrammer, araştırmalarımda kullandığım RP2040 için birkaç Arduino projesinden biridir. PIC üzerinde ICSP (devre içi seri programlama) işlemlerini gerçekleştirmek için basit bir komut satırı arayüzü sunar. Esnekliği ve üreticinin öngörmediği işlemlerin yapılabilmesi nedeniyle, özel amaçlı bir programlayıcı (ör. PICkit) kullanmaktan daha avantajlıdır.

Bunu kullanmadan önce elektronik ve programlama konusunda iyi bir anlayışa sahip olmanız ve komutları çalıştırmadan önce ne yaptıklarını dikkatlice incelemeniz gerekir.

--- Tranlated By Open Ai Tx | Last indexed: 2025-09-20 ---