1: DECLARE SUB Decode (t$) 2: DECLARE SUB Interp (t$, b!) 3: DECLARE SUB Upper (n$) 4: SCREEN 12 5: CLS 6: PRINT "QBasic cracking system." 7: LINE INPUT "Cracking filename>"; cfk$ 8: 2 OPEN cfk$ FOR INPUT AS #1 9: LINE INPUT #1, file$ 10: CLS 11: PRINT "File:"; file$ 12: 10 LINE INPUT #1, a$ 13: IF a$ = "---" THEN ELSE PRINT a$: GOTO 10 14: 33 INPUT "Choice"; ch$ 15: Upper ch$ 16: IF ch$ = "" THEN END 17: ch$ = ch$ + ":" 18: DO UNTIL b$ = ch$ 19: IF EOF(1) THEN CLOSE #1: OPEN cfk$ FOR INPUT AS #1: PRINT "Invailid Choice!": GOTO 33 20: LINE INPUT #1, b$ 21: LOOP 22: 51 LINE INPUT #1, flip$ 23: LINE INPUT #1, n$ 24: flip = VAL(flip$) 25: 30 IF LEFT$(n$, 1) = "<" THEN PRINT "Must be"; LEN(n$); "charectars long": INPUT "CHANGE TO "; n$: d = 23 26: IF LEFT$(n$, 1) = CHR$(34) THEN d = 1: n$ = RIGHT$(n$, LEN(n$) - 1) 27: IF d = 0 THEN Decode n$ 28: IF LEN(d$) <> LEN(n$) AND d = 23 THEN GOTO 30 29: OPEN file$ FOR BINARY AS #2 30: PUT #2, flip, n$ 31: CLOSE 2 32: LINE INPUT #1, b$ 33: IF UCASE$(b$) = "\" OR UCASE$(b$) = "/" THEN CLOSE 1: GOTO 2 ELSE GOTO 51 34: END 35: erre: 36: CLOSE #1 37: OPEN cfk$ FOR INPUT AS #1 38: RESUME NEXT 39: 40: SUB Decode (t$) 41: tt = LEN(t$) 42: FOR q = 1 TO tt STEP 3 43: c$ = c$ + CHR$(VAL(MID$(t$, q, 3))) 44: NEXT q 45: t$ = c$ 46: END SUB 47: 48: SUB Interp (t$, b) 49: FOR qw = 1 TO LEN(t$) 50: IF MID$(t$, qw, 1) = " " AND MID$(t$, qw + 1, 1) = " " THEN c$ = c$ + " ": d = 0: qw = qw + 1: GOTO 112 51: IF MID$(t$, qw, 1) = " " AND NOT MID$(t$, qw + 1, 1) = " " THEN c$ = c$ + CHR$(b): d = 0: GOTO 112 52: IF d = 0 THEN c$ = c$ + MID$(t$, qw, 1) 53: d = 0 54: 112 NEXT qw 55: t$ = c$ 56: END SUB 57: 58: SUB Upper (n$) 59: FOR qw = 1 TO LEN(n$) 60: IF ASC(MID$(n$, qw, 1)) > 96 AND ASC(MID$(n$, qw, 1)) < 123 THEN MID$(n$, qw, 1) = CHR$(ASC(MID$(n$, qw, 1)) - 32) 61: NEXT qw 62: END SUB 63: |