How to Automatically De-obfuscate Crashlytics Stack Traces
What is Firebase Crashlytics?
Firebase Crashlytics is a lightweight, real-time crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality. Crashlytics saves you troubleshooting time by intelligently grouping crashes and highlighting the circumstances that lead up to them.
Understanding Stack Trace Obfuscation with Appdome’s Obfuscate App Logic
Before diving into the de-obfuscation process, it’s important to understand the impact of integrating Appdome’s Obfuscate App Logic with Android Crashlytics. This integration results in obfuscated stack traces that are difficult to interpret without the appropriate de-obfuscation keys, thus safeguarding your app’s internal logic by making the stack traces difficult to read without proper de-obfuscation keys. The following sections of this article will guide you through the steps to automatically de-obfuscate these stack traces, starting with a glimpse at how an obfuscated stack trace looks prior to de-obfuscation.
How to automatically Deobfuscate Android Crashlytics stack traces
Step 1: Build the feature: Obfuscate App Logic.
Figure 1: Fusion Set that will contain the Obfuscate App Logic feature
Note: Naming the Fusion Set to correspond to the protection(s) selected is for illustration purposes only (not required).
Note: Annotating the Fusion Set to identify the protection(s) selected is optional only (not mandatory).
Figure 3: Obfuscate App Logic option
Figure 4: Fusion Set that displays the newly added Obfuscate App Logic protection
Step 2: Click on Workflow Summary:
Step 3: Click Download Obfuscation Mapping Files
Step 4: Locate the required files
a. com_google_firebase_crashlytics_mappingfileid.xml
b. mapping.txt
Step 5: Install Firebase CLI
Follow the instructions in this Installation Guide
Step 6: Log in to your Firebase account
Follow the instructions in the Firebase Login Guide.
Step 7: Save your app-id from Firebase Console
Learn more about: Where can I find the App ID for my Firebase app?
Step 8: Run the following CLI command
firebase crashlytics:mappingfile:upload --app=<app-id from step 7> --resource-file=<"com_google_firebase_crashlytics_mappingfileid.xml" file location from step 4a> <"mapping.txt" file location from step 4b>
Step 9: Install the protected App
Use this command to install the APK app file to your device:
adb install <full path to APK>
Step 10: Produce a new crash to verify that the de-obfuscation is working.
From this point forward, every stack trace in Crashlytics related to this Appdome build will be automatically deobfuscated.
Related Articles:
- How to Obfuscate Java Code in Android Apps
- How to Remove Debug Information, Anti-Reversing Android & iOS Apps
- How to Optimize File Size, Code Obfuscation Best Practices in Android & iOS Apps
Thank you!
Thanks for visiting Appdome! Our mission is to secure every app on the planet by making mobile app security easy. We hope we’re living up to the mission with your project.
If you have any questions, please send them our way at support.appdome.com or via the chat window on the Appdome platform.