Fitness wristbands and watches, so-called fitness trackers are constantly gaining in popularity. They can record a variety of private data (e.g. pulse, steps, calorie consumption, sports activity), which may also be of interest to other individuals. By now, the first insurance companies are already offering superior rates for providing them with the captured fitness data. Due to the great demand, it is not surprising that many well-known manufacturers offer fitness trackers. With the Huawei Band 3 Pro, the Huawei Watch GT and the Honor Band 4 (Honor is a sub-brand of Huawei), Huawei also sells a wide range of varying trackers. All these trackers are controlled with the Huawei Health App, which is available for both Android and iOS.
Huawei is using Bluetooth Low Energy (BLE) for the communication between smart phones and the addressed fitness devices. Built upon BLE, the proprietary protocol Huawei Link Protocol v2 is used. Since the protocol is not documented and partially encrypted, breaking out of the Huawei ecosystem is not simple. Until now, users have been bound to the Huawei Health App and its corresponding cloud environment and had to accept that their data is uploaded to Chinese servers.
During this talk the following, generally applicable methods for reverse engineering of Android applications are discussed:
Different methods to extract the app from the smart phone
Static analysis and deobfuscation of complex multidex applications (the Huawei Health App comprises over 13.000 classes and far over 64K methods) with Jadx  and Android Studio 
Dynamic analysis and instrumentation with Frida  to intercept the Bluetooth communication and to circumvent the code signing protection
Furthermore, the subsequent results concerning the Huawei Health App and the Huawei Link Protocol v2 will be presented:
The structure of the Huawei Link Protocol v2, including the handshake and cryptographic authentication between fitness tracker and smart phone
The readout of the fitness data stored (beside the cloud) on the smart phone in an encrypted local SQLite database (SQLite Encryption Extension), including the retrievement of the encryption key