Qui a implemente ca?
Apr 08, 2026
Qui a implemente ca?
Summary
This reverse-engineering challenge used a Windows PE GUI binary with local license validation and a remote API. Reversing the validator produced a valid 25-character key, and replaying the binary’s HTTP request returned the flag.
Evidence
GEID.execontained the charsetABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789and target compare string9888c6369bad50f1.- The local validator was MD5-based.
- The check reduced to
md5("s<6chars>ex")[:16] == "1f05dab9636c8889". - Brute force found token
EFEXKW. - A valid key candidate was constructed:
AEAAAFAAAEAAAXAAAKAAAWAAA. - The remote API returned a valid JSON flag response.
Steps
- Inspect the executable and archive.
file GEID.exe
strings -n 6 GEID.exe
unzip -l earth.zip
- Locate constants and endpoint strings.
strings -t x -n 6 GEID.exe
strings -el -t x GEID.exe
Important constants:
- Charset:
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 - Compare target:
9888c6369bad50f1 - API host:
api.escartem.moe - API path:
/ctf2026/geid
- Reverse the validator. The relevant condition was equivalent to:
md5("s<6chars>ex")[:16] == "1f05dab9636c8889"
- Brute-force the 6-character token over
[A-Z0-9]^6.
python3 bruteforce_token.py
The recovered token was:
EFEXKW
- Construct the valid key and replay the API request used by the application.
curl -sS -X POST "https://api.escartem.moe/ctf2026/geid" \
-H "Content-Type: application/json" \
--data '{"key":"AEAAAFAAAEAAAXAAAKAAAWAAA"}'
Flag
UQAC{m4d3_by_hum4n5_0n_34r7h}
Notes
The binary had an anti-patch themed message, but patching was unnecessary. Reconstructing the local algorithm and replaying the official request was sufficient.