' **************************************************************************** ' * * ' * Virus killer - First Aid version only!! * ' * * ' * by Richard Karsmakers, July 2nd 1988 * ' * * ' **************************************************************************** ' Disk$=Space$(512) !Install buffer for bootsector ' Do Alert 1,"PLEASE INSERT DISK",1,"OK",Dummy% ' Void Xbios(8,L:Varptr(Disk$),L:0,W:0,W:1,W:0,W:0,W:1) !Read bootsector ' If Dpeek(Varptr(Disk$))=&H6038 And Lpeek(Varptr(Disk$)+&H7A)=&H4E560000 And Lpeek(Varptr(Disk$)+&HE0)=&H3F3C0001 Alert 1,"DISK INFECTED|SIGNUM VIRUS!!",1,"REPAIR",Dummy% @Repair Goto The_end Endif ' If Dpeek(Varptr(Disk$))=&H601E And Lpeek(Varptr(Disk$)+&H130)=&H44E3A3C And Lpeek(Varptr(Disk$)+&H1CE)=&H142C4E Alert 1,"DISK INFECTED|MAD VIRUS!!",1,"REPAIR",Dummy% @Repair Goto The_end Endif ' If Lpeek(Varptr(Disk$)+&HF0)=&H3F3C0000 And Lpeek(Varptr(Disk$)+&H90)=&H14 And Lpeek(Varptr(Disk$)+&H1A0)=&HDFFC0000 Alert 1,"DISK INFECTED|ACA VIRUS!!",1,"REPAIR",Dummy% @Repair Goto The_end Endif ' Alert 1,"DISK NOT INFECTED|BY ANY OF THE|THREE VIRUSES...",1,"OK",Dummy% ' The_end: Loop Procedure Repair ' Lpoke (Varptr(Disk$)),0 !Get rid of branch command For X%=30 To 512 Step 4 !Clear bootsector except for BPB Lpoke (Varptr(Disk$)+X%),0 Next X% ' Void Xbios(9,L:Varptr(Disk$),L:0,W:0,W:1,W:0,W:0,W:1) !Write bootsector ' Return