Releases: wsvdmeer/pwn-companion
Release list
v1.2.2
v1.2.1
v1.2.1 (build 7): terminal toggles, per-franchise voice detail, idle-…
PwnCompanion v1.2.0
What's new since v1.1.0.
Cracking
- Targeted default-key candidates — before the wordlist, PwnCompanion now tries keys that are
derived from the network, not random: the exact SpeedTouch/Thomson key (reference-vector
verified) and universal network-name guesses (the ESSID + common variants). These crack a slice
of real networks a generic wordlist never gets, in seconds. Each is individually toggleable in the
crack [ options ] sheet. - Offline starter wordlist — a bundled ~21K WPA-relevant list (SecLists WiFi-WPA top + rockyou-75)
means the first crack works with no network, right out of the box. The fuller pwncrack list still
downloads in the background, and now auto-updates (a throttled ~once-a-day check) when it changes.
Map
- New slippy pixel map — a real OpenStreetMap tile map with smooth panning, discrete
stepped zoom (rock-solid phosphor pixels at every level), and catch clustering (a cell
brightens when several catches share it; tap to open). Replaces the display-only geolocation view.
(The pixel shader needs Android 13+; older devices fall back to the previous coarse-grid map.)
Voice
- 34 selectable franchises — added Breaking Bad, Stranger Things, Game of Thrones, The Boys, John
Wick, The Dark Knight, James Bond, Lord of the Rings, Dune, Star Trek, Rick and Morty, Pulp Fiction,
and Deadpool. Choose which worlds the pet speaks in from Settings → voice — a rotation pool:
check all, or just your favourites (check exactly one to pin it).
Polish
- The console command bar opens cleanly on "waiting for link" — no more misleading
"start service"/"stop service" flashes at launch. - Removed the border around the map; assorted UI tidy-ups.
Under the hood: the crack candidate-space math is now a tested, isolated unit (regression net).
Signed release APK. versionName 1.2.0, versionCode 6.
PwnCompanion v1.1.0
What's new since v1.0.1.
Fixed
- Crash when tapping "crack on phone" with no Wi-Fi / no Pi linked — an unguarded foreground-service start. (Thanks to the user who reported it.)
- Fresh handshakes now appear in the list immediately even without a GPS fix — before, a capture taken during a GPS dropout lagged until the next re-scan. (Requires redeploying
pwn-companion.pyto the Pi.)
Cracking
- The crack banner now shows what's running + the options in effect (e.g.
eapol · native · mangle · easy cpu · charger) plus live progress + ETA. - Wordlist controls (quick / mangle) moved onto each capture, right above "crack on phone", with a short explanation of what each does.
- Filters and cracking options are now separate, clearer sheets instead of one crowded menu.
- New copy hash action — grab a capture's
22000line to crack on a PC/GPU withhashcat -m 22000(millions/s vs the phone's hundreds — for the hard keys).
Captures & map
- The map is tappable — tap a catch to open it; if several sit on one dot, a picker lets you choose.
Notifications & settings
- Notification when a handshake is caught.
- New settings screen to toggle notifications (caught / cracked) on or off.
Console & device
- The link row is tappable → opens the Pwnagotchi's web UI.
- The version row shows version + build and links to GitHub.
- Reboot / shutdown the Pi from the app (two-tap confirm).
- Tidied the footer button layout.
Setup
- On recent Raspberry Pi OS (Bookworm): install the plugin dependency with
sudo apt install python3-websockets(plainpipis blocked). Docs updated.
Signed release APK. versionName 1.1.0, versionCode 5.
PwnCompanion v1.0.3
Patch release — a crash fix.
Fixed
- Crash when starting an on-phone crack with no Pwnagotchi link (e.g. offline / no wifi). The
crack foreground-service start could be refused by the OS when no other service was running, and
the exception was uncaught. It's now handled — the crack runs regardless (best-effort while the
app is open) instead of taking the app down. (Thanks to the user who reported it.)
Signed release APK. versionName 1.0.0, versionCode 4. No behavior changes beyond the fix.
PwnCompanion v1.0.2
A UX-focused follow-up to v1.0.1 — the cracking controls got reorganized and captures show up more reliably.
Cracking controls
- Per-crack wordlist options —
quickandmanglenow live on each capture's crack sheet (awordlistrow right above crack on phone), so you pick how much this crack tries at launch instead of digging through a global menu. - Filters and options are separate now — a
[ filters ]sheet (geo / crackable / cracked) and a distinct[ options ]sheet (cracking power: easy cpu / charger only / stop <15%). No more cracking settings mislabeled as filters. - Crack banner shows what's in effect — while cracking it lists the network plus the active options, e.g.
eapol · native · mangle · easy cpu · charger · stop<15%.
Captures
- Fresh captures appear live even without a GPS fix — a handshake caught during a GPS dropout now shows in the list immediately (unmapped until a fix lands) instead of waiting for the next re-scan. (Requires redeploying
pwn-companion.pyto the Pi.)
Setup / docs
- Install the plugin dependency with
sudo apt install python3-websocketson recent Raspberry Pi OS (Bookworm) — plainpipis blocked by PEP 668. Docs updated and the required-setup note made prominent.
Signed release APK. versionName 1.0.0, versionCode 3.
PwnCompanion v1.0.1
On-phone cracking gets a lot stronger, and the app now works with the Pwnagotchi disconnected.
Cracking
- EAPOL (
WPA*02) cracking — the app cracked PMKID only before; now it cracks full 4-way-handshake captures too (the majority of grabs). Native (ARMv8 SHA-1) path with a pure-Kotlin fallback, verified against the official hashcat mode-22000 reference vector. - Word-mangling rules (opt-in) — expands each wordlist entry into common variants (
Word123,Welkom2024!, leet, …) for a wider search. - Crack progress now shows the handshake type + engine (e.g.
eapol · native).
Offline / captures
- Local capture persistence — captures and their hashes are cached on the phone, so you can browse and crack them with the Pi disconnected or after a restart.
- Manage captures — clear the phone cache, wipe the device's handshakes, or delete a single capture (all confirmed).
- Stop a crack from the capture's detail sheet, and an "already tried" marker so you can see what you've attempted before.
Under the hood
- Capture persistence runs off the main thread with a size cap; per-capture device-delete broadcasts to all linked nodes.
Signed release APK. versionName 1.0.0, versionCode 2.
PwnCompanion v1.0.0
First public release. Android companion for Pwnagotchi (jayofelony fork): mirrors the e-ink face, geotags and maps captures, steers the hunt with a UCB1 channel bandit, a deterministic franchise personality voice on the pet's own screen, and cracks handshakes — via wpa-sec or fully on-phone (native PMKID cracker with hardware SHA-1, a queue, resume, and battery-friendly controls). Fully on-device, no cloud. GPL-3.0. Requires Android 10+ (arm64) paired with a Pwnagotchi running the bt-tether + pwn-companion.py plugins. Release-signed (self-signed) APK — sideload.