Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Hacking del BIOS (1/5)
Scritto da Rocco Galati il 26-11-2007 ore 10:52
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. 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:
  1. <span style="font-size:1.0em">
  2. @echo off
  3. echo Questo script eseguirà il dumping della tua eeprom
  4. if "%1"=="" goto no_file
  5. echo d f000:0 ffff > temp.scf
  6. echo q >> temp.scf
  7. debug < temp.scf > %1
  8. echo BIOS (ROM) dumping eseguito al %1
  9. goto end
  10. :no_file
  11. :end
  12. </span>
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:
  1. <span style="font-size:1.0em">echo d f000:0 ffff > temp.scf</span>

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.
Precedente: JUG Milano Meeting #26
Successiva: Scopriamo quali sistemi operativi sono installati in una rete (1/2)
Intervento di Giulio Bertelli a.k.a. dado2005 del 27-11-2007 ore 01:17, Milano (MI)
Plebeo
Plebeo
(1 intervento)
Iscritto il 27-11-2007
Sarebbe utile se nelle varie puntate verranno date info su:

- bios editor

- come utilizzarli

- cosa è possibile modificare

- come modificare/personalizzare il bios

- documentazione indispensabile per modificare il bios(datasheet del chip_set, ecc)

- referenze bibliografiche sul bios.
Intervento di Rocco Galati a.k.a. roccogalati del 27-11-2007 ore 13:02, Torino (TO)
Nobile
Nobile

(87 interventi)
Iscritto il 07-12-2002
Citazione:
Sarebbe utile se nelle varie puntate verranno date info su:

- bios editor

- come utilizzarli

- cosa è possibile modificare

- come modificare/personalizzare il bios

- documentazione indispensabile per modificare il bios(datasheet del chip_set, ecc)

- referenze bibliografiche sul bios.

Sarà fatto! ;-)
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.895 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.