2025-10-26
๐ Puzzle Pieces Redux
puzzle-pieces-redux.7z60KB original_puzzle_pieces_redux.7z64KBfor f in *.bin; do
echo -n "$(basename $f): "
dd if="$f" bs=1 skip=$((0x189b0)) count=6 2>/dev/null
echo
done
1a1962fc.bin: f9f73
5eb6e6c8.bin: 49f8b
07c8b8cb6a9.bin: 5abfa
7c8394d4b6b0.bin: d9c1a
20a.bin: d85d5
64b.bin: e6817
99fa27fd897.bin: 23c
3511c0a625.bin: 16f73
6676585.bin: 02}
a6ffddda.bin: 88a2d
a891a220.bin: flag{
abc9.bin: 48979
c931.bin: 5f93f
d2def806d493f.bin: 9bfc2
db887b5440.bin: be7a1
e75147c1b1b9406.bin: f18ba
for f in *.bin; do
echo "=== $(basename $f) === "
xxd -s 0x189b0 -l 16 "$f";
echo
done
=== 1a1962fc.bin ===
000189b0: 6639 6637 330a 0000 b0a3 0140 0100 0000 f9f73......@....
=== 5eb6e6c8.bin ===
000189b0: 3439 6638 620a 0000 b0a3 0140 0100 0000 49f8b......@....
=== 07c8b8cb6a9.bin ===
000189b0: 3561 6266 610a 0000 b0a3 0140 0100 0000 5abfa......@....
=== 7c8394d4b6b0.bin ===
000189b0: 6439 6331 610a 0000 b0a3 0140 0100 0000 d9c1a......@....
=== 20a.bin ===
000189b0: 6438 3564 350a 0000 b0a3 0140 0100 0000 d85d5......@....
=== 64b.bin ===
000189b0: 6536 3831 370a 0000 b0a3 0140 0100 0000 e6817......@....
=== 99fa27fd897.bin ===
000189b0: 3233 630a 0000 0000 b0a3 0140 0100 0000 23c........@....
=== 3511c0a625.bin ===
000189b0: 3136 6637 330a 0000 b0a3 0140 0100 0000 16f73......@....
=== 6676585.bin ===
000189b0: 3032 7d0a 0000 0000 b0a3 0140 0100 0000 02}........@....
=== a6ffddda.bin ===
000189b0: 3838 6132 640a 0000 b0a3 0140 0100 0000 88a2d......@....
=== a891a220.bin ===
000189b0: 666c 6167 7b0a 0000 b0a3 0140 0100 0000 flag{......@....
=== abc9.bin ===
000189b0: 3438 3937 390a 0000 b0a3 0140 0100 0000 48979......@....
=== c931.bin ===
000189b0: 3566 3933 660a 0000 b0a3 0140 0100 0000 5f93f......@....
=== d2def806d493f.bin ===
000189b0: 3962 6663 320a 0000 b0a3 0140 0100 0000 9bfc2......@....
=== db887b5440.bin ===
000189b0: 6265 3761 310a 0000 b0a3 0140 0100 0000 be7a1......@....
=== e75147c1b1b9406.bin ===
000189b0: 6631 3862 610a 0000 b0a3 0140 0100 0000 f18ba......@....
for f in $(ls -ctr *.bin); do
echo "=== $(basename $f) === "
xxd -s 0x189b0 -l 16 "$f"
echo
done
=== 07c8b8cb6a9.bin ===
000189b0: 3561 6266 610a 0000 b0a3 0140 0100 0000 5abfa......@....
=== 20a.bin ===
000189b0: 6438 3564 350a 0000 b0a3 0140 0100 0000 d85d5......@....
=== 3511c0a625.bin ===
000189b0: 3136 6637 330a 0000 b0a3 0140 0100 0000 16f73......@....
=== 5eb6e6c8.bin ===
000189b0: 3439 6638 620a 0000 b0a3 0140 0100 0000 49f8b......@....
=== 64b.bin ===
000189b0: 6536 3831 370a 0000 b0a3 0140 0100 0000 e6817......@....
=== 6676585.bin ===
000189b0: 3032 7d0a 0000 0000 b0a3 0140 0100 0000 02}........@....
=== 7c8394d4b6b0.bin ===
000189b0: 6439 6331 610a 0000 b0a3 0140 0100 0000 d9c1a......@....
=== 99fa27fd897.bin ===
000189b0: 3233 630a 0000 0000 b0a3 0140 0100 0000 23c........@....
=== a6ffddda.bin ===
000189b0: 3838 6132 640a 0000 b0a3 0140 0100 0000 88a2d......@....
=== a891a220.bin ===
000189b0: 666c 6167 7b0a 0000 b0a3 0140 0100 0000 flag{......@....
=== abc9.bin ===
000189b0: 3438 3937 390a 0000 b0a3 0140 0100 0000 48979......@....
=== c931.bin ===
000189b0: 3566 3933 660a 0000 b0a3 0140 0100 0000 5f93f......@....
=== d2def806d493f.bin ===
000189b0: 3962 6663 320a 0000 b0a3 0140 0100 0000 9bfc2......@....
=== db887b5440.bin ===
000189b0: 6265 3761 310a 0000 b0a3 0140 0100 0000 be7a1......@....
=== e75147c1b1b9406.bin ===
000189b0: 6631 3862 610a 0000 b0a3 0140 0100 0000 f18ba......@....
=== 1a1962fc.bin ===
000189b0: 6639 6637 330a 0000 b0a3 0140 0100 0000 f9f73......@....
for f in *.bin; do
echo "=== $f ==="
objdump -p "$f" | grep -iE "(timestamp|date|time|epoch|signature)"
done
=== 1a1962fc.bin ===
Time/Date Sun Oct 26 03:19:37 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature ffdc8ff3118e4a33be264ee1f5aecba8 age 7 pdb (none))
=== 5eb6e6c8.bin ===
Time/Date Sun Oct 26 04:06:43 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 72c6dec110dd447ca7f07de8e7a88848 age 4 pdb (none))
=== 07c8b8cb6a9.bin ===
Time/Date Sun Oct 26 03:19:37 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature b638284893094cd79f1b131ccc8bede7 age 3 pdb (none))
=== 7c8394d4b6b0.bin ===
Time/Date Sun Oct 26 03:19:38 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 909e9b7179a144a0b3de72aebc6fb77f age 7 pdb (none))
=== 20a.bin ===
Time/Date Sun Oct 26 03:19:36 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 6d8c4e69fb8c4e85a671621e175a0a9f age 3 pdb (none))
=== 64b.bin ===
Time/Date Sun Oct 26 03:19:36 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 58a2bb85526446ecb19e539a85d3bdd4 age 3 pdb (none))
=== 99fa27fd897.bin ===
Time/Date Sun Oct 26 03:19:39 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 248e7f7735014caf813880a1fe14fd69 age 7 pdb (none))
=== 3511c0a625.bin ===
Time/Date Sun Oct 26 03:19:38 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature f59b0dbb820d47af98060f26fff23ac3 age 7 pdb (none))
=== 6676585.bin ===
Time/Date Sun Oct 26 03:19:37 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 46e891a95950488b8f78e559cefdbada age 3 pdb (none))
=== a6ffddda.bin ===
Time/Date Sun Oct 26 03:19:38 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 82ce8f765bcb4dae904a51aefa3fdecd age 7 pdb (none))
=== a891a220.bin ===
Time/Date Sun Oct 26 03:19:36 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature f032dd65f4df4f528892cbea3bdfa9a5 age 12 pdb (none))
=== abc9.bin ===
Time/Date Sun Oct 26 03:19:38 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature e18a368cb07747069e60596355e88099 age 7 pdb (none))
=== c931.bin ===
Time/Date Sun Oct 26 03:19:38 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature ff0981ba9c4342c6beecf837d164d141 age 7 pdb (none))
=== d2def806d493f.bin ===
Time/Date Sun Oct 26 03:19:38 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 9214ab1f119646ee8e0195fb70aea1fe age 7 pdb (none))
=== db887b5440.bin ===
Time/Date Sun Oct 26 03:19:36 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature 71d02eae0c194fafa2d93e596a41c8eb age 3 pdb (none))
=== e75147c1b1b9406.bin ===
Time/Date Sun Oct 26 03:19:37 2025
Entry e 0000000000000000 00000000 CLR Runtime Header
vma: Hint Time Forward DLL First
0001a138 <none> 0301 GetSystemTimeAsFileTime
DLL Name: VCRUNTIME140.dll
DLL Name: api-ms-win-crt-runtime-l1-1-0.dll
(format RSDS signature aeff3a3990d941f4b7e160a2a793491b age 3 pdb (none))
for f in *.bin; do
echo "=== $(basename $f) ==="
strings "$f" | grep ".pdb"
done
=== 4fb72a1a24.bin ===
flag_part_2.pdb
=== 5e47.bin ===
flag_part_1.pdb
=== 5fa.bin ===
flag_part_3.pdb
=== 7b217.bin ===
flag_part_2.pdb
=== 8c14.bin ===
flag_part_4.pdb
=== 24b429c2b4f4a3c.bin ===
flag_part_5.pdb
=== 53bc247952f.bin ===
flag_part_6.pdb
=== 8208.bin ===
flag_part_1.pdb
=== 945363af.bin ===
flag_part_0.pdb
=== a4c71d6229e19b0.bin ===
flag_part_4.pdb
=== aa60783e.bin ===
flag_part_5.pdb
=== c8c5833b33584.bin ===
flag_part_0.pdb
=== c54940df1ba.bin ===
flag_part_7.pdb
=== d2f7.bin ===
flag_part_7.pdb
=== e1204.bin ===
flag_part_3.pdb
=== f12f.bin ===
flag_part_6.pdb
(for f in $(for f in *.bin; do echo "$(strings "$f" | grep "flag_part_") $f"; done | sort -k 1 | awk '{print $NF}'); do
pdb_string=$(strings "$f" | grep ".pdb" | tr -d ' ')
filename=$(basename "$f")
flag_part=$(xxd -s 0x161c0 -l 16 "$f" | awk '{print $10}' | cut -d '.' -f 1)
echo "$pdb_string $filename $flag_part"
done) | column -t
flag_part_0.pdb 945363af.bin f9f73
flag_part_0.pdb c8c5833b33584.bin flag{
flag_part_1.pdb 5e47.bin 88a2d
flag_part_1.pdb 8208.bin be7a1
flag_part_2.pdb 4fb72a1a24.bin 16f73
flag_part_2.pdb 7b217.bin e6817
flag_part_3.pdb 5fa.bin 5f93f
flag_part_3.pdb e1204.bin d85d5
flag_part_4.pdb 8c14.bin 48979
flag_part_4.pdb a4c71d6229e19b0.bin 49f8b
flag_part_5.pdb 24b429c2b4f4a3c.bin 5abfa
flag_part_5.pdb aa60783e.bin d9c1a
flag_part_6.pdb 53bc247952f.bin f18ba
flag_part_6.pdb f12f.bin 9bfc2
flag_part_7.pdb c54940df1ba.bin 02}
flag_part_7.pdb d2f7.bin 23c
(for f in $(for f in *.bin; do echo "$(strings "$f" | grep "flag_part_") $f"; done | sort -k 1 | awk '{print $NF}'); do
pdb_string=$(strings "$f" | grep ".pdb" | tr -d ' ')
filename=$(basename "$f")
flag_part=$(xxd -s 0x161c0 -l 16 "$f" | awk '{print $10}' | cut -d '.' -f 1)
timestamp=$(stat -c %y "$f")
echo "$pdb_string $filename $flag_part \"$timestamp\""
done) | column -t
flag_part_0.pdb 945363af.bin f9f73 "2025-10-09 12:23:14.842721000 -0400"
flag_part_0.pdb c8c5833b33584.bin flag{ "2025-10-09 12:23:23.066150000 -0400"
flag_part_1.pdb 5e47.bin 88a2d "2025-10-09 12:22:40.038292000 -0400"
flag_part_1.pdb 8208.bin be7a1 "2025-10-09 11:53:59.905066500 -0400"
flag_part_2.pdb 4fb72a1a24.bin 16f73 "2025-10-09 12:24:02.171057100 -0400"
flag_part_2.pdb 7b217.bin e6817 "2025-10-09 12:22:34.147032000 -0400"
flag_part_3.pdb 5fa.bin 5f93f "2025-10-09 12:23:06.483827900 -0400"
flag_part_3.pdb e1204.bin d85d5 "2025-10-09 12:22:54.802458800 -0400"
flag_part_4.pdb 8c14.bin 48979 "2025-10-09 12:23:00.003267600 -0400"
flag_part_4.pdb a4c71d6229e19b0.bin 49f8b "2025-10-09 12:23:18.905897100 -0400"
flag_part_5.pdb 24b429c2b4f4a3c.bin 5abfa "2025-10-09 12:22:44.537905300 -0400"
flag_part_5.pdb aa60783e.bin d9c1a "2025-10-09 12:23:26.691249300 -0400"
flag_part_6.pdb 53bc247952f.bin f18ba "2025-10-09 12:23:11.077639600 -0400"
flag_part_6.pdb f12f.bin 9bfc2 "2025-10-09 12:23:30.556146100 -0400"
flag_part_7.pdb c54940df1ba.bin 02} "2025-10-09 12:23:36.187480100 -0400"
flag_part_7.pdb d2f7.bin 23c "2025-10-09 12:22:51.066867000 -0400"
(for f in $(for f in original_puzzle_pieces_redux/*.bin; do echo "$(strings "$f" | grep "flag_part_") $f"; done | sort -k 1 | awk '{print $NF}'); do
pdb_string=$(strings "$f" | grep ".pdb" | tr -d ' ')
filename=$(basename "$f")
pe_time=$(objdump -p "$f" | grep "Time/Date" | awk '{$1=""; $2=""; print $0}' | sed 's/^[ \t]*//')
flag_part=$(xxd -s 0x161c0 -l 16 "$f" | awk '{print $10}' | cut -d '.' -f 1)
echo "$pdb_string $filename \"$pe_time\" $flag_part"
done) | column -t
objdump: original_puzzle_pieces_redux/4fb72a1a24.bin: file format not recognized
flag_part_0.pdb 945363af.bin "Oct 9 11:46:56 2025" f9f73
flag_part_0.pdb c8c5833b33584.bin "Oct 9 11:46:55 2025" flag{
flag_part_1.pdb 5e47.bin "Oct 9 11:46:57 2025" 88a2d
flag_part_1.pdb 8208.bin "Oct 9 11:46:55 2025" be7a1
flag_part_2.pdb 4fb72a1a24.bin "" 16f73
flag_part_2.pdb 7b217.bin "Oct 9 11:46:55 2025" e6817
flag_part_3.pdb 5fa.bin "Oct 9 11:46:57 2025" 5f93f
flag_part_3.pdb e1204.bin "Oct 9 11:46:55 2025" d85d5
flag_part_4.pdb 8c14.bin "Oct 9 11:46:57 2025" 48979
flag_part_4.pdb a4c71d6229e19b0.bin "Oct 9 11:46:56 2025" 49f8b
flag_part_5.pdb 24b429c2b4f4a3c.bin "Oct 9 11:46:56 2025" 5abfa
flag_part_5.pdb aa60783e.bin "Oct 9 11:46:57 2025" d9c1a
flag_part_6.pdb 53bc247952f.bin "Oct 9 11:46:56 2025" f18ba
flag_part_6.pdb f12f.bin "Oct 9 11:46:58 2025" 9bfc2
flag_part_7.pdb c54940df1ba.bin "Oct 9 11:46:56 2025" 02}
flag_part_7.pdb d2f7.bin "Oct 9 11:46:58 2025" 23c
The objdump: ... file format not recognized error is the key, along with the "PE time stamp" hint.
That error for 4fb72a1a24.bin (chunk 16f73) means it's corrupted, so it's the incorrect piece for Pair 2. This strongly implies the other file in each pair is the correct one, and we just need the right sorting key.
The hint says "PE time stamp." Let's build the flag by choosing the file with the oldest (numerically smallest) PE timestamp from each pair.
Pair 0: ... 11:46:55 (Oldest) < ... 11:46:56
Chunk: flag{
Pair 1: ... 11:46:55 (Oldest) < ... 11:46:57
Chunk: be7a1
Pair 2: ... 11:46:55 is the only valid timestamp (the other file is broken).
Chunk: e6817
Pair 3: ... 11:46:55 (Oldest) < ... 11:46:57
Chunk: d85d5
Pair 4: ... 11:46:56 (Oldest) < ... 11:46:57
Chunk: 49f8b
Pair 5: ... 11:46:56 (Oldest) < ... 11:46:57
Chunk: 5abfa
Pair 6: ... 11:46:56 (Oldest) < ... 11:46:58
Chunk: f18ba
Pair 7: ... 11:46:56 (Oldest) < ... 11:46:58
Chunk: 02}
Final Flag: flag{be7a1e6817d85d549f8b5abfaf18ba02}
flag{
be7a1
e6817
d85d5
49f8b
5abfa
f18ba
02}
flag{be7a1e6817d85d549f8b5abfaf18ba02}
Or the 2nd released part
(for f in $(for f in puzzle-pieces-2-final/*.bin; do echo "$(strings "$f" | grep "flag_part_") $f"; done | sort -k1 | awk '{print $NF}'); do
pdb_string=$(strings "$f" | grep ".pdb" | tr -d ' ')
filename=$(basename "$f")
sha_hash=$(sha256sum "$f" | awk '{print $1}')
flag_part=$(xxd -s 0x189b0 -l 16 "$f" | awk '{print $10}' | cut -d '.' -f1)
timestamp=$(stat -c %y "$f")
trailing_zeros=$(echo "$sha_hash" | awk '{ match($0, /0+$/); print (RSTART ? RLENGTH : 0) }')
echo "$trailing_zeros $pdb_string $filename $sha_hash $flag_part \"$timestamp\""
done) | sort -n -k1 | column -t
0 1a1962fc.bin 3a389838f872c04ee98b56b47b026c56e9e1bf9a791d33f07991d72c8eb20083 f9f73 "2025-10-26 04:17:26.840521000 -0400"
0 3511c0a625.bin 79ec81fe08fded6518d296f50e9d9ef1524ea0c95d88b94b376834351ee53485 16f73 "2025-10-26 04:17:41.633882100 -0400"
0 7c8394d4b6b0.bin b8f23f0b8cb91161a8a757dc74d7f89d634f2bb50455233425105e44511150a5 d9c1a "2025-10-26 04:17:37.313875500 -0400"
0 99fa27fd897.bin 598ef46397a9dbf5fe468543022f72a8014f7d0b9448058955f896914fa53f57 23c "2025-10-26 04:17:43.480986000 -0400"
0 a6ffddda.bin 27f1c4dad4c5e5bc3369adde78dc739121acd64a9549587f9f82a83b520f8704 88a2d "2025-10-26 04:17:02.441363700 -0400"
0 abc9.bin 0fd014cc10ca48f4c65e9be49914aa0c7e24a19c561801541185473e8a08f9a4 48979 "2025-10-26 04:17:19.542502300 -0400"
0 c931.bin d81c9372e8fe20e0917bfee218a8e9c78bdb4a41ad2f234b1d28865aa1eb7669 5f93f "2025-10-26 04:17:17.189218400 -0400"
0 d2def806d493f.bin 0b8b764a058b59bcb7868e3c402119b50ca02e6fb6eb98deec4821efcd82c29b 9bfc2 "2025-10-26 04:17:24.367009000 -0400"
1 a891a220.bin ee1520fbe2b1dc1bb85321ddc602aa043f7728440e48524fb1b67e1b272822e0 flag{ "2025-10-26 04:17:22.101183100 -0400"
2 db887b5440.bin 016f23e8ac531cec3da547a0e0bc732b4ce96d26306c83b38ec14f7bd2a9e700 be7a1 "2025-10-26 04:17:29.383414900 -0400"
3 64b.bin 3bd187f44e284ff90986ed67104a53cff73fed14a55902a343a86a2108e7f000 e6817 "2025-10-26 04:17:40.017732400 -0400"
4 20a.bin 7f0c897e241ac92d0c4c9ecf680cf8c570c72cc2a1a99ab50ce218c518fd0000 d85d5 "2025-10-26 04:17:35.313007200 -0400"
5 5eb6e6c8.bin dec0721f3014e22cb1b121f065adaa6debf070c4dc86d4446cb3d6cb87300000 49f8b "2025-10-26 04:17:31.338321400 -0400"
6 07c8b8cb6a9.bin 45951368223b60ee10f964785f96251fbfd2988af1c7cbb66bd27570ed000000 5abfa "2025-10-26 04:17:33.548915600 -0400"
7 e75147c1b1b9406.bin 3a9d1b97597e38008e13e2ba64667667bb1a6cdc43b905a826d91496b0000000 f18ba "2025-10-26 04:17:05.285064700 -0400"
8 6676585.bin aecc3b8b3b871ac034c60ddb7c0698105bcf4c768603a0b4f64e3a1100000000 02} "2025-10-26 04:16:58.808224600 -0400"
(for f in $(for f in original_puzzle_pieces_redux/*.bin; do echo "$(strings "$f" | grep "flag_part_") $f"; done | sort -k 1 | awk '{print $NF}'); do pdb_string=$(strings "$f" | grep ".pdb" | tr -d ' '); filename=$(basename "$f"); pe_time=$(objdump -p "$f" 2>/dev/null | grep "Time/Date" | awk '{$1=""; $2=""; print $0}' | sed 's/^[ \t]*//'); flag_part=$(xxd -s 0x161c0 -l 16 "$f" | awk '{print $10}' | cut -d '.' -f 1); echo "$pdb_string $filename \"$pe_time\" $flag_part"; done) 2>&1 | column -t | tee /dev/tty | awk 'BEGIN { print "\n\n--- Correct Files (in order) ---"; } /^flag_part_/ { NR_ADJ++; split($0, a, "\""); if (NR_ADJ % 2 == 1) { ts1 = a[2]; line1 = $0; } else { ts2 = a[2]; line2 = $0; if (ts1 == "") { print line2; } else if (ts2 == "") { print line1; } else if (ts1 < ts2) { print line1; } else { print line2; } } }'
--- Correct Files (in order) ---
flag_part_0.pdb 945363af.bin "Oct 9 11:46:56 2025" f9f73
flag_part_0.pdb c8c5833b33584.bin "Oct 9 11:46:55 2025" flag{
flag_part_1.pdb 5e47.bin "Oct 9 11:46:57 2025" 88a2d
flag_part_1.pdb 8208.bin "Oct 9 11:46:55 2025" be7a1
flag_part_2.pdb 4fb72a1a24.bin "" 16f73
flag_part_2.pdb 7b217.bin "Oct 9 11:46:55 2025" e6817
flag_part_3.pdb 5fa.bin "Oct 9 11:46:57 2025" 5f93f
flag_part_3.pdb e1204.bin "Oct 9 11:46:55 2025" d85d5
flag_part_4.pdb 8c14.bin "Oct 9 11:46:57 2025" 48979
flag_part_4.pdb a4c71d6229e19b0.bin "Oct 9 11:46:56 2025" 49f8b
flag_part_5.pdb 24b429c2b4f4a3c.bin "Oct 9 11:46:56 2025" 5abfa
flag_part_5.pdb aa60783e.bin "Oct 9 11:46:57 2025" d9c1a
flag_part_6.pdb 53bc247952f.bin "Oct 9 11:46:56 2025" f18ba
flag_part_6.pdb f12f.bin "Oct 9 11:46:58 2025" 9bfc2
flag_part_7.pdb c54940df1ba.bin "Oct 9 11:46:56 2025" 02}
flag_part_7.pdb d2f7.bin "Oct 9 11:46:58 2025" 23c
flag_part_0.pdb c8c5833b33584.bin "Oct 9 11:46:55 2025" flag{
flag_part_1.pdb 8208.bin "Oct 9 11:46:55 2025" be7a1
flag_part_2.pdb 7b217.bin "Oct 9 11:46:55 2025" e6817
flag_part_3.pdb e1204.bin "Oct 9 11:46:55 2025" d85d5
flag_part_4.pdb a4c71d6229e19b0.bin "Oct 9 11:46:56 2025" 49f8b
flag_part_5.pdb 24b429c2b4f4a3c.bin "Oct 9 11:46:56 2025" 5abfa
flag_part_6.pdb 53bc247952f.bin "Oct 9 11:46:56 2025" f18ba
flag_part_7.pdb c54940df1ba.bin "Oct 9 11:46:56 2025" 02}











