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: 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: OPEN file$ FOR BINARY AS #2 29: PUT #2, flip, n$ 30: CLOSE 2 31: LINE INPUT #1, b$ 32: IF UCASE$(b$) = "\" OR UCASE$(b$) = "/" THEN CLOSE 1: GOTO 2 ELSE GOTO 51 33: END 34: erre: 35: CLOSE #1 36: OPEN cfk$ FOR INPUT AS #1 37: RESUME NEXT 38: 39: SUB Decode (t$) 40: tt = LEN(t$) 41: FOR q = 1 TO tt STEP 3 42: c$ = c$ + CHR$(VAL(MID$(t$, q, 3))) 43: NEXT q 44: t$ = c$ 45: END SUB 46: 47: SUB Interp (t$, b) 48: FOR qw = 1 TO LEN(t$) 49: IF MID$(t$, qw, 1) = " " AND MID$(t$, qw + 1, 1) = " " THEN c$ = c$ + " ": d = 0: qw = qw + 1: GOTO 112 50: IF MID$(t$, qw, 1) = " " AND NOT MID$(t$, qw + 1, 1) = " " THEN c$ = c$ + CHR$(b): d = 0: GOTO 112 51: IF d = 0 THEN c$ = c$ + MID$(t$, qw, 1) 52: d = 0 53: 112 NEXT qw 54: t$ = c$ 55: END SUB 56: 57: SUB Upper (n$) 58: FOR qw = 1 TO LEN(n$) 59: 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) 60: NEXT qw 61: END SUB 62: |