Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add spoilers, use at your own risk to miss the fun decyphering this game
- Loading branch information
Showing
5 changed files
with
120 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
require 'csv' | ||
# | ||
# This script ca be used to display the morse code on the argument page | ||
# | ||
# Usage : | ||
# $ ruby verify_code_on_page.rb 202 | ||
# .- .. -.-- --- ... | ||
# | ||
secrets = CSV.read("../secret.csv", {:headers => true}) | ||
|
||
16.times do |i| | ||
message = "" | ||
secrets.each do |r| | ||
message += r["code"][i] | ||
end | ||
if i < 9 | ||
puts "#{i + 1} : #{message}" | ||
else | ||
puts "#{i + 1} : #{message}" | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
require 'csv' | ||
# | ||
# This script ca be used to display the morse code on the argument page | ||
# | ||
# Usage : | ||
# $ ruby verify_code_on_page.rb 202 | ||
# .- .. -.-- --- ... | ||
# | ||
secrets = CSV.read("../secret.csv", {:headers => true}) | ||
ascii_shift = 64 | ||
|
||
16.times do |i| | ||
message = "" | ||
shift = "" | ||
message_count = 0 | ||
index = 0 | ||
secrets.each do |r| | ||
message += r["code"][i] | ||
message_count += r["code"][i].ord - ascii_shift | ||
#puts "segment #{r} - position #{i} - value #{r["code"][i]} - mask #{"THATTHEIROWN"[index % 12]}" | ||
shift += (((r["code"][i].ord - ascii_shift) - ("THATTHEIROWN"[index % 12].ord - ascii_shift) ) % 26 + ascii_shift).chr | ||
index += 1 | ||
end | ||
#puts "message: " + message | ||
#puts "shifted: " + shift | ||
end | ||
|
||
by_line = "" | ||
secrets.each do |line| | ||
count = 0 | ||
16.times do |letter| | ||
count += line["code"][letter].ord - ascii_shift | ||
end | ||
puts line["page"] + (count % 26 + ascii_shift).chr | ||
end | ||
puts by_line | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
HERE ARE THE SPOILERS, DON'T READ THEM IF YOU WANT TO SOLVE THE PUZZLE BY YOURSELF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
## Ordering the letters by columns | ||
|
||
We rotate the matrix of segment to read them by column, and we obtain this result: | ||
|
||
``` | ||
1 : ADDALLOFTHECOLUMNSTOGETHERTOREVEALATRUTHBUTREMEMBERTHEMEDIUMISTHEMESSAGE | ||
2 : GLKUXTYNJBSABFMWVBQNIJQOJNVBKYYVDHTFMVYUMOOLEFVYNXJSXUWODHACZXVKSSLYTGCJ | ||
3 : MATHEMATICIANSMAYBEJUSTIFIEDINREJOICINGTHATTHEREISONESCIENCEATANYRATEAND | ||
4 : ZFHKDXVVVFDLDETITRQKUAUIGTCHZGFDYTAIXUYGACXRXXBNBFHGNMLLEINHBHIZEBIROJJC | ||
5 : NVIABAQZFDWITXXRXNIPNUIZCBZIYMGRNROECQDFZCGXDFEZXHIWBVWIVDCGLVRGORVWDMBS | ||
6 : YTEUVEYOYTIXSPCDDGFUOCVXTSTSIFXOEBMSVXTSOTIJEYUVEYOIVJTSCOAEMCVKXEKSXQEG | ||
7 : FASSDJAZTBOWCCZSCHRZXUPWHJKRLHTKXTHRZILDRWQTFLLMJUIXLDKHVUUCHOUQTPFESHVN | ||
8 : PZDAJFWXQIWTJIROGTWCQIMDHCUQZEMEKZFRUESNBVEGDEOYSRCIWCIEGOTHGUSWVNFFNNTG | ||
9 : IEYZCVYCXYLOPWPVSLGHNXZBMIIKFIVPAQYPCKOPDEAEYQVZZFNLHUJQMYSEEXQQEUALJHAO | ||
10 : SSHUPFZXLMENWNOURXMVVMXVSDXKCBCMJXNVETEEBKFCXWZZAWUWVXMUSULXJYFGRRLPFNBB | ||
11 : GRPDKCPOOQIPJHIBLMXUTSAGKAJUNHWHTPCDCWJKABXBQVQRMHZOOSMSAJDCBBIBNIMFSZAT | ||
12 : IMGXMWOAPDMULVAHVTESKJOCXESGAXHTUHHLYSJEWDSMLDQYPKDNNXAJUFYBPGHLFXUOSQDQ | ||
13 : HFPNSHOLYXXRKKBTPEGCNBDNMWSWEORJHJGIKVLOWVOABKINNNIOIVWHMIYEAYSOLFTLUMHP | ||
14 : WHOSEVERYREMOTENESSFROMORDINARYHUMANACTIVITIESSHOULDKEEPITGENTLEANDCLEAN | ||
15 : LLCUMWVAUEGROACYYIGTLRPBXVUATQSKSKEWBTYYRIYWARJDYBZQYIXVBCAOOOKIRVGZMVJY | ||
16 : NUXALGHZMEEFBHMFGUMMYABLTLFGQSQPRSHDENKBRSLFBRKWPEBCZBWGCTMKTXXCHCKVOYEI | ||
``` | ||
|
||
That gives us the following strings: | ||
|
||
``` | ||
1 : ADD ALL OF THE COLUMNS TOGETHER TO REVEAL A TRUTH BUT REMEMBER THE MEDIUM IS THE MESSAGE | ||
3 : MATHEMATICIANS MAY BE JUSTIFIED IN REJOICING THAT THERE IS ONE SCIENCE AT ANY RATE AND | ||
14 : WHOSE VERY REMOTENESS FROM ORDINARY HUMAN ACTIVITIES SHOULD KEEP IT GENTLE AND CLEAN | ||
``` | ||
|
||
### G. H. Hardy | ||
|
||
http://en.wikipedia.org/wiki/G._H._Hardy | ||
|
||
Godfrey Harold "G. H." Hardy FRS (7 February 1877 – 1 December 1947) was an English mathematician, known for his achievements in number theory and mathematical analysis. | ||
|
||
Moreover, Hardy deliberately pointed out in his Apology that mathematicians generally do not "glory in the uselessness of their work," but rather – because science can be used for evil as well as good ends – "mathematicians may be justified in rejoicing that there is one science at any rate, and that their own, whose very remoteness from ordinary human activities should keep it gentle and clean." | ||
|
||
Full quote: | ||
|
||
"But science works for evil as well as for good (and particularly, of course, in time of war); and both Gauss and less mathematicians may be justified in rejoicing that there is one science at any rate, and that their own, whose very remoteness from ordinary human activities should keep it gentle and clean." | ||
|
||
Missing part: **"that their own"** <- could it be used as a mask on the remaining code in columns mode? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
## Modulo on each segment | ||
|
||
Each of the 72 segment is taken on by one. For each segment, we compute the ascii value of the sum of each char, modulo 26 to get the final char for each segment. | ||
|
||
The result is this string in german: | ||
|
||
``` | ||
ALLES WAS TIEF IST LIEBT DIE MASKE UM JEDEN TIEFEN GEIST WACHST FORTWAHREND EINE MASKE | ||
``` | ||
|
||
http://www.nietzsche.tv/jenseits-von-gut-und-boese.html - Part 40 | ||
|
||
"Alles, was tief ist, liebt die Maske" … "um jeden tiefen Geist wächst fortwährend eine Maske" | ||
|
||
### Solving double-dots question | ||
|
||
With this hint, we can get a clue on the double-dot, they correspond to the diaeresis on "wächst" and "fortwährend". |