From d3a9b19b37fba3ce7b22b6ca9453f76e8961fcd5 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Tue, 22 Feb 2011 18:01:51 -0700 Subject: [PATCH] Add sequence 800 --- doc/token-categories.txt | 6 +++++- packages/sequence/600/index.mdwn | 31 +++++-------------------------- packages/sequence/600/key | 2 +- packages/sequence/600/summary | 2 +- packages/sequence/700/index.mdwn | 30 +++++++++++++++++++++++++----- packages/sequence/700/key | 3 ++- packages/sequence/700/summary | 2 +- packages/sequence/800/Makefile | 9 +++++++++ packages/sequence/800/convert.py | 24 ++++++++++++++++++++++++ packages/sequence/800/key | 1 + packages/sequence/800/summary | 1 + packages/sequence/sequence.mk | 8 ++++++++ 12 files changed, 83 insertions(+), 36 deletions(-) create mode 100644 packages/sequence/800/Makefile create mode 100755 packages/sequence/800/convert.py create mode 100644 packages/sequence/800/key create mode 100644 packages/sequence/800/summary diff --git a/doc/token-categories.txt b/doc/token-categories.txt index f5ebcb8..0067f73 100644 --- a/doc/token-categories.txt +++ b/doc/token-categories.txt @@ -6,7 +6,11 @@ LANL's CTF contest allows for easy addition of new modules which can use A point may only be claimed once per team, but multiple teams can claim the same token and each will get a point. Tokens look like this: - example:xylep-donut-nanox + example:xenon-donut-helix + +where "example" is the category name, and "xenon-donut-helix" is a +bubblebabble hash of a 32-bit random number. The entire string must be +submitted as the token. Tokens are issued by the token server using the tokencli program at the end of this document. They can also be issued before the beginning of a diff --git a/packages/sequence/600/index.mdwn b/packages/sequence/600/index.mdwn index 687ee22..ea9dc0e 100644 --- a/packages/sequence/600/index.mdwn +++ b/packages/sequence/600/index.mdwn @@ -1,26 +1,5 @@ - 00000000 61 61 9e 23 01 0c 0c 40 0d 05 40 29 13 08 0d 01 - 00000010 05 0c 4e 40 40 33 0f 0d 05 40 19 05 01 12 13 40 - 00000020 01 07 0f 4d 4d 0e 05 16 05 12 40 0d 09 0e 04 40 - 00000030 08 0f 17 40 0c 0f 0e 07 6a 10 12 05 03 09 13 05 - 00000040 0c 19 4d 4d 08 01 16 09 0e 07 40 0c 09 14 14 0c - 00000050 05 40 0f 12 40 0e 0f 40 0d 0f 0e 05 19 40 09 0e - 00000060 40 0d 19 40 10 15 12 13 05 4c 40 01 0e 04 40 0e - 00000070 0f 14 08 09 0e 07 6a 10 01 12 14 09 03 15 0c 01 - 00000080 12 40 14 aa 61 62 9d 0f 40 09 0e 14 05 12 05 13 - 00000090 14 40 0d 05 40 0f 0e 40 13 08 0f 12 05 4c 40 29 - 000000a0 40 14 08 0f 15 07 08 14 40 29 40 17 0f 15 0c 04 - 000000b0 40 13 01 09 0c 40 01 02 0f 15 14 40 01 6a 0c 09 - 000000c0 14 14 0c 05 40 01 0e 04 40 13 05 05 40 14 08 05 - 000000d0 40 17 01 14 05 12 19 40 10 01 12 14 40 0f 06 40 - 000000e0 14 08 05 40 17 0f 12 0c 04 4e 40 40 29 14 40 09 - 000000f0 13 40 01 40 17 01 19 40 29 40 08 01 16 05 40 0f - 00000100 06 6a 04 12 09 16 09 3b 61 63 9c 0e 07 40 0f 06 - 00000110 06 40 14 08 05 40 13 10 0c 05 05 0e 40 01 0e 04 - 00000120 40 12 05 07 15 0c 01 14 09 0e 07 40 14 08 05 40 - 00000130 03 09 12 03 15 0c 01 14 09 0f 0e 4e 40 40 37 08 - 00000140 05 0e 05 16 05 12 40 29 6a 06 09 0e 04 40 0d 19 - 00000150 13 05 0c 06 40 07 12 0f 17 09 0e 07 40 07 12 09 - 00000160 0d 40 01 02 0f 15 14 40 14 08 05 40 0d 0f 15 14 - 00000170 08 5b 40 17 08 05 0e 05 16 05 12 40 09 14 40 09 - 00000180 13 40 01 40 04 01 0d 10 4c 6a 04 bb __ __ __ - + C: 00 f1 00 b4 0b 68 65 6c 6c 6f 20 77 6f 72 6c 64 + S: 00 bf 00 f1 02 68 69 + C: 00 f3 00 bf 0b 68 6f 77 20 61 72 65 20 79 6f 75 + S: 00 ca 00 f3 0d 6e 6f 74 20 62 61 64 2c 20 79 6f 75 3f + C: __ __ __ __ __ 62 65 65 6e 20 77 6f 72 73 65 diff --git a/packages/sequence/600/key b/packages/sequence/600/key index 7a6f1f6..8cfadfd 100644 --- a/packages/sequence/600/key +++ b/packages/sequence/600/key @@ -1 +1 @@ -61 64 9b +01 00 00 ca 0a diff --git a/packages/sequence/600/summary b/packages/sequence/600/summary index 587de45..a69f929 100644 --- a/packages/sequence/600/summary +++ b/packages/sequence/600/summary @@ -1 +1 @@ -X-Modem + xor +Packet sequence numbers diff --git a/packages/sequence/700/index.mdwn b/packages/sequence/700/index.mdwn index ea9dc0e..4c419ad 100644 --- a/packages/sequence/700/index.mdwn +++ b/packages/sequence/700/index.mdwn @@ -1,5 +1,25 @@ - C: 00 f1 00 b4 0b 68 65 6c 6c 6f 20 77 6f 72 6c 64 - S: 00 bf 00 f1 02 68 69 - C: 00 f3 00 bf 0b 68 6f 77 20 61 72 65 20 79 6f 75 - S: 00 ca 00 f3 0d 6e 6f 74 20 62 61 64 2c 20 79 6f 75 3f - C: __ __ __ __ __ 62 65 65 6e 20 77 6f 72 73 65 + 00000000 01 01 fe 43 61 6c 6c 20 6d 65 20 49 73 68 6d 61 + 00000010 65 6c 2e 20 53 6f 6d 65 20 79 65 61 72 73 20 61 + 00000020 67 6f e2 80 94 6e 65 76 65 72 20 6d 69 6e 64 20 + 00000030 68 6f 77 20 6c 6f 6e 67 20 70 72 65 63 69 73 65 + 00000040 6c 79 e2 80 94 68 61 76 69 6e 67 20 6c 69 74 74 + 00000050 6c 65 20 6f 72 20 6e 6f 20 6d 6f 6e 65 79 20 69 + 00000060 6e 20 6d 79 20 70 75 72 73 65 2c 20 61 6e 64 20 + 00000070 6e 6f 74 68 69 6e 67 20 70 61 72 74 69 63 75 6c + 00000080 61 72 20 9a 01 02 fd 74 6f 20 69 6e 74 65 72 65 + 00000090 73 74 20 6d 65 20 6f 6e 20 73 68 6f 72 65 2c 20 + 000000a0 49 20 74 68 6f 75 67 68 74 20 49 20 77 6f 75 6c + 000000b0 64 20 73 61 69 6c 20 61 62 6f 75 74 20 61 20 6c + 000000c0 69 74 74 6c 65 20 61 6e 64 20 73 65 65 20 74 68 + 000000d0 65 20 77 61 74 65 72 79 20 70 61 72 74 20 6f 66 + 000000e0 20 74 68 65 20 77 6f 72 6c 64 2e 20 49 74 20 69 + 000000f0 73 20 61 20 77 61 79 20 49 20 68 61 76 65 20 6f + 00000100 66 20 64 72 69 76 69 db 01 03 fc 6e 67 20 6f 66 + 00000110 66 20 74 68 65 20 73 70 6c 65 65 6e 20 61 6e 64 + 00000120 20 72 65 67 75 6c 61 74 69 6e 67 20 74 68 65 20 + 00000130 63 69 72 63 75 6c 61 74 69 6f 6e 2e 20 57 68 65 + 00000140 6e 65 76 65 72 20 49 20 66 69 6e 64 20 6d 79 73 + 00000150 65 6c 66 20 67 72 6f 77 69 6e 67 20 67 72 69 6d + 00000160 20 61 62 6f 75 74 20 74 68 65 20 6d 6f 75 74 68 + 00000170 3b 20 77 68 65 6e 65 76 65 72 20 69 74 20 69 73 + 00000180 20 61 20 64 61 6d 70 2c 20 64 72 59 __ __ __ 69 diff --git a/packages/sequence/700/key b/packages/sequence/700/key index 8cfadfd..63b0db0 100644 --- a/packages/sequence/700/key +++ b/packages/sequence/700/key @@ -1 +1,2 @@ -01 00 00 ca 0a +01 04 fb +01 04 FB diff --git a/packages/sequence/700/summary b/packages/sequence/700/summary index a69f929..776535e 100644 --- a/packages/sequence/700/summary +++ b/packages/sequence/700/summary @@ -1 +1 @@ -Packet sequence numbers +X-Modem sequence number diff --git a/packages/sequence/800/Makefile b/packages/sequence/800/Makefile new file mode 100644 index 0000000..c9b9c19 --- /dev/null +++ b/packages/sequence/800/Makefile @@ -0,0 +1,9 @@ +all: index.mdwn + +.DELETE_ON_ERROR: + +index.mdwn: key convert.py + ./convert.py | hd > $@ + +clean: + rm -f index.mdwn diff --git a/packages/sequence/800/convert.py b/packages/sequence/800/convert.py new file mode 100755 index 0000000..77ea0ce --- /dev/null +++ b/packages/sequence/800/convert.py @@ -0,0 +1,24 @@ +#! /usr/bin/python + +import struct +import random +import sys + +def packet(seq, txt): + return struct.pack('!HB', seq, len(txt)) + txt + +key = open("key").read().strip() + +i = 0 +seq = 83 +packets = [] +while i < len(key): + l = random.randrange(5)+1 + p = packet(seq, key[i:i+l]) + packets.append(p) + i += l + seq += 1 + +random.shuffle(packets) +sys.stdout.write(''.join(packets)) + diff --git a/packages/sequence/800/key b/packages/sequence/800/key new file mode 100644 index 0000000..a4ea8f7 --- /dev/null +++ b/packages/sequence/800/key @@ -0,0 +1 @@ +toddled reciprocation deposit excavators diff --git a/packages/sequence/800/summary b/packages/sequence/800/summary new file mode 100644 index 0000000..e95135b --- /dev/null +++ b/packages/sequence/800/summary @@ -0,0 +1 @@ +Reassemble transactions based on sequence numbers diff --git a/packages/sequence/sequence.mk b/packages/sequence/sequence.mk index e2ef642..7485189 100644 --- a/packages/sequence/sequence.mk +++ b/packages/sequence/sequence.mk @@ -1 +1,9 @@ $(eval $(call STANDARD_PUZZLE, sequence)) + +SEQUENCE_SUBMAKES = $(wildcard packages/sequence/*/Makefile) +SEQUENCE_SUBCLEANS = $(patsubst %/Makefile, %/clean, $(SEQUENCE_SUBMAKES)) + +sequence-clean: $(SEQUENCE_SUBCLEANS) + +packages/sequence/%/clean: + $(MAKE) -C $(@D) clean