Case study
Mi Fitness Sync: reconstructing workout retrieval from the Android app
Mi Fitness Sync reconstructs workout retrieval from the Mi Fitness Android app and implements a Python CLI for activity export and Strava uploads. Its JADX-based notes map Xiaomi Passport authentication, activity API calls and FDS download handling. The client decrypts workout blobs and exports available data as GPX, TCX or FIT.
- Targets
- App
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 15
- Last commit
- 2026-11-10
- Language
- Python
- License (GitHub)
- MIT
GitHub data as of 2026-11-10
Evidence
- Observed
- Code and documentation observed; no download method or demo found.
- Checked
- 2026-11-09
Requirements & limits
- Prerequisites: Python 3.12 or newer and a Mi/Xiaomi account are required.
- Prerequisites: Strava upload commands require a Strava API application.
- Limits: GPX export requires GPS track points; FIT export includes only fields available in the source data.
- License: MIT license.
Cite
BibTeX
@misc{mi-fitness-sync-case,
title = {{Mi Fitness Sync: reconstructing workout retrieval from the Android app}},
howpublished = {\url{https://github.com/kevinkwee/Mi-Fitness-Sync}},
url = {https://github.com/kevinkwee/Mi-Fitness-Sync},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/mi-fitness-sync-case/}}
}Plain text
Mi Fitness Sync: reconstructing workout retrieval from the Android app. https://github.com/kevinkwee/Mi-Fitness-Sync (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/mi-fitness-sync-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/mi-fitness-activity-findings.md GitHub · kevinkwee/Mi-Fitness-Sync · Revision b51fd42
- docs/mi-fitness-auth-findings.md GitHub · kevinkwee/Mi-Fitness-Sync · Revision b51fd42
- docs/mi-fitness-fds-findings.md GitHub · kevinkwee/Mi-Fitness-Sync · Revision b51fd42
- README.md GitHub · kevinkwee/Mi-Fitness-Sync · Revision b51fd42
More in Apps
- SSL Console Control: reconstructing mixing-console UDP control · Case study
- logitech-ipc-protocol: reconstructing Logi Options+ agent messages · Case study
- samsung-notes-format: decoding Samsung Notes handwriting · Case study
- cam-server: reconstructing the Digicam Print Channel backend · Case study
- bline: decoding LINE voice-call traffic · Case study
- WazeTripper: reconstructing Tripper Pod navigation over BLE · Case study