1. A breve aggiorneremo la piattaforma di Reboot per risolvere alcuni problemi con i plug-in, quindi chiediamo ancora un po' di pazienza, Lo staff di Reboot

LE PROTEZIONI NELLE CONSOLES - NINTENDO NES

Discussione in 'SNES / NES / Famicom' iniziata da student, 9 Ago 2017.

  1. student

    student Staff Livello 41 Staff

    Iscritto:
    30 Ago 2015
    Messaggi:
    3.941
    Like ricevuti:
    3.946
    [​IMG]
    Il mondo del console hacking non esisterebbe se le case produttrici di consoles non prevedessero sistemi di protezione dei loro prodotti. Questi sistemi, hardware e/o software, si sono sviluppati partendo da semplici implementazioni fino ad arrivare a complessi algoritmi gestiti da hardware dedicato ed elaborati da altrettanto hardware/software.​

    Iniziamo con la prima console prodotta da Nintendo, il NES, Nintendo Entertainment System, product code HVC-001 (Home Video Computer).

    [​IMG]
    nella foto la versione PAL/NTSC [NES-001] a confronto con la JAP [HVC-001]

    EDIT: chiedo scusa a StandardBus per non aver citato il suo ottimo articolo precedente al mio sull'argomento !

    LA PROTEZIONE DEL NES - IL CIC !

    Questo chip, acronimo di Checking Integrated Circuit, rappresenta la prima primitiva forma di protezione delle cartucce del Nintendo Entertainment System. Venne studiato per i seguenti scopi:
    • Per dare a Nintendo un controllo globale sui giochi rilasciati per la piattaforma NES
    • Per evitare l'avvio di cartucce pirata sul sistema NES
    • Per rendere più facile il lockout dei giochi provenienti da regioni differenti
    La console NES fu prodotto nel 1983 ma il CIC venne introdotto da Nintendo a protezione delle sue proprietà intellettuali quando la compagnia decise di lanciare la console nei mercati esteri quindi a partire dal 1985 vista l'esperienza avuta da Atari con la propria console 2600 la quale ebbe un crollo di vendite proprio a causa dello sviluppo di titoli di scarso valore da parte di terzi; quindi questo sistema di protezione non si trova nelle consoles/cartucce giapponesi ! Il sistema di protezione CIC non è stato implementato nemmeno nel NES 2 o "top-loading model" o "NES-101", prodotto da Nintendo tra il 1993 ed il 1995.
    Lo possiamo vedere in tutto il suo splendore "retroelettronico" in questa foto che mostra il PCB di un NES:
    [​IMG]
    [​IMG]
    Trattasi dunque di una ROM, quindi non è possibile riscriverla, e si trova all'interno della console, che fa da "blocco", abbinata ad un corrispettivo chip, che fa da key, presente nelle cartucce NES che non siano quelle giapponesi:
    [​IMG]
    Questo, chip prodotto dalla Sharp, puo'essere identificato con i seguenti codici scritti sul suo envelope: 3193 - 3193A - 3195 -3195A - 3196 - 3196A - 3197 - 3197A - 6113 - 6113A - 6113B1 con queste caratteristiche (non ufficiali ma elaborate da chi lo ha studiato nei vari forums):

    3193 - USA/canada
    6113 - simile al precedente ma con layout leggermente più piccolo con alcune differenze nell'inizializzazione
    3194 - sconosciuto, forse koreano
    3195 - PAL B (Francia, Spagna, Germania, Svezia, ecc...)
    3196 - asia / HK
    3197 - PAL A (Gran Bretagna, Italia e Australia)
    3198 - Famicombox lockout chip (trovato sia nelle cartucce che nel "Box")
    3199 - Famicombox coin timer (trovato solo nel "Box")

    con contenuto differente a seconda dunque della regione in cui la console ed i giochi sarebbero stati dedicati.


    COME FUNZIONA

    Fino al 2010 nessuno era stato in grado di documentarne pubblicamente le funzioni finchè Segher, membro del allora noto Team Twiizers (attuale team fail0verfow) che molti di voi ricorderanno nella scena dell'hacking Wii, documentò personalmente le sue caratteristiche.

    Come abbiamo già detto il sistema è costituito da 2 parti:
    - un microcontrollore Sharp SM590 4bit (nella console) che controlla la cartuccia inserita e fa da "lock"
    - un chip corrispondente nella cartuccia in grado di inviare al chip nella console un codice che fa da "key"; se la key non è valida il sistema si resetta.

    Il pinout del chip è il seguente:
    [​IMG]

    Il software che gira nel chip viene chiamato 10NES (quindi il CIC rappresenta l'hardware mentre il 10NES rappresenta il software che gira nel CIC).

    Il PIN-lock è il PIN4; il PIN3 rappresenta invece un "seed" ed è collegato ad un condensatore il quale non impiega sempre lo stesso per scaricarsi; il CIC registra questo tempo e lo utilizza come generatore pseudocasuale per decidere quali dei 16 possibili "streams" utilizzare e lo comunica al key chip nella cartuccia.

    Il PIN10 del chip lock (nella console) è collegato al PIN7 del chip key (nella cartuccia) ed è in grado di resettare la console.

    I PINs 11 e 12 (RESET_SPEED) sono utilizzati per decidere a quale velocità "blinkare" la reset line (circa 0.4s, 0.6s, 0.8s, 1.0s ogni on/off) e quindi riavviare la console.

    I dumps ed il codice ASM commentato del chip possono essere trovati qui mentre ulteriori dettagli potete trovarli nell'articolo originale di Segher.

    COME BYPASSARLO

    1 - molti sviluppatori terzi scelsero di inviare un rapido impulso elettrico (chiamato in gergo "voltage spike") per metterlo temporaneamente fuori uso e permettere quindi l'esecuzione del programma non licenziato da Nintendo. Nintendo corse ai ripari contro questa "tecnica" producendo una revisione hardware del NES immune allo specifico "attacco" (in particolare quelle con la scritta "NES-CPU-11" sul PCB); il caso volle invece che le revisioni più datate (scritta "NES-CPU-04" sul PCB) fossero invece sostanzialmente incapaci di supportare la protezione quindi, se dovete comprare un NES usato, cercate di capire la revision hardware e preferitene una "vecchia" :smile:
    [​IMG]

    2 - alcuni sviluppatori (come la HES) svilupparono invece un "dongle" capace di connettersi ad una cartuccia autentica per bypassare tramite essa il controllo:
    [​IMG]

    3 - Una azienda affiliata alla Atari, chiamata Tengen, riuscì ad ottenere in modo "abusivo" il brevetto dal United States Patent and Trademark Office (il codice su cui si basa il controllo prende il nome di 10NES) sostenendo di doverlo avere per difendersi in una causa legale; tale brevetto fu utilizzato per produrre un chip clone che venne chiamato Rabbit (per tutta la bagarre legale vi rimando a questo interessante articolo).

    4 - Una piccola azienda chiamata RetroZone produsse, dopo lo scadere del brevetto del 10NES che terminò il 24 Gennaio 2006, un proprio chip basandosi sul reverse engineering del precedente Rabbit e lo chiamò CIClone :smile:
    [​IMG]
    Ulteriori magnifici dettagli del suo decapping e funzionamento li potete trovare qui.

    5 - Il chip è stato successivamente emulato in microcontrollori come l'ATtiny13A (nella foto i pins del microcontrollore da collegare ai rispettivi pins sulla cartuccia NES):
    [​IMG]

    6 - Dato che in alcuni casi il sistema di protezione non riusciva ad autenticare le cartucce ufficiali (ad esempio se i contatti della cartuccia non erano puliti a dovere), una hardmod per disabilitarlo è quella di tagliare il PIN4 del chip:
    [​IMG]
    oppure di collegare il PIN4 del chip alla massa (nella foto PIN14), in questo caso il chip funge automaticamente sia da lock che da key:
    [​IMG]
    Sono inoltre stati decodificati i valori di alcuni key/seeds:
    3193 - USA/Canada
    LOCK: 3952F20F9109997
    KEY: x952129F910DF97

    3195 - Europe
    LOCK: $17BEF0AF5706617
    KEY: $x7BD309F6EF2F97

    3196 - Asia
    LOCK: 06AD70AF6EF666C
    KEY: x6ADCF606EF2F97

    3197 - UK/Italy/Australia
    LOCK: 558937A00E0D66D
    KEY: x79AA1E0D019D99

    PROTEZIONE FISICA - I PINs

    Per evitare l'utilizzo delle cartucce giapponesi nelle consoles di altre regioni e viceversa la console JAP (Famicom) aveva cartucce più piccole a 60 PINs mentre le altre erano a 72 PINs:
    [​IMG]
    di conseguenza non era fisicamente possibile scambiarle tra consoles di regioni differenti.

    Ovviamente in poco tempo furono creati degli adattatori per entrambe le situazioni per superare questo "blocco" regionale con incluso il bypass del CIC tramite integrato CIClone-style oppure un chip Sharp originale "cannibalizzato" da una cartuccia originale:
    [​IMG]
    [​IMG]



    CONCLUSIONI

    "Siamo agli albori delle tecnologie di protezione ma già l'ingegno non mancava sia da parte dei produttori che da parte dei "taroccatori" !



    Prossima puntata: LE PROTEZIONI DEL NINTENDO FDS !

    Potrebbe inoltre interessarvi QUESTO ARTICOLO che spiega anche come venivano dumpate cartucce e dischi :smile:

    Se l'articolo vi è piaciuto mi piacerebbe descrivere le protezioni delle consoles successive al NES e poi passare alle consoles di casa SEGA ed eventualmente anche SONY. Fatemi sapere :smile:
     
    #1
    Ultima modifica: 6 Ott 2018
    A turi94, lokiu.ox, Shajk00 e 21 altri utenti piace questo elemento.
  2. Guglio

    Guglio Staff ıllıllı Staff

    Iscritto:
    3 Set 2016
    Messaggi:
    3.290
    Like ricevuti:
    2.276
    Davvero interessante, spero davvero che sarà a puntate per le console sucessive
     
    #2
    A spn, domyGX e student piace questo elemento.
  3. NoWar

    NoWar Livello 9

    Iscritto:
    12 Nov 2015
    Messaggi:
    235
    Like ricevuti:
    73
    Davvero un articolo interessante (come tutti gli interventi che ho sempre letto qua scritti da Student).
    La soluzione del bypass con il taglio del piedino :smiley: super davvero :smiley:
     
    #3
    A domyGX e student piace questo messaggio.
  4. student

    student Staff Livello 41 Staff

    Iscritto:
    30 Ago 2015
    Messaggi:
    3.941
    Like ricevuti:
    3.946
    Grazie ragazzi, ho aggiunto alcune nuove info sui metodi di bypass 1 e 6 :smile:
     
    #4
    A domyGX, iostream e gabrismo piace questo elemento.
  5. domyGX

    domyGX Livello 8

    Iscritto:
    13 Mar 2016
    Messaggi:
    216
    Like ricevuti:
    28
    Interessante spero in un continuo
     
    #5
    A student piace questo elemento.
  6. spn

    spn Livello 4

    Iscritto:
    26 Gen 2015
    Messaggi:
    62
    Like ricevuti:
    6
    Ancora meglio a mio avviso la modo mettendo il pin 4 a gnd...
     
    #6
    A Signo983 e student piace questo messaggio.
  7. BadBug

    BadBug Livello 1

    Iscritto:
    18 Lug 2017
    Messaggi:
    3
    Like ricevuti:
    3
    Interessante, anche se primitivi erano dei buoni "DRM"
     
    #7
    A student piace questo elemento.
  8. zoomx

    zoomx Livello 19

    Iscritto:
    12 Set 2015
    Messaggi:
    892
    Like ricevuti:
    339
    Quando ho visto il chip ho subito pensato alla modifica hardware. Magari si potrebbe rimuovere il chip e conservarlo da parte.
     
    #8
    A iostream e student piace questo messaggio.
  9. student

    student Staff Livello 41 Staff

    Iscritto:
    30 Ago 2015
    Messaggi:
    3.941
    Like ricevuti:
    3.946
    Esatto ! Si iniziava a configurare una sorta di "standard" per le protezioni da parte di big N !
     
    #9
  10. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.092
    Like ricevuti:
    5.298
    #10
  11. iostream

    iostream Phoenix Wright

    Iscritto:
    13 Ago 2016
    Messaggi:
    4.895
    Like ricevuti:
    1.617
    Appena ho letto l'articolo ho pensato a quel metodo! Ma rimuovendolo non partono più i giochi, a quanto ho capito (quindi l'unica soluzione sarebbe rimuovere il pin di reset come dice quel thread linkato da Alan)
     
    #11
    Ultima modifica: 10 Ago 2017
  12. student

    student Staff Livello 41 Staff

    Iscritto:
    30 Ago 2015
    Messaggi:
    3.941
    Like ricevuti:
    3.946
    Scusa standard, me lo ero proprio perso o dimenticato :pensive: lo linko nel mio post appena torno a casa :wink:
     
    #12
  13. disx

    disx Livello 2

    Iscritto:
    11 Feb 2016
    Messaggi:
    28
    Like ricevuti:
    3
    Davvero interessante e scritto benissimo, comprensibile anche per uno con poche conoscenze come me.

    Spero in prossimi articoli :grinning:
     
    #13
    A student piace questo elemento.
  14. IlVampirelloXY

    IlVampirelloXY Livello 16

    Iscritto:
    3 Feb 2016
    Messaggi:
    700
    Like ricevuti:
    299
    Ottimo articolo ,,,, che bello questo mondo di protezioni vintage …. quando tutto era piu' semplice ma allo stesso tempo difficile per i tempi.
    Vamp.
     
    #14
    A student piace questo elemento.
  15. NicoLink

    NicoLink Livello 4

    Iscritto:
    25 Gen 2015
    Messaggi:
    79
    Like ricevuti:
    45
    Ottimo articolo, davvero piacevole e interessante.

    Complimenti!
     
    #15
    A student piace questo elemento.
Sto caricando...

Condividi questa Pagina