Solution
We’re handed one file, 20251023_141508.jpg, a phone snapshot of a tangle of cables under a desk. There’s nothing hidden in the pixels.
When a file looks empty, check its metadata. Phones pack a lot into every JPEG: camera model, timestamps, exposure, GPS. exiftool prints all of it:
$ exiftool 20251023_141508.jpg
...
Camera Model Name : SM-S911B
Date/Time Original : 2025:10:23 14:15:08
GPS Position : 40 deg 0' 53.94" N, 105 deg 16' 13.97" W
...
User Comment : SkillBit{...}
The flag’s in UserComment, a few lines past the GPS.
If you don’t have exiftool installed, the EXIF block isn’t compressed, so strings finds it too:
$ strings 20251023_141508.jpg | grep SkillBit
solve.sh
#!/usr/bin/env bash
# Exposure solve script
# The flag is stored in the JPEG's EXIF metadata (UserComment). Dump all tags
# and pull the flag out.
set -euo pipefail
IMG="${1:-../dist/20251023_141508.jpg}"
# Option A: let exiftool parse the metadata and grep for the flag.
exiftool "$IMG" | grep -oE 'SkillBit\{[^}]+\}'
# Option B (no exiftool): the EXIF block is uncompressed, so strings finds it too.
# strings "$IMG" | grep -oE 'SkillBit\{[^}]+\}'