Skip to content

Releases: wsvdmeer/pwn-companion

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 04 Aug 19:40
v1.2.2 (build 8): franchise-lines detail, light-face auto-invert, idl…

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 04 Aug 16:47
v1.2.1 (build 7): terminal toggles, per-franchise voice detail, idle-…

PwnCompanion v1.2.0

Choose a tag to compare

@wsvdmeer wsvdmeer released this 04 Aug 06:49

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

Choose a tag to compare

@wsvdmeer wsvdmeer released this 30 Jul 18:18

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.py to 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 22000 line to crack on a PC/GPU with hashcat -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 (plain pip is blocked). Docs updated.

Signed release APK. versionName 1.1.0, versionCode 5.

PwnCompanion v1.0.3

Choose a tag to compare

@wsvdmeer wsvdmeer released this 30 Jul 11:13

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

Choose a tag to compare

@wsvdmeer wsvdmeer released this 27 Jul 22:03

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 optionsquick and mangle now live on each capture's crack sheet (a wordlist row 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.py to the Pi.)

Setup / docs

  • Install the plugin dependency with sudo apt install python3-websockets on recent Raspberry Pi OS (Bookworm) — plain pip is 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

Choose a tag to compare

@wsvdmeer wsvdmeer released this 27 Jul 15:40

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

Choose a tag to compare

@wsvdmeer wsvdmeer released this 24 Jul 11:25

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.