https://github.com/xaionaro/reverse-engineering-dji
Some of the reverse-engineering artifacts I produced during implementation of `djictl`.
https://github.com/xaionaro/reverse-engineering-dji
1 2 3 4 5 action ble bluetooth bluetooth-low-energy dji mimo osmo pocket reverse-engineering
Last synced: about 2 months ago
JSON representation
Some of the reverse-engineering artifacts I produced during implementation of `djictl`.
- Host: GitHub
- URL: https://github.com/xaionaro/reverse-engineering-dji
- Owner: xaionaro
- License: cc0-1.0
- Created: 2025-06-08T00:45:06.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-08T22:21:02.000Z (about 1 year ago)
- Last Synced: 2026-02-08T04:41:09.967Z (4 months ago)
- Topics: 1, 2, 3, 4, 5, action, ble, bluetooth, bluetooth-low-energy, dji, mimo, osmo, pocket, reverse-engineering
- Language: C
- Homepage: https://github.com/xaionaro-go/djictl
- Size: 4.36 MB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Here we have some of the reverse-engineering artifacts I produced during implementation of [`djictl`](https://github.com/xaionaro-go/djictl). `djictl` is an opensource CLI tool that replaces proprietary DJI MIMO to unlock access to remote control of DJI Osmo devices.
To get BLE logs from an Android phone use:
```sh
adb bugreport bt-logs
```
and `adb pull` to get the resulting report. Inside the archive look for file `FS/data/misc/bluetooth/logs/btsnoop_hci.log`.
Then install the Wireshark plugin from [`./mimo/ble/wireshark-dissector/`](./mimo/ble/wireshark-dissector/), and use Wireshark to open the file. You'll get something like this:

I've managed to make livestreaming work on my DJI Osmo Pocket 3. And I guess for now I'm pausing any further reverse engineering, since that was the feature that I needed.
But I'm happy to answer any questions if you are having problems to continue the research.