home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1993-04-14 | 2.4 KB | 117 lines |
- >ModKill
- FREEWARE
-
- Steven Kramer
- Supplied with !3DMatrix
- in the struggle against
- the "module" virus.
- $" at line : ";
- block 256,code 512+1024*16,file 400<<10
- C%=code
- nc%=0
- "Enter search area ( (R)oot/(S)ystem/(A)DFS/Other ) ? ";
- ok%=
- "S","s"
- <root$="scsi::4.$.!System":
- <- ALTER THIS TO YOUR SYSTEM
- "R","r"
- 4root$="scsi::4.$":
- <- ALTER THIS TO YOUR SYSTEM
- "A","a"
- root$="ADFS:$"
- '"Give the root directory : "root$
- "Search root :"root$'
- tree(root$)
- "Cured = ";c%
- "Not cured = ";nc%
- tree(dir$)
- e%,t%
- "OS_GBPB",9,dir$,block,1,e%,256,"*"
- ,,e$,,e%
- e$=dir$+"."+e$
- e%<>-1
- "OS_File",5,e$
- t%,,f%
- (f%>>>8)=&FFFD96
- e$="CFS#"+e$:
- "OS_File",5,e$
- t%,,f%
- (f%>>>8)=&FFFFFA
- t%=2
- (f%>>8)=&FFFD96
- :e$="CFS#"+e$
- search
- "*** !INFECTED! *** ";e$
- len%>400*1024
- 1,"File too large !. DIM some more (file)"
- "OS_File",255,e$,file
- file!4<>l%-&3BC
- file!8<>l%-&2F4
- file!12<>l%-&29C
- "Can't cure file "+e$:
- 7,7,7,7:nc%+=1
- c%+=1
- file!4=l%-&2FC-file!(l%-12)
- file!(l%-12)=0
- file!4=0
- file!8=l%-&2CC-file!(l%-16)
- file!(l%-16)=0
- file!8=0
- file!12=l%-&278-file!(l%-8)
- file!(l%-8)=0
- file!12=0
- "OS_File",10,e$,&FFA,,file,file+l%-956
- tree(e$)
- e$,4)="CFS#"
- e$,5)
- e%=-1
- search
- "OS_File",5,e$
- ,,,,len%
- l%=(len%+3)
- 12,3,B%,file,16
- Q8=(file!4=l%-&3BC
- file!8=l%-&2F4
- file!12=l%-&29C)
- fullsearch
- B%=0
- "Couldn't open : ";:=0
- C%)<>0)
- opt%=0
- P%=code
- [OPT opt%
- MOV R0,#4
- ADR R2,buf
- MOV R3,#1024*16
- SWI "OS_GBPB"
- RSB R3,R3,#1024*16
- SUBS R3,R3,#16
- BGT notsmall
- MOV R0,#0
- SWI "OS_Find"
- MOV R0,#0
- MOV PC,R14
- .notsmall
- ADR R5,buf
- .nextaddr
- ADR R4,seq
- MOV R6,#15
- .checkit
- LDRB R7,[R4,R6]
- LDRB R8,[R5,R6]
- CMP R7,R8
- BNE next
- SUBS R6,R6,#1
- BPL checkit
- MOV R0,#0
- SWI "OS_Find"
- MOV R0,#1
- MOV PC,R14
- v .next
- ADD R5,R5,#1
- SUBS R3,R3,#1
- BNE nextaddr
- B code
- |?EQUD &8D8A90A6:EQUD &92909CDF:EQUD &9A8B8A8F:EQUD &9E97DF8D
- }!EQUD &DF978B96:EQUD &9A939396
-