>
MENU
realizzazione_siti_web.jpg

Verifichiamo l’aspetto della nostra applicazione Web

figure2.jpg

Il File System di Linux (2/2)

27 novembre 2007 Visualizzazioni: 162 Focus

Hack del BIOS (Parte I)

La prima istruzione che viene eseguita all’avvio di un computer appartiene al Basic Input-Output System, meglio noto con l’abbreviazione di BIOS. Nei vecchi sistemi, il BIOS, scritto nel linguaggio assembler del processore supportato dalla scheda madre, si interfacciava direttamente con l’hardware della macchina ed era posto all’interno di una ROM, vale a dire una memoria di sola lettura.

bios.jpg

Con l’andare del tempo, le case produttrici hanno pensato bene di inserirlo all’interno di memorie EEPROM riscrivibili, per meglio poter ottimizzare i loro prodotti con eventuali future patch facilmente installabili dall’utente stesso.

Le funzioni principali che il BIOS è chiamato a svolgere sono: il testing dell’hardware; il loading del sistema operativo; e l’inizializzazione delle periferiche; fornire ai vari software una comoda interfaccia per utilizzarle. Il tutto viene fatto in automatico, in modo quasi trasparente all’utente, proprio perché queste operazioni sono delicate ed una configurazione non corretta delle impostazioni del BIOS comprometterebbe l’intera affidabilità del sistema. Di fatti, le società produttrici raccomandano di non modificarlo in nessun modo, a meno che non sia strettamente necessario.

Ma nulla ci impedisce di approfondire il suo studio, per capire come questo funzioni più nel dettaglio. A sistema operativo avviato, è possibile effettuare il dumping della EEPROM presente nella scheda madre che si sta usando semplicemente scrivendo pochissime righe di codice. Vediamo subito un esempio:

@echo off
echo Questo script eseguirà il dumping della tua eeprom
if "%1"=="" goto no_file
echo d f000:0 ffff > temp.scf
echo q >> temp.scf
debug < temp.scf > %1
echo BIOS (ROM) dumping eseguito al %1
goto end
:no_file
:end

Per far funzionare questo script bisogna richiamarlo passandogli come parametro, direttamente da riga di comando, il nome del file su cui si vuole salvare il dumping della EEPROM . Questa procedura permettere di avere l’esatto contenuto presente nel chip della scheda madre, molto utile se si ha la necessità di ritornare alla precedente versione del BIOS nel caso sfortunato di un tentativo di aggiornamento andato male. Se vi state chiedendo il motivo di questo comando:

echo d f000:0 ffff > temp.scf

dovete sapere che, come ogni macchina a stati finiti che si rispetti, durante il boot, il BIOS fa partire il computer dal suo stato iniziale, inviandogli quindi un segnale di reset ed inizia ad eseguire le istruzioni, come ad esempio il detecting dell’hardware ed il setting della RAM, proprio a partire dall’indirizzo F000:0. Subito dopo, se i test e tutte le procedura sono andate a buon fine, incarica l’MBR di trovare l’immagine del sistema operativo e di avviarlo. Nei prossimi articoli vedremo come resettare le impostazioni del BIOS, sia via hardware che software, e come eseguire su di esso delle vere e proprie operazioni di hacking.

di Rocco Galati - Programmazione.it

twittergoogle_pluslinkedinmail
  • http://mirr0r.altervista.org mirr0r

    Grazie per questo post, davvero molto interessante!Aspetto con impazienza la seconda parte.. Non ho mai approfondito, ma se non sbaglio esiste anche un progetto per un bios open source così sarebbe ancora più facile dire “happy hacking!” :-)

  • lightuono

    Ottimo articolo!!! siete grandi :D!! Molto comodo quello script, sapete se c’è uno simile su linux? Se non sbaglio quello è batch scripting di msdos

  • Ntropia

    Vediamo se ho capito bene.
    Io leggo TuxJournal.
    Trovo un articolo interessante, con una serie di operazioni per fare certe cose.
    Il presupposto è che io debba installare un sistema DOS per eseguire queste operazioni.

    Mettiamola così: a me sembra una gran presa per i fondelli, e l’ennesima mossa (come tante ce ne sono in rete) per avere un altro articolo, un altro post…

    Non voglio fare l’integralista, ma se ci fosse stata qualche clausola avrei pure potuto passare. Che so: il BIOS è stato studiato e hackerato sopratutto negli anni in cui il DOS la faceva da padrone, quindi lo scrippete l’ho imparato solo per MS-DOS…

    Oppure, molto meglio: il BIOS blablabla, lo srippete come sopra, *ma* l’ho provato su FreeDOS, DosBox, o che so io, e funziona, quindi…

    Altrimenti, alternativa forse più facile, cambiate nome al journal.

    Per piacere.

    eNjoy

  • http://www.mangaitalia.net Rocco Galati

    lo script funziona anche su altri sistemi operativi, su unix basta creare uno script in bash con quello stesso codice, eventualmente apportare delle piccole modifiche a livello di “grammatica” ma il senso dello script è quello… ;-)

  • IlDruido

    @Ntropia: ne sai un sacco, eh? Io almeno sto zitto, o con umiltà chiedo, tu sulla base di una domanda di un altro utente (che non era sicuro, n.d.r.) hai sputato sentenze.
    Però sai usare termini simpatici, questo te lo concedo…