This repository has been archived by the owner on Jan 22, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
decryptMessage.cl
150 lines (137 loc) · 8.68 KB
/
decryptMessage.cl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
;; Used to build the executable
(defun build-exe (exe-src)
(sb-ext:save-lisp-and-die exe-src :toplevel #'main :executable t))
(defun main ()
(intro-message)
(decrypt-loading)
(sleep 1.7)
(secret-message))
(defun intro-message ()
(format t "~a~%~%" (decode-message '(72 101 108 108 111 33 32 80 108 101 97 115
101 32 119 97 105 116 32 97 32 109 105 110
117 116 101 32 119 104 105 108 101 32 121
111 117 114 32 115 101 99 114 101 116 32
109 101 115 115 97 103 101 32 105 115 32
100 101 99 114 121 112 116 101 100 33)))
(sleep 2)
(format t "~a~%" (decode-message '(83 116 97 114 116 105 110 103 32 100 101 99 114
121 112 116 105 111 110 46 46 46)))
(sleep 1))
(defun decrypt-loading ()
(let* ((messages '((#\Enq 89 111 117 32 107 110 111 119 44 32 105 116 32 114 101 97 108 108 121
32 100 111 101 115 110 39 116 32 116 97 107 101 32 116 104 105 115 32 108 111
110 103 32 116 111 32 100 101 99 114 121 112 116 46 46)
(#\Newline 73 110 32 102 97 99 116 44 32 105 116 32 116 101 99 104 110 105 99
97 108 108 121 32 105 115 110 39 116 32 39 100 101 99 114 121 112 116 105 110
103 39 32 97 110 121 116 104 105 110 103 46)
(#\Si 69 118 101 114 121 32 109 101 115 115 97 103 101 32 105 115 32 39 100
101 99 114 121 112 116 101 100 39 32 119 104 101 110 32 100 105 115 112 108
97 121 101 100 46)
(#\Dc4 73 110 99 108 117 100 105 110 103 32 116 104 105 115 32 111 110 101 46
46 46)
(#\Nak 65 110 100 32 84 104 105 115 32 111 110 101 46 46 46)
(#\Syn 65 110 100 32 84 104 105 115 32 111 110 101 46 46 46)
(#\Etb 65 110 100 32 84 104 105 115 32 111 110 101 46 46 46)
(#\Can 65 110 100 32 84 104 105 115 32 111 110 101 46 46 46)
(#\Em 65 110 100 32 69 118 101 110 32 84 104 105 115 32 111 110 101 46 46 46)
(#\Sub 73 32 116 104 105 110 107 32 73 39 118 101 32 109 97 100 101 32 109 121
32 112 111 105 110 116 46)
(#\Rs 65 108 115 111 32 115 111 114 114 121 32 102 111 114 32 116 104 101 32
99 111 109 109 97 110 100 32 108 105 110 101 32 105 110 116 101 114 102 97 99
101 46)
(#\! 73 32 119 114 111 116 101 32 97 32 114 101 97 108 108 121 32 110 105 99
101 32 71 85 73 32 117 115 105 110 103 32 81 116 53 32 97 110 100 32 80 121
116 104 111 110 46)
(#\$ 66 85 84 44 32 98 101 99 97 117 115 101 32 121 111 117 32 97 115 115 104
111 108 101 115 32 117 115 101 32 101 118 101 114 121 32 111 116 104 101 114
32 115 104 105 116 116 121 32 79 112 101 114 97 116 105 110 103 32 83 121 115
116 101 109 32 107 110 111 119 110 32 116 111 32 109 97 110 46 46 46)
(#\' 73 32 104 97 118 101 32 116 111 32 99 114 111 115 115 45 99 111 109 112
105 108 101 32 116 104 105 115 32 97 99 114 111 115 115 32 87 105 110 100 111
119 115 44 32 77 97 99 44 32 97 110 100 32 76 105 110 117 120 46)
(#\* 65 110 100 32 105 116 32 116 117 114 110 115 32 111 117 116 32 115 101
116 116 105 110 103 32 117 112 32 112 121 116 104 111 110 32 97 110 100 32 81
116 53 32 111 110 32 97 108 108 32 116 104 111 115 101 32 112 108 97 116 102
111 114 109 115 46 46 46)
(#\- 73 115 32 97 32 103 105 97 110 116 32 112 97 105 110 32 105 110 32 116
104 101 32 97 115 115 46)
(#\0 46 46 46 69 115 112 101 99 105 97 108 108 121 32 111 110 32 87 105 110
100 111 119 115 46 46 46 40 84 104 97 110 107 115 32 77 105 99 114 111 115
111 102 116 41)
(#\2 40 83 99 114 101 119 32 121 111 117 32 80 101 116 101 114 32 58 80 41)
(#\7 83 111 44 32 73 32 100 101 99 105 100 101 100 32 116 111 32 115 99 114 97
112 32 116 104 101 32 71 85 73 32 97 110 100 32 106 117 115 116 32 117 115
101 32 109 121 32 112 121 116 104 111 110 32 99 111 100 101 46)
(#\: 72 111 119 101 118 101 114 44 32 99 111 109 112 105 108 105 110 103 32
105 116 32 119 105 116 104 32 116 104 101 32 114 105 103 104 116 32 118 101
114 115 105 111 110 32 111 102 32 112 121 116 104 111 110 32 111 110 32 97
108 108 32 116 104 101 32 112 108 97 116 102 111 114 109 115 46 46 46)
(#\= 87 97 115 32 97 108 115 111 32 97 32 112 97 105 110 32 105 110 32 116 104
101 32 97 115 115 46)
(#\@ 65 105 110 39 116 32 110 111 98 111 100 121 32 103 111 116 32 116 105 109
101 32 102 111 114 32 116 104 97 116 46)
(#\C 83 111 44 32 73 32 104 97 100 32 116 111 32 114 101 45 119 114 105 116
101 32 109 121 32 99 111 100 101 32 105 110 32 67 111 109 109 111 110 32 76
105 115 112 46)
(#\F 76 117 99 107 105 108 121 44 32 73 32 97 109 32 97 32 112 114 111 102 101
115 115 105 111 110 97 108 32 76 105 115 112 32 80 114 111 103 114 97 109 109
101 114 46)
(#\I 66 117 116 32 115 116 105 108 108 46 46 46 32 87 84 70 46)
(#\M 66 97 115 105 99 97 108 108 121 44 32 116 104 101 32 109 111 114 97 108
32 111 102 32 116 104 105 115 32 115 116 111 114 121 32 105 115 58)
(#\P 73 102 32 121 111 117 32 106 101 114 107 115 32 97 108 108 32 117 115 101
100 32 76 105 110 117 120 44 32 73 32 119 111 117 108 100 110 39 116 32 111
102 32 104 97 100 32 116 104 101 115 101 32 105 115 115 117 101 115 46)
(#\S 83 111 32 115 111 114 114 121 32 105 102 32 121 111 117 32 119 111 117
108 100 32 112 114 101 102 101 114 32 97 32 110 105 99 101 32 71 85 73 32 97
112 112 32 105 110 115 116 101 97 100 32 111 102 32 97 32 116 104 105 115 32
99 111 109 109 97 110 100 32 108 105 110 101 32 111 110 101 46)
(#\V 66 117 116 32 105 116 39 115 32 114 101 97 108 108 121 32 121 111 117 114
32 100 97 109 110 32 102 97 117 108 116 46 32 40 58 80 41)
(#\Y 65 110 100 32 98 101 115 105 100 101 115 44 32 116 104 101 114 101 32 105
115 32 110 111 116 104 105 110 103 32 119 114 111 110 103 32 119 105 116 104
32 116 104 101 32 99 111 109 109 97 110 100 32 108 105 110 101 46)
(#\\ 66 117 116 32 73 32 100 105 103 114 101 115 115 46)
(#\_ 73 32 110 111 116 105 99 101 32 119 101 32 97 114 101 32 110 101 97 114
108 121 32 97 116 32 49 48 48 37 46 46 46)
(#\b 83 111 32 73 32 103 117 101 115 115 32 73 32 115 104 111 117 108 100 32
115 116 111 112 32 114 97 110 116 105 110 103 32 97 110 100 32 115 104 111
119 32 121 111 117 32 116 104 101 32 109 101 115 115 97 103 101 46 46 46)
(#\d 70 105 110 101 32 58 41 46)))
(decrypted-messages (decode-pair-list messages)))
(format t "~a~%" (decode-message '(68 101 99 114 121 112 116 105 110 103 32 77 101 115 115 97 103 101 58)))
(dotimes (i 101)
(cond ((equal i (caar decrypted-messages))
(format t "~d% ~a ~a ~%" i (decode-message '(67 111 109 112 108 101 116 101 46))
(cdar decrypted-messages))
(setf decrypted-messages (cdr decrypted-messages)))
(t
(format t "~d% ~a~%" i (decode-message '(67 111 109 112 108 101 116 101 46)))))
(sleep 1))))
(defun secret-message ()
(format t "~%~a~%~%~%- ~a~%~%"
(decode-message '(83 111 44 32 112 117 116 116 105 110 103 32 97 108 108 32 106 111 107 101 115
32 97 110 100 32 110 101 114 100 121 45 110 101 115 115 32 97 115 105 100 101
44 32 73 32 100 111 32 104 97 118 101 32 97 110 32 105 109 112 111 114 116 97
110 116 32 113 117 101 115 116 105 111 110 32 116 111 32 97 115 107 46 32 65
115 32 121 111 117 32 97 114 101 32 112 114 111 98 97 98 108 121 32 97 119 97
114 101 44 32 82 101 98 101 99 99 97 32 97 110 100 32 73 32 97 114 101 32 102
105 110 97 108 108 121 32 103 101 116 116 105 110 103 32 109 97 114 114 105
101 100 32 105 110 32 83 101 112 116 101 109 98 101 114 46 32 84 104 105 115
32 105 115 32 119 105 108 108 32 98 101 32 97 32 118 101 114 121 32 115 112
101 99 105 97 108 32 42 68 65 89 42 32 105 110 32 109 121 32 108 105 102 101
44 32 97 110 100 32 97 115 32 97 32 118 101 114 121 32 115 112 101 99 105 97
108 32 42 80 69 82 83 79 78 42 32 105 110 32 109 121 32 108 105 102 101 44 32
73 32 119 111 117 108 100 32 108 105 107 101 32 116 111 32 97 115 107 58 32 32
87 105 108 108 32 121 111 117 32 98 101 32 111 110 101 32 111 102 32 109 121
32 103 114 111 111 109 115 109 101 110 63))
(decode-message '(82 121 97 110))))
(defun encode-message (message)
(mapcar #'char-code (concatenate 'list message)))
(defun decode-message (num-list)
(map 'string #'code-char num-list))
(defun encode-pair-list (pair-list)
(mapcar (lambda (pair) (cons (code-char (car pair)) (encode-message (cdr pair)))) pair-list))
;;(load "decryptMessage.cl")
(defun decode-pair-list (pair-list)
(mapcar (lambda (pair) (cons (char-code (car pair)) (decode-message (cdr pair)))) pair-list))