How to Deobfuscate Crash Stack Traces for Debugging Android Apps when using Obfuscate App Logic
Learn how to deobfuscate stack traces for debugging Android apps when using Obfuscate App Logic. Troubleshooting tips for mobile code obfuscation.
As part of Appdome’s protection for applications, Appdome offers Obfuscate App Logic to any Android mobile app. Appdome’s de-obfuscation tool allows the application owner to recover the correct stack trace from the crash report.
This Knowledge Base article provides step-by-step instructions for getting and using Appdome’s deobfuscation tool.
Deobfuscating Android Stack Trace (Crash Reports) with the Appdome Deobfuscation Tool
Appdome is a no-code mobile security platform that allows customers to add various features, SDKs, and APIs to Android and iOS applications. Using a simple ‘click to add’ user interface, anyone can easily add various code obfuscation methods to any mobile application – in seconds, no code or coding is required.
There are no development or coding prerequisites to use Appdome. For example, there is no SDK, libraries, or plug-ins to implement. Likewise, there is no requirement to mark, symbolicate, or manually obfuscate code inside Android or iOS apps. Appdome’s technology automatically obfuscates the mobile app binary as if multiple obfuscation methods were natively coded in the app.
In certain cases, when an app built with Obfuscate App Logic crashes, the crash stack trace does not provide the reason for the crash. This happens because the classes in the crash stack trace are obfuscated.
Here is an example of a crash stack trace generated because of a crash of a sample application called CrashTester. As shown below, it is impossible to understand the class the crash originates from.
After running Appdome’s deobfuscation tool, the stack trace displays the correct classes of the application:
How to get Appdome’s Deobfuscation Tool for Deobfuscating Android Crash Reports
To get the deobfuscation tool for your fused app:
- Build an Appdome app with Obfuscate App Logic feature turned on.
- After completing the entire build, click Workflow Summary.
- Click Download Obfuscation Mapping Files to download the Deobfuscation tool.
How to use Appdome’s Deobfuscation Tool on your App Reports to Deobfuscate Stack Traces in Android Apps
The deobfuscation files downloaded from the Workflow Summary contain the following files:
- deobfuscate_mapping_script_<task_id>.py
A python script that will automatically deobfuscate all obfuscated references in logcat logs from the specific Task ID of the app build.
Usage: python deobfuscate_mapping_script_<task_id>.py -f <path_to_obfuscated_log> -
mapping.txt
A file containing a dictionary of the obfuscation names translation.
A mapping file in the same format of ProGuard, and R8 format. Can be uploaded to GooglePlay, Crashlytics, Bugsnag, etc. -
unobfuscated_mapping.json
A JSON file that contains the reasons for the names that were not obfuscated.
Related Articles:
- How to Deobfuscate Crash Stack Traces for Debugging iOS 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.