07.04 / 65 min

Analyze binary protocols

Capture binary frames, inspect magic bytes and hashes, and form a codec hypothesis without pretending bytes are text.

By the endSend and receive binaryInspect metadataDocument a decoding hypothesis
Controlled exercise

Use only the Academy Lab on 127.0.0.1:5177. Do not copy these tests to a public system without explicit written authorization.

01

Prove the target boundary

Create or reopen the Academy Lab project and send GET /health. Continue only when the target is 127.0.0.1 and local_only is true. The public-recon lessons require a separately authorized target and are never run against an unrelated domain.

GET http://127.0.0.1:5177/health
Expected result

200 with "local_only": true.

02

Fetch the reference sample

GET /binary/sample and store content type, byte length, SHA-256, and first bytes. Do not convert the body through UTF-8.

03

Send a binary frame

Connect to /ws and send a small binary buffer. The lab returns a JSON analysis frame and a binary WSHK response.

04

Inspect structure

Compare magic bytes, length fields, entropy hints, repeated offsets, and direction. Save the original bytes before trying a decoder.

05

Test codec hypotheses

Try JSON, MessagePack, protobuf, compression, or custom-structure decoders only when evidence supports them. Record schema and endianness assumptions.

06

Report limits

A recognized magic value or readable fragment is not proof of a security issue. Findings require a trust-boundary or validation failure.

MASTERY CHECKPOINT

Prove it before moving on.

The project preserves raw binary evidence, hashes, direction, metadata, and a clearly labeled codec hypothesis.