Roman Hergenreder 5 years ago
parent
commit
ab0b694600
27 changed files with 1127 additions and 7 deletions
  1. 12 4
      Day 4/decode.py
  2. 10 0
      Day 5/decode.py
  3. 914 0
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/26D
  4. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/26D.zlib
  5. 18 0
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/2FBF9
  6. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/2FBF9.zlib
  7. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/2FE31
  8. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/2FE31.zlib
  9. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/34B45
  10. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/34B45.zlib
  11. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/394B9
  12. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/394B9.zlib
  13. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25.rar
  14. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/Final_easy.zip
  15. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/QR3C.png
  16. 19 0
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/Santa.txt
  17. 79 0
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/decode.py
  18. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/old_school.jpg
  19. 30 0
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/teaser.pls
  20. 39 0
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/teaser_unwrapped.tls
  21. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/z.zip
  22. 0 0
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/CCDA
  23. BIN
      Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/CCDA.zlib
  24. BIN
      Teaser/canvas.png
  25. 6 3
      Teaser/decode.py
  26. BIN
      Teaser/pdf_decrypted.png
  27. BIN
      Teaser/test.png

+ 12 - 4
Day 4/decode.py

@@ -3,16 +3,24 @@
 # URL: https://hackvent.hacking-lab.com/Pirates_123/
 
 s = '::)"<.vd]!&a{":r>Qyh 7';
+
 length = len(s)
 f='HV18-';
 
 # indizes: 4, 9, 14, 19
 # xxxx-xxxx-xxxx-xxxx
+# correctKey = "1xxx1xxx"
 correctKey = "00000000"
 for i in range(4):
     pos = 4 + i*5
     key = ord(s[pos]) ^ ord('-')
-    correctKey += "%02d%s" % (key, "00000000")
+    correctKey += "%02d" % key
+    correctKey += "00000000"
+
+    # if len(correctKey) % 4 == 0:
+    #     correctKey += "1xxx1xxx"
+    # else:
+    #     correctKey += "xx1xxx1x"
 
 for i in range(length):
     a = ord(s[i])
@@ -23,9 +31,9 @@ upperBytes = ["15", "17"]
 lowerBytes = ["12", "84"]
 
 data = [correctKey[i:i+4] for i in range(0, len(correctKey), 4)]
-print(correctKey)
 print(data)
-print(f)
+print(correctKey)
+print(f.encode("utf-8"))
 
 js = ""
 for i in range(len(data)):
@@ -45,4 +53,4 @@ print(js)
 
 
 # 000000001700008400121500000015001700008400000000
-# 000000001700000000120000000015000000008400000000
+#

+ 10 - 0
Day 5/decode.py

@@ -0,0 +1,10 @@
+#!/usr/bin/python
+
+in1 = "10:a2:a3:2d:60:2e:43:0f:9d:a1:12:5b:fa:1c:36:4e:6c:e2:de:e0:57:3d:8a:69:5a:24:fc:e8:f6:f3:f5:ce"
+in1_bytes = [int(x, 16) for x in in1.split(":")]
+print(in1_bytes)
+print(len(in1_bytes))
+
+in2 = in1.replace(":", "")
+d = int(in2, 16)
+print(d)

+ 914 - 0
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/26D

@@ -0,0 +1,914 @@
+/Artifact <</Attached [/Bottom]/Type/Pagination/Subtype/Footer>> BDC /GS6 gs
+q
+-0.000005282 0.00024414 595.32 841.92 re
+W* n
+662.3 0 0 225.65 -29.35 1.5479 cm
+/Image5 Do Q
+ EMC /Artifact <</Attached [/Top]/Type/Pagination/Subtype/Header>> BDC q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F1 11.04 Tf
+1 0 0 1 70.944 796.08 Tm
+0 g
+/GS9 gs
+0 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+Q
+ EMC /Artifact <</Attached [/Bottom]/Type/Pagination/Subtype/Footer>> BDC q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F1 11.04 Tf
+1 0 0 1 70.944 38.4 Tm
+0 g
+0 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+Q
+ EMC  /P <</MCID 0>> BDC 1 g
+70.9 268.58 464.2 463.15 re
+f*
+0.75 w
+0 G
+
+70.9 268.58 464.2 463.15 re
+S
+ EMC q
+71.304 268.82 463.54 462.55 re
+W* n
+ /P <</MCID 1>> BDC q
+71.304 268.82 463.54 462.55 re
+W* n
+BT
+/F1 11.04 Tf
+1 0 0 1 537.84 264.74 Tm
+0 g
+0 G
+[( )] TJ
+ET
+Q
+Q
+ EMC  /P <</MCID 2>> BDC q
+71.28 268.92 463.44 462.48 re
+W* n
+463.15 0 0 463.15 72.75 266.72 cm
+/Image10 Do Q
+q
+71.34 268.86 463.44 462.48 re
+W* n
+2 w
+ 1 j 
+71.75 265.72 465.15 465.15 re
+S
+Q
+ EMC  /P <</MCID 3>> BDC q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F2 20.04 Tf
+1 0 0 1 211.49 749.02 Tm
+0 g
+0 G
+[(HACKven)5(t )5(20)5(18)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F1 20.04 Tf
+1 0 0 1 383.83 749.02 Tm
+0 g
+0 G
+[( )] TJ
+ET
+Q
+ EMC  /P <</MCID 4>> BDC q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 70.944 254.66 Tm
+1 g
+1 G
+[(.... ...)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 94.944 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 98.904 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 101.9 254.66 Tm
+1 g
+1 G
+[(.)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 104.9 254.66 Tm
+1 g
+1 G
+[(--)6(-)-6(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 120.86 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 123.86 254.66 Tm
+1 g
+1 G
+ -0.036 Tc[(---)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 135.74 254.66 Tm
+1 g
+1 G
+[(.. )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 144.86 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 148.82 254.66 Tm
+1 g
+1 G
+[(....)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 160.82 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 164.78 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 167.78 254.66 Tm
+1 g
+1 G
+ 0.084 Tc[(--)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 175.85 254.66 Tm
+1 g
+1 G
+[(. )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 181.85 254.66 Tm
+1 g
+1 G
+[(--)-3(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 193.85 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 196.85 254.66 Tm
+1 g
+1 G
+[(.)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 199.85 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 203.81 254.66 Tm
+1 g
+1 G
+[(. .. )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 218.81 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 222.77 254.66 Tm
+1 g
+1 G
+[(....)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 234.77 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 238.73 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 241.85 254.66 Tm
+1 g
+1 G
+ -0.036 Tc[(--)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 249.77 254.66 Tm
+1 g
+1 G
+[(.. .)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 261.77 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 265.73 254.66 Tm
+1 g
+1 G
+[(. ... )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 283.73 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 287.71 254.66 Tm
+1 g
+1 G
+[(... )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 299.83 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 303.79 254.66 Tm
+1 g
+1 G
+[(..)-9(..)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 315.91 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 319.87 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 322.87 254.66 Tm
+1 g
+1 G
+[(..)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 328.87 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 332.83 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 335.83 254.66 Tm
+1 g
+1 G
+[(..)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 341.83 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 345.79 254.66 Tm
+1 g
+1 G
+[(. .)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 354.79 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 358.75 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 361.75 254.66 Tm
+1 g
+1 G
+[(. )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 367.87 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 371.83 254.66 Tm
+1 g
+1 G
+[(....)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 383.83 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 387.79 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 390.79 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 394.75 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 397.75 254.66 Tm
+1 g
+1 G
+[(... )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 409.78 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 413.74 254.66 Tm
+1 g
+1 G
+[(.... )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 428.86 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 432.82 254.66 Tm
+1 g
+1 G
+[(.)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 435.82 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 439.78 254.66 Tm
+1 g
+1 G
+[(. )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 445.78 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 449.74 254.66 Tm
+1 g
+1 G
+[(....)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 461.74 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 465.7 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 468.82 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 472.78 254.66 Tm
+1 g
+1 G
+[(.)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 475.78 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 479.74 254.66 Tm
+1 g
+1 G
+[(. ...)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 494.74 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 498.7 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 501.7 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 505.66 254.66 Tm
+1 g
+1 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 508.78 254.66 Tm
+1 g
+1 G
+[(-)] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 512.74 254.66 Tm
+0 g
+0 G
+[( )] TJ
+ET
+Q
+q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F3 12 Tf
+1 0 0 1 515.88 254.66 Tm
+0 g
+0 G
+[( )] TJ
+ET
+Q
+ EMC  /P <</MCID 5>> BDC q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F1 11.04 Tf
+1 0 0 1 70.944 227.54 Tm
+0 g
+0 G
+[( )] TJ
+ET
+Q
+ EMC  /P <</MCID 6>> BDC q
+0.000008871 0 595.32 841.92 re
+W* n
+BT
+/F1 11.04 Tf
+1 0 0 1 70.944 205.1 Tm
+0 g
+0 G
+[( )] TJ
+ET
+Q
+ EMC  /P <</MCID 7>> BDC 79.4 277.67 447 444.85 re
+f*
+1.5 w
+
+79.4 277.67 447 444.85 re
+S
+ EMC q
+80.184 281.93 445.54 436.25 re
+W* n
+ /P <</MCID 8>> BDC q
+80.184 281.93 445.54 436.25 re
+W* n
+BT
+/F1 11.04 Tf
+1 0 0 1 525.84 279.77 Tm
+0 g
+0 G
+[( )] TJ
+ET
+Q
+Q
+ EMC  /P <</MCID 9>> BDC q
+87.36 282 431.04 436.2 re
+W* n
+438.4 0 0 438.4 87.35 279.77 cm
+/Image15 Do Q
+ EMC 

BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/26D.zlib


+ 18 - 0
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/2FBF9

@@ -0,0 +1,18 @@
+22 0 26 51 27 107 25 158 28 227 30 283 31 334 29 390 32 459 33 515 34 566 35 617 21 668 17 771 18 862 19 1098 20 1121 23 1136 <</P 21 0 R/S/P/Type/StructElem/K[ 3] /Pg 3 0 R>>
+<</P 25 0 R/S/Figure/Type/StructElem/K[ 7] /Pg 3 0 R>>
+<</P 25 0 R/S/P/Type/StructElem/K[ 8] /Pg 3 0 R>>
+<</P 21 0 R/S/Textbox/Type/StructElem/K[ 26 0 R 27 0 R] /Pg 3 0 R>>
+<</P 21 0 R/S/Figure/Type/StructElem/K[ 9] /Pg 3 0 R>>
+<</P 29 0 R/S/P/Type/StructElem/K[ 1] /Pg 3 0 R>>
+<</P 29 0 R/S/Figure/Type/StructElem/K[ 0] /Pg 3 0 R>>
+<</P 21 0 R/S/Textbox/Type/StructElem/K[ 30 0 R 31 0 R] /Pg 3 0 R>>
+<</P 21 0 R/S/Figure/Type/StructElem/K[ 2] /Pg 3 0 R>>
+<</P 21 0 R/S/P/Type/StructElem/K[ 4] /Pg 3 0 R>>
+<</P 21 0 R/S/P/Type/StructElem/K[ 5] /Pg 3 0 R>>
+<</P 21 0 R/S/P/Type/StructElem/K[ 6] /Pg 3 0 R>>
+<</P 17 0 R/S/Document/Type/StructElem/K[ 22 0 R 25 0 R 28 0 R 29 0 R 32 0 R 33 0 R 34 0 R 35 0 R] >>
+<</Type/StructTreeRoot/RoleMap 18 0 R/ParentTree 19 0 R/K[ 21 0 R] /ParentTreeNextKey 1>>
+<</Footnote/Note/Endnote/Note/Textbox/Sect/Header/Sect/Footer/Sect/InlineShape/Sect/Annotation/Sect/Artifact/Sect/Workbook/Document/Worksheet/Part/Macrosheet/Part/Chartsheet/Part/Dialogsheet/Part/Slide/Part/Chart/Sect/Diagram/Figure>>
+<</Nums[ 0 23 0 R] >>
+<</Names[] >>
+[ 31 0 R 30 0 R 32 0 R 22 0 R 33 0 R 34 0 R 35 0 R 26 0 R 27 0 R 28 0 R] 

BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/2FBF9.zlib


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/2FE31


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/2FE31.zlib


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/34B45


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/34B45.zlib


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/394B9


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/394B9.zlib


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25.rar


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/Final_easy.zip


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/QR3C.png


+ 19 - 0
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/Santa.txt

@@ -0,0 +1,19 @@
+Santa has caught up with the information age and does not trust
+clear-text commands anymore.
+He has decided that all communications
+have to be encrypted to prevent an unfriendly take-over of his team.
+Santa chooses a simple, secure, and toolless encryption scheme.
+However, his team's memory capacity is limited and so he can only use
+their names (Dasher, Dancer, Prancer, Vixen, Comet, Cupid, Donder and
+Blitzen) as keys.
+
+
+
+Where is the team headed to?
+
+STTYN YATLOEP DNEA ONBL TGNTO MHEHH EISTIARIB FHSRA LD IIONA NL HERUV LN17-PTAA-RTON-RDOE-MCTN-AHCO
+XXXXX XXXXXXX XXXX XXXX XXXXX XXXXX XXXXXXXXX XXXXX XX XXXXX XX XXXXX HV18-XXXX-XXXX-XXXX-XXXX-XXXX
+DDPVCCDB
+
+L -> H
+N -> V

+ 79 - 0
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/decode.py

@@ -0,0 +1,79 @@
+#!/usr/bin/python
+
+import subprocess
+import math
+import hashlib
+import base64
+from itertools import chain, product
+from zipfile import ZipFile
+
+# for x in ["Dasher", "Dancer", "Prancer", "Vixen", "Comet", "Cupid", "Donder", "Blitzen"]:
+#     subprocess.call(["unzip", "-P", x, "z.zip"])
+
+
+# print(bytes(int(x) for x in "5 8 16 20 27".split(" ")).decode("cp500"))
+
+# x = [chr(i + ord('a')) for i in range(0, 26)] + [chr(i + ord('A')) for i in range(0, 26)] + [str(i) for i in range(10)]
+# print(x)
+#
+# try:
+#     for s in x:
+#         data = ZipFile.open("Final_easy.zip", mode='r', pwd=s)
+#         if data != '':
+#             print("found pw")
+# except:
+#     pass
+
+
+# we know that b * c = 6497 and b < c
+prod = 6497
+for b in range(2,math.floor(math.sqrt(prod))):
+    if math.floor(prod / b) == prod / b:
+        c = prod // b
+        break
+
+# which gives us:
+# b = 73
+# c = 89
+# print("b=%d c=%d" % (b, c))
+
+hash = "CF945B5A36D1D3E68FFF78829CC8DBF6".lower()
+hash_reversed = "H0b0"
+
+def bruteforce(charset, minlength, maxlength):
+    return (''.join(candidate)
+        for candidate in chain.from_iterable(product(charset, repeat=i)
+        for i in range(1, maxlength + 1)))
+
+# alphabet = 'abcdefghiklmnopqrstuvwxyz'
+# alphabet += alphabet.upper()
+# alphabet += ''.join([str(i) for i in range(10)])
+#
+# for i in bruteforce(alphabet, 4, 4):
+#     try:
+#         m = hashlib.md5()
+#         m.update(i.encode("utf-8"))
+#         new_hash = m.hexdigest()
+#         if new_hash == hash:
+#             hash_reversed = i
+#             break
+#     except:
+#         pass
+
+if hash_reversed == None:
+    exit("could not find hash")
+
+# Step 3: squareRoot
+squareRoot = int(math.sqrt(8814961))
+
+# Step 4: XOR
+result = 'zvru'
+part3 = ''.join([chr(ord(result[i]) ^ ord(str(squareRoot)[i])) for i in range(4)])
+# print(part3)
+
+# Step 5: Base64
+b64 = base64.b64decode('RjBtMA==').decode("utf-8")
+# print(b64)
+
+flag = "HV18-%02d%02d-%s-%s-%04d-%s" % (b, c, hash_reversed, part3, squareRoot, b64)
+print(flag)

BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/old_school.jpg


+ 30 - 0
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/teaser.pls

@@ -0,0 +1,30 @@
+CREATE OR REPLACE FUNCTION checkHV18teaser wrapped 
+a000000
+b2
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+abcd
+8
+37f 22f
+9bGsDUl+WXOiRvCg6f+CmODMp3UwgwIJ+txqfC9Dgz+VaPwOTWaoKj5jW2QUCQapzabE52vy
+50h+W7xBf1NE2/Fa93pBwUJtOxLvz1WIU75VaGjqH5M6oL4/aHovVUteU3Arw0eLvVRDEvbd
+0mLqbyd4kEtMnI76J3vuLaHC1mkYuwEN6bdmd3GQPBtHV4fWHr5OM5B81yX+kw0560LKdDx8
+mVHJvc7y7vShjsCpFgEUd6sfN3ZbOkjjbg+AJSGuIjZzvT7vkQwM5wcQL73C6+BCiaaEG2ja
+r+3zqCSk6QzcKvIwuBwXf9UHGL4YS47JO3EOmIPOy8VQYfY1M9g6UeieqOftVm/Pr8smR11r
+UWM8kk1WTmMvY13s1Klpr7tFnzwjmnSnTP9Exz/dV5+cU3mlgyjqkAIsWnGqDGKMfVahOHSc
+Bzalmd+HDxxBF39ymrsGHfBUv0gAPtnYVCVWiG0Q9ij5DbBffRrsx4uOYuAqJ4KwT5vNpKon
+MSMAM3ZsIFVQgfnY/sfkB+jfGEuldGYiui7zvIMSHVDfPEE=
+
+/

+ 39 - 0
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/teaser_unwrapped.tls

@@ -0,0 +1,39 @@
+FUNCTION checkHV18teaser(FLAG VARCHAR2) RETURN NUMBER IS
+	A VARCHAR2(4);
+	B NUMBER(10);
+	C NUMBER(10);
+	H VARCHAR(40);
+BEGIN
+	A := SUBSTR(FLAG,1,4);
+	IF NOT (A = 'HV18') THEN
+		RETURN 0;
+	END IF;
+
+	B := TO_NUMBER(SUBSTR(FLAG,6,2));
+	C := TO_NUMBER(SUBSTR(FLAG,8,2));
+	IF NOT (((B * C) = 6497) AND (B < C)) THEN
+		RETURN 0;
+	END IF;
+
+	A := SUBSTR(FLAG,11,4);
+	SELECT STANDARD_HASH(A, 'MD5') INTO H FROM DUAL;
+	IF NOT (H = 'CF945B5A36D1D3E68FFF78829CC8DBF6') THEN
+		RETURN 0;
+	END IF;
+
+	IF NOT ((UTL_RAW.CAST_TO_VARCHAR2(
+            UTL_RAW.BIT_XOR (
+              UTL_RAW.CAST_TO_RAW(SUBSTR(FLAG,16,4)),
+              UTL_RAW.CAST_TO_RAW(SUBSTR(FLAG,21,4)))
+           ) = 'zvru') AND
+          (TO_NUMBER(SUBSTR(FLAG,21,4)) = SQRT(8814961))) THEN
+		RETURN 0;
+	END IF;
+
+	IF NOT ( UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.BASE64_ENCODE(UTL_RAW.CAST_TO_RAW(SUBSTR(FLAG,26,4)))) = 'RjBtMA==') THEN
+		RETURN 0;
+	END IF;
+
+	DBMS_OUTPUT.PUT_LINE(A);
+	RETURN 1;
+END;

BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/39A25/z.zip


File diff suppressed because it is too large
+ 0 - 0
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/CCDA


BIN
Teaser/_ZOoxjUSe1OVB7OPoVrsX.pdf.extracted/CCDA.zlib


BIN
Teaser/canvas.png


+ 6 - 3
Teaser/decode.py

@@ -33,15 +33,18 @@ pix = im.load()
 size = im.size
 
 # Count Pixel types
-pixels = []
+pixels = {}
 for x in range(size[0]):
     for y in range(size[1]):
 
         p = pix[x,y]
         if p not in pixels:
-            pixels.append(p)
+            pixels[p] = 1
+        else:
+            pixels[p] += 1
 
-print(pixels)
+for p in pixels:
+    print(p, pixels[p])
 
 # Filter
 # for p in pixels:

BIN
Teaser/pdf_decrypted.png


BIN
Teaser/test.png


Some files were not shown because too many files changed in this diff