Newsgroup: it.comp.os.dos
Titolo: MBR

Ciao raga... siccome sto realizzando un programmino in asm da mettere al
posto del'MBR, volevo chiedervi una cosa.
Se, cancellando l'MBR e riempiendolo semplicemente di zeri, volessi poi
ripristinarlo... ci sarebbe un modo? Io mi son creato anche un programmino
che mi legge dal disketto l'immagine dell'MBR quindi non avrei problemi a
ripristinare il tutto. Ma se qualcuno volesse farlo, sarebbe tutto ok usando
FDISK? Magari usando la seconda FAT c'č modo di ripristinare tutto?

 FDISK? Magari usando la seconda FAT c'? modo di ripristinare tutto?
Secondo me stai facendo un po' di confusione.
L'MBR non ha molto a che vedere con la FAT, prima o seconda che sia.
L'MBR e' formato da due parti: i primi 446 byte con il codice di avvio,
e i restanti con la tavola delle partizioni.
A questo punto, se ti limiti a sovrascrivere i primi446 bytes, un 
fdisk /MBR
rimette tutto a posto, se hai cancellato anche la tavola delle
partizioni hai qualche problemino in piu', ma se ti sei fatto la copia
di tutti i 512 bytes, non hai problemi.
-- 
          |Save our planet!
   Ciao   |Save wildlife!
  roberto |For your E-MAIL use ONLY recycled Bytes  !!
          |roberto poggi   
rpo...@softhome.net

Si ho capito tutto.... lo so.... ma siccome so che sul disco fisso c'č una
seconda FAT, mi chiedevo se fra le varie informazioni ci fosse anche la
copia dell'MBR e fosse una cosa sottintesa. Il mio problema č: nel caso il
mio programma avesse qualche bug e per qualche motivo non riuscisse a
scrivere sull'MBR il contenuto del file-immagine, ci sarebbe modo di
ripristinare tutto? O sarei fritto, dato che cancellerň anche la partition
table?
E poi.... se sul disco fisso sovrascrivo interamente il MBR con del codice
macchina da me scritto, sovrascrivendo anche la tabella delle partizioni...
e poi al momento che ritengo opportuno ricopiassi in memoria (nel punto in
cui viene caricato il boot record) il vero boot record e con un JUMP facessi
tornare l'esecuzione al punto di partenza, le partizioni sarebbero visibili?
O devono NECESSARIAMENTE trovarsi sul dico fisso in quella posizione per
essere ruconosciute?

 table?
Ho fatto una prova.... sovrascrivendo TUTTO il MBR con degli zeri... ho
riavviato il pc e... SYSTEM BOOT FAILURE (ecc. ecc.). Al che ho provato a
usare FDISK /MBR e tutto torna a posto. Allora da qualche parte c'č anche la
copia del record di avvio!!!

Ritiro quasi tutto: è vero che FDISK  /MBR ha fatto ripartire Windows... ma
è anche vero che non ha ripristinato in modo corretto la tabella delle
partizioni. Infatti il mio disco principale è diviso in due parti... e dopo
aver scritto 512 zeri sull'MBR e usato fdisk, mi sono accorto che è stato
ripristinato solo C:
Che significa tutto ciò?

Che significa tutto ciђ?
Gli indirizzi di C li trova nei BPB (blocco di parametri del BIOS)
del settore (0,2,1), cioe` 63 settori dopo l'MBR.
Non sai lo scherzo che mi ha fatto winbug.. in un disco SCSI avevo
la partizione fat16 con Uindous SE installato, e un'altra copia di
SE installata nel disco IDE di avvio.
Partiziono con fdisk di Linux lo SCSI, lasciando spazio libero in
testa (meno di prima) e poi le partizioni di Linux tutte primarie.
Parte winbug da C=IDE e.. vede ancora intatto D, cioe` lo SCSI!
Mi son precipitato a riavviare temendo fortemente che potesse
scrivermi qualcosa su D, rovinandomi l'installazione della Debian
appena finita.
Riavvio con Linux e spiano l'MBR, rispettando solo la tavola delle
partizioni.
Bene: winbug mi fa la stessa e identica scena.
Allora spiano il BR, cioe` quello che ti ho detto sopra.
Ma al riavvio di winbug mi son venuti i capelli dritti: mi si apre
davanti agli occhi una schermata sconosciuta della.. Adaptec!!
Mi diceva che "Il disco SCSI era stato preparato per essere
utilizzato con Windows" e chiedendomi come partizionarlo.
Ho dato reset, inutilmente:-(  La tavola delle partizioni era stata
cancellata del tutto. Incredibile eh?
-- 
Ciao,		| Attenzione! campo "Reply-To:" alterato ;^)
Remigio Zedda	| E-mail: 
remi...@tiscali.it
 
	-- Linux 2.4.18 su Debian GNU/Linux 3.0 "Woody"

 del settore (0,2,1), cioe` 63 settori dopo l'MBR.
E dove trovo una mappatura di quel settore? Come leggere quei dati?

Ma alla fin fine..... qualunque cosa vada io a scrivere sul boot record di
un disco fisso, nel momento in cui faccio fdisk  /mbr verra riscritto il
codice di avvio ms-dos? Non c'e modo per evitarlo o per renderlo
impossibile???

 impossibile???
NO, non c'e' modo.
In alcune piastre puoi settare il cosiddetto controllo antivirus, che
restituisce un errore a chi tenta di scrivere sul settore 0, ma non e'
detto che fdisk ci faccia caso.
Se il tuo intento e' costringere ad usare il tuo boot record, non ci
riesci.
Se il tuo intento e' di costringere ad usare il tuo boot record,
altrimenti non usate niente altro, puoi mettere nel boot un lieve
programma di crittografia dei settori del disco, estirpando il quale non
si riuscira' ad accedere ai dati presenti sul disco stesso.
Una cosa simile la fa una famiglia di virus di boot.


 Una cosa simile la fa una famiglia di virus di boot.
Che bello riuscire a rendere LEGALE un virus :)



Ho cercato di capire il senso di questa tua domanda, ma - anche
guardando la risposta che ti ha dato RP - niente da fare:-((
Per questo motivo ti rispondo cosi`:
1. Non dando fdisk /mbr, nessuno ti obbliga.
2. Dandolo, ma staccando prima il disco fisso :)
3. Dandolo con certe versioni di winbug: ME, XP.. (?)
4. Mettendoci, come t'han gia` detto, l'antivirus..
5. Taroccando fdisk.exe
Bohh!  8-]





00 salto incondiz. all'indirizzo del codice d'avvio (*)
03 identificativo di sistema operativo
0b inizio BPB
26 fine, deve essere l'esa 29, e` la "firma" o "magic number"
27 n. di serie
2b etichetta
36 tipo di fat
3e codice (*)
fe magic number del BR, deve essere la parola 55aa
Puoi dare da debug, per il solo BPB:
d 0b l 27
se non sbaglio, ma ti conviene con un qualsiasi editor..


 5. Taroccando fdisk.exe
Non posso taroccare FDISK di ogni singolo floppy del mondo

Praticamente ho usato un lettore esadecimale che fa anche l'accesso diretto
ai settori di un disco. Mi sono spostato successivamente di un settore alla
volta finchè non ho letto SETTORE 64 DI (ASSAI). Quindi questo è il 64esimo
settore... ma perchè per leggerlo devo accedere alla traccia 0, settore 1,
testina 1 piuttosto che traccia 1,settore 1, testina 0? Cioè non sono
consecutivi?
P.S.: Qui vedo che c'è il codice di avvio di windows, infatti ci sono i
messaggi di errore del disco non valido ecc. ecc.
Ma se cancello questi settori blocco il pc?

 Che bello riuscire a rendere LEGALE un virus :)
Occhio, la cosa e' sicuramente legale se su quell'hd ci metti solo roba
che hai scritto tu.
Se in qualche modo tu cripti il lavoro di un altro, e con un semplice
comando perfettamente lecito nell'ambiente ospite (windows) ottieni un
frullato di partizioni, ti conviene avere perry mason come amico.
Traduzione: modificare il boot sector in modo che se usano qualcosa di
diverso rendono il disco illeggibile, puo' rientrare nel reato di
danneggiamento, violenza sulle cose, insomma, rischi di vederti
applicato l'articolo del codice penale che dovrebbe proteggerci dai
virus.
E se ad esempio succedesse ad una macchina su cui risiedono dati
piuttosto importanti, le richieste di indennizzo potrebbero farti passare
la voglia. :-)


 la voglia. :-)
Beh quello che io voglio fare è criptare solo le istruzioni necessarie
all'avvio del pc. Quindi AL MASSIMO il pc sarà inbootabile (se riesco in
quello che voglio). E una copia dei settori modificati la manterrò io. E, se
questo non bastasse, sul contratto scriverò che non mi riterrò responsabile
di qualunque conseguenza del tentativo di disinstallazione e/o manomizzione
del mio software. Sotto questa affermazione ci saranno le tipiche tre firme:
1) ho letto
2) ho capito quello che ho letto
3) ho capito quello ke sto firmando

 quello che voglio). E una copia dei settori modificati la manterr? io. E, se
Ok, questo ti mette abbastanza in regola con il cliente, ma per fare
qualcosa di serio devi criptare anche parte dei programmi d'avvio di
microsoft, e loro si' che se la potrebbero prendere, e il rischio di una
impallatura cosmica durante un windows update ce l'hai sempre.
Non voglio dirti di non farlo, voglio solo dirti che cammini sui carboni
ardenti.
