Skip to main content
Before you begin reverse engineering the Whoop 4.0, you’ll need to set up several tools for capturing and analyzing Bluetooth Low Energy (BLE) communication.

Required Hardware

  • Whoop 4.0 device - The fitness tracker you want to reverse engineer
  • Android phone - For BLE sniffing and testing (with Developer Options enabled)
  • Computer with Bluetooth - Linux system with hci0 Bluetooth adapter recommended

Software Tools

1

Install Wireshark

Wireshark is essential for capturing and analyzing Bluetooth packets. You’ll need root/sudo access to capture BLE traffic.
sudo apt-get update
sudo apt-get install wireshark
Wireshark requires sudo privileges to capture Bluetooth traffic: sudo wireshark
2

Install Android Debug Bridge (ADB)

ADB allows you to extract Bluetooth HCI logs from your Android phone.
sudo apt-get install android-tools-adb
Verify ADB is working:
adb devices -l
3

Install BLE Scanner App

Install a BLE scanner on your Android phone to discover services and characteristics:
  • BLE Scanner (recommended)
  • Any other BLE scanner app that shows service UUIDs and characteristics
4

Install Python and BLE Libraries

You’ll need Python with BLE support for scripting and automation.
pip install pygatt
pygatt uses gatttool backend, while bleak is cross-platform. Both are useful for different scenarios.
5

Install BlueZ Tools (Linux)

Linux Bluetooth tools for low-level BLE operations.
Ubuntu/Debian
sudo apt-get install bluez bluez-tools
This provides:
  • hcitool - Bluetooth device scanning
  • gatttool - GATT command-line tool

Optional Tools

CRC Analysis

For reverse engineering checksums and CRC algorithms:
git clone https://github.com/colinoflynn/crcbeagle
cd crcbeagle
pip install -r requirements.txt
CRCBeagle helps identify CRC parameters when analyzing packet checksums.

APK Decompilation

To analyze the Whoop Android app:
  • JADX - Java decompiler for Android APKs
  • APKTool - Resource extraction and analysis

Enable Android BLE Logging

To capture Bluetooth packets from your Android phone:
1

Enable Developer Options

Go to Settings > About Phone and tap Build Number 7 times.
2

Enable HCI Snoop Logging

Navigate to Settings > Developer Options > Bluetooth HCI Snoop Logging and enable it.
3

Use the Whoop App

Open the Whoop app and perform the actions you want to capture (sync, set alarm, etc.).
Remember to disable HCI snoop logging after capturing to avoid filling up storage.

Verify Your Setup

Test that everything is working:
# Check ADB connection
adb devices -l

# Test Python BLE scanning
python3 -c "from pygatt import GATTToolBackend; print('pygatt installed')"

# Check Bluetooth adapter
hciconfig
If you encounter permission issues with Bluetooth tools, you may need to add your user to the bluetooth group:
sudo usermod -a -G bluetooth $USER

Next Steps

With your tools set up, you’re ready to discover the Whoop’s BLE services and characteristics.

Build docs developers (and LLMs) love