How to Deobfuscate Crash Stack Traces for Debugging Android Apps when using Obfuscate App Logic

Last updated November 29, 2023 by Appdome

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.
Initial Crashstack
After running Appdome’s deobfuscation tool, the stack trace displays the correct classes of the application:

Updated Crashstack

How to get Appdome’s Deobfuscation Tool for Deobfuscating Android Crash Reports

To get the deobfuscation tool for your fused app:

  1. Build an Appdome app with Obfuscate App Logic feature turned on.
    Obfuscate App logic turned on
  2. After completing the entire build, click Workflow Summary.
    Workflow summary
  3. Click Download Obfuscation Mapping Files to download the Deobfuscation tool.Screen Shot 2023 11 29 At 13.02

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:

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.

NEED HELP?

let's solve it together

ScottMaking your security project a success!
By filling out this form, you opt-in to recieve emails from us.