fl3xbl0w project logo

Decompiling - fl3xbl0w

Released on May 28, 2022

Reverse engineering project. It started with the Bowflex Treadmill 22 but ended up being generalized for any Android machine sold by Nautilus Inc. (Nautilus, Bowflex, Schwinn).

This assumes that you already have your own APKs. Keep in mind that, although I am specifying this for Nautilus apps, this applies to virtually any Android app you want to “take a peek under the hood”.

Converting apps into Java code

The following instructions aim to obtain “readable code”, but it is unlikely that you will be able to compile them back into an APK. I am using this as a reference to understand Nautilus developers. If you want to modify the codebase and repackage it, go to Converting apps into Smali code.

Requirements

Let’s open some stuff!

After installing jadx, you should be able to open jadx-gui. Go to File -> Open files…

jadx-gui screen

Look for the APK you want and click on “Open file”:

jadx-gui selecting apk

And from there, you can start poking around:

jadx-gui decompiling NautilusLauncher

If you want to save the project as Java files, go to File -> Save as gradle project:

jadx-gui saving project

If useful, here are my jadx-gui preferences:

jadx-gui preferences

Converting apps into Smali code

The community has tested this to apply some patches to our APKs. It would only work for non-system apps, as without the proper signing key, the app will not have access to system resources (like the Serial port).

Content translated by gpt-4-1106-preview

©2022-2024 Sebastian Barrenechea. All rights reserved.

Built with Astro v4.16.13.