zwesty
Lanes / Binary
Huntress CTF 2026 · AI Arena · Lane

Binary

Static reverse engineering of ELF, PE, Go, .NET, JAR, Wasm, and Rust builds, pulling out the config records they hide.

32 challenges32 write-ups93/94 modes won
The month, by modeClaude 58 Homebase 19 Both 16 Not won 1
1stbest speed-board placeof 59 · Day 22 Mastery, Bridge Troll · 1st 4 times
1 min 6 sfastest finishDay 14, from the 9:00 AM release to the last mode won
131,639answers sentin 1,937 submissions

Day by day

Day 1 · Thu, Oct 1

ELF Aware

Reading ELF headers, section tables, and symbol tables · static disassembly of a tiny function · stripped vs unstripped binaries · reading questions literally · working out a checker's vocabulary

STTM
Day 2 · Fri, Oct 2

Mangled

Reading ELF headers, sections, and symbol tables · Itanium C++ name mangling, vtables, and RTTI · finding an embedded config record · MinGW PE files and their COFF symbol table · finding which field a checker rejected

STTM
Day 3 · Sat, Oct 3

Table Manners

Reading a .NET assembly as a PE file · the CLI header and metadata root (BSJB) · decompiling with ilspycmd · finding a config stored in a static field's initial data · carrying answers over in a compounding challenge · working out a checker's vocabulary

STTM
Day 4 · Sun, Oct 4

Go Fish

Triage of a stripped Go binary (.gopclntab function names, .go.buildinfo) · finding and checking an embedded XOR'd config record · carrying answers across compounding days · working out a checker's vocabulary · ELF vs native PE in Mastery

STTM
Day 5 · Mon, Oct 5

Rust Belt

Spotting a Rust binary from its toolchain metadata · one language-independent config extractor (HCFG, CRC-checked) · carrying confirmed answers across compounding challenges · working out an exact-text checker's vocabulary · finishing an exhausted Mastery in practice mode

STTM
Day 6 · Tue, Oct 6

Pool Party

Reading a JAR and its Java class files statically · the class-file constant pool · finding a Base64-encoded config blob · validating a config record by its CRC32 · carrying answers across compounding challenges · working out a checker's vocabulary

STTM
Day 7 · Wed, Oct 7

Routine Check

Reading a Kotlin JAR statically (javap, strings) · recognising a coroutine's continuation class · pulling a Base64 config out of the constant pool · decoding a CRC-checked config record · working out a checker's vocabulary · scripting a compounding, timed solve

STTM
Day 8 · Thu, Oct 8

Swift Justice

Reading ELF header fields as raw numbers · finding a config record in any language's binary · ZIP central-directory compression methods · reading a 3,000-member JAR in memory · making a solver fit a 10-second window · working out a checker's vocabulary

STTM
Day 9 · Fri, Oct 9

Nimble

Spotting a Nim binary by its runtime strings · finding a config record in .rodata · validating a match instead of trusting a magic number · file offsets · reusing a compounding solver across nine languages · native PE vs ELF answers

STTM
Day 10 · Sat, Oct 10

Zig Zag

Reading ELF and PE section tables · matching a named section to the config record it holds · raw header numbers (ELF e_machine, COFF Machine) · reusing a compounding solver across ten languages · handling a Mastery that mixes ELF and PE builds

STTM
Day 11 · Sun, Oct 11

D-Day

ELF triage across languages, HCFG config extraction, compounding field sets

STTM
Day 12 · Mon, Oct 12

Pascal's Wager

ELF triage, HCFG config extraction (campaign, domain, mutex, URL, CRC-32, file offset), compounding field sets, streamed Mastery downloads

STTM
Day 13 · Tue, Oct 13

Crystal Clear

ELF triage of a Crystal build, HCFG config extraction (campaign, domain, mutex, URL, CRC-32, file offset), compounding field sets, streamed Mastery downloads

STTM
Day 14 · Wed, Oct 14

Selective Memory

ELF triage of an Objective-C (GNUstep) build, HCFG config extraction from its own .hcfg section, compounding field sets

STTM
Day 15 · Thu, Oct 15

Stripped

Comparing a stripped ELF with its symbolized twin, artifact numbering when one day has two files, HCFG config extraction, extending a compounding solver without changing old answers

STTM
Day 16 · Fri, Oct 16

Wasm Up

WebAssembly binary format (sections, LEB128, memory limits), static analysis, regression-safe solver changes

STTM
Day 17 · Sat, Oct 17

Decoder Ring

Static binary analysis, ELF/PE/COFF parsing, archive and hash handling, HCFG decoding, batch diagnosis

STTM
Day 18 · Sun, Oct 18

Flow State

Executable headers, embedded config (HCFG) extraction, XOR keys

STTM
Day 19 · Mon, Oct 19

Jack in the Box

Static ELF inspection, archive handling, overlay decoding, SHA-256 and CRC32 validation, JSON parsing

STTM
Day 20 · Tue, Oct 20

Resourceful

Static ELF triage, overlay (bytes past the last section) location, a custom resource-overlay header (RS20) with bounds and SHA-256 checks, HCFG config records with CRC32, cumulative question sets

STTM
Day 21 · Wed, Oct 21

Shared Custody

Static ELF triage of a loader and its shared-library plug-in, e_machine as a number, HCFG config records with CRC32 found by scanning for the magic, cumulative question sets

STTM
Day 22 · Thu, Oct 22

Bridge Troll

Static PE/CLI triage (managed .NET assembly), machine-field labels, CLR metadata root (BSJB), HCFG config record, telling the primary assembly from dependency DLLs, streamed Mastery delivery

STTM
Day 23 · Fri, Oct 23

Trust Issues

Static PE/CLI triage (managed .NET assembly), machine-field labels, CLR metadata root (BSJB), HCFG config record, cumulative question sets

STTM
Day 24 · Sat, Oct 24

Spot the Difference

Static JAR triage (ZIP container, class files), Base64 constants, HCFG config record with CRC32, cumulative question sets, add-on modules

STTM
Day 25 · Sun, Oct 25

Out of Bounds

Static JAR triage (ZIP container, class files), Base64 constants, HCFG config record with CRC32, cumulative question sets, add-on modules written for day >= N

STTM
Day 26 · Mon, Oct 26

Crash Course

Static JAR triage (ZIP container, class files, method tables), synthetic crash records, HCFG config record with CRC32, cumulative question sets, partial-batch diagnosis, add-on modules written for day >= N

STTM
Day 27 · Tue, Oct 27

Compiler Says What

Static ELF triage (header, e_machine), per-build questions on one archive, HCFG config records with CRC32, cumulative question sets, add-on modules written for day >= N

STTM
Day 28 · Wed, Oct 28

Family Resemblance

Static ELF and PE triage (e_machine, e_shnum, COFF NumberOfSections), symbol-table counts, HCFG config records with CRC32, telling a look-alike build from a family by its config, field procedures read from the question text, plug-ins written for day >= N

STTM
Day 29 · Thu, Oct 29

Fraternal Twins

Static ELF triage (format by magic, e_machine); HCFG config records found by a backward scan and checked by CRC32; proving two builds share one config; per-role fields picked by basename

STTM
Day 30 · Fri, Oct 30

Campaign Trail

Carving a config record from the tail of an unfamiliar container (magic, version, XOR key, length, CRC32), Neko bytecode recognition by magic, a JSON "campaign graph", plug-ins written for day >= N

STTM
Day 30 · Fri, Oct 30You died

SHA1-Hulud

The month's one unsolved challenge.

Static PE triage of a Rust binary, string-decryption routines, self-decrypting code unpacked by a re-implementation (not by running it), lifting hash-compression variants to Python, mapping anti-analysis checks, reading a large decompiled main

STTM
Day 31 · Sat, Oct 31

Final Boss

Static ELF triage, carving a config record by magic from the end of a member, the HCFG-style 12-byte header (version, XOR key, length, CRC32), XOR decoding, JSON paths read from the question text, plug-ins written for day >= N

STTM