Introducing Progator

We've launched a tool that we use for a very specific problem we encountered while developing our Android app. Tracking down crashes has always been a challenge, particularly when security both for the user and developer mandates that only limited debugging information comes from the user, and that info is carefully obfuscated to protect the developer's code as well. These requirements together require a number of different tools that don't always talk nicely to one another.

Our solution was to develop a small web-based tool to allow Google Analytics, Proguard, and Android apps to talk to one another. We've dubbed the tool, "Progator," as a Proguard-deobfuscator. Many Android apps use Proguard for obfuscation as an open-source tool that's built into the Android SDK. The Google Analytics SDK is one of many available options for gathering crash reports from Android apps.

A typical workflow to debug a crash is for the app to send a crash report via the Google Analytics SDK. This report contains a single line from an obfuscated stacktrace. The obfuscated line needs to be run through the Proguard retracer, coupled with a deobfuscation mapping file, to get a readable crash report.

Progator links these steps together by first gathering these crash reports into an online Google Sheets spreadsheet. The obfuscated stacktraces can then be manually run through Proguard, or our server-based tool can be used. We've developed this separate tool to take obfuscated traces from the online spreadsheet and automatically run it through a hosted Proguard before returning it directly to the spreadsheet. We decided to make the tool separate so that you can host it on your own server and keep your mapping files in the security of your own environment.

Progator is available for installation from the Chrome Web Store so that it can run directly from your browser. The server deobfuscator tool is available as an optional installation on your own server.


Popular Posts