Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mjarkk/decode-vanmoof-blt-packages

A helper program for inspecting bluetooth sniff files when communicating with vanmoof bikes
https://github.com/mjarkk/decode-vanmoof-blt-packages

Last synced: about 1 month ago
JSON representation

A helper program for inspecting bluetooth sniff files when communicating with vanmoof bikes

Awesome Lists containing this project

README

        

## Decode Bluetooth sniffs from and to a VanMoof bike

**NOT** an offical VanMoof service/product!

![Preview](/preview.png?raw=true "Preview")

### Usage

```sh
# Make sure you have installed golang and have setup your $GOPATH correctly
go install github.com/mjarkk/decode-vanmoof-blt-packages

decode-vanmoof-blt-packages \
-encryptionKey "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
-bikeId "34 56 78 9a bc de" \
-file "bt_snoop.log"
```

### Arguments

#### `-file` _Required_

This is the bluetooth sniff file you want to inspect.

This file should be in the BTSnoop file format.

#### `-encryptionKey` _Recommended_

Tries to decrypt the bluetooth packet values. Without this argument you can see wich characteristics that are send/recived but cannot really see the values unless you want to decrypt them yourself.

This should be the encryption key of your bike

This value can be obtained from the vanmoof api.

#### `-bikeId`

This property can be set if multiple vanmoof bikes are in your bluetooth sniff.

This should be the mac address of your bike, the mac address can be seperated with ` ` or `:`

### `-hideChallenges`

Hide challenge requests and hide the challenge / nonce inside the write requests

### `-showOnlyFirstPartOfUuid`

Only shows the first part of UUIDs as the remainder of the uuid always seems to stays the same.

### Obtain bikeId and encryptionKey

1. Login to [mooovy.app](https://mooovy.app/) using chrome
2. Open the developer tools (F12)
3. Go to the Application tab
4. Go to the Local Storage tab and select Select the `https://mooovy.app` entry
5. Click on `vm-bike-credentials`
6. Copy the following values:
- `encryptionKey` = `encryptionKey`
- `mac` = `bikeId`

![HowTo](/howto.png?raw=true "Chrome browser how to What to look for in chrome")

### How to sniff bluetooth?

#### Host: Macos, Client: Macos & IOS

1. Download [XCode Additional Tools](https://developer.apple.com/xcode/resources/)
2. Open `Hardware > PacketLogger`
3. Start logging (Make sure your bike was not connected to your **device** at the moment you started logging!)
4. In the menu bar select `File > Export > BTSnoop..` or ⇧ Shift + ⌘ Command + E