3

We are using Crittercism to analyze our app-crashes, but since we also use DexGuard with default obfuscation-options, Crittercism is unable to de-obfuscate the stacktraces with the mappings.txt generated by DexGuard.

So, my question is simple:

How can I disable Non-ASCII characters for DexGuard-obfuscation?

We are using the Gradle-buildsystem btw.

arne.jans
  • 3,798
  • 2
  • 22
  • 27

1 Answers1

2

Curious what led you to think that disabling Non-ASCII characters would fix Crittercism's handling of DexGuard-obfuscated stacktraces? AFAIK they would need to use the ReTrace.jar that's part of DexGuard not ProGuard (sorry i don't know if it's possible to turn off Non-ASCII chars)

To me this seems like an issue with Crittercism, do they support DexGuard? I asked their support team (support@crittercism.com) ~1yr ago about DexGuard support and it wasn't even on their roadmap.

If you're not tied to Crittercism I know Crashlytics and Hockeyapp support DexGuard (it was one of the reasons I switched Crashlytics).

update

Randomly I came across this today. You can override DexGuard's default obfuscation dictionary and define ASCII only characters.

define in your dexguard-project.txt

-obfuscationdictionary dictionary.txt
-classobfuscationdictionary classdictionary.txt
scottyab
  • 23,621
  • 16
  • 94
  • 105
  • According to Crittercism, they don't support DexGuard at the moment. I tried to add the idea for suggestion but their community portal wasn't working as intended for me (I have contacted their support-team for this). Regarding the disabling of Non-ASCII characters fixing the de-obfuscation, that at least was my main assumption as that is the main difference between dexguard- and proguard-obfuscated stacktraces. I will contact their support about this again as we currently have several crash-stacktraces that I am not able to de-obfuscate through the Crittercism-servi ce. – arne.jans May 04 '15 at 09:14
  • BTW, thanks for the info about alternatives like Crashlytics, I will look into that. For now, a DexGuard-setting to disable NON-ASCII characters would suffice for app-updates. – arne.jans May 04 '15 at 09:14
  • AFAIK DexGuard does more than just use Non-ASCII characters even without additional DexGuard specific config so you (well Crittercism) would still need to use the DexGuard ReTrace tool. – scottyab May 05 '15 at 10:09
  • If you refer to string encryption and the like, I use these features only in select sensible classes, not as a general manner. If you refer to the basic process of the obfuscation and optimization, do you have any reference information you could refer me to? That would be some useful info to pass on to Crittercism. But IIRC, I had no problems retracing stacktraces that did not contain NON-ASCII chars with the Crittercism-provided functionality. – arne.jans May 05 '15 at 14:40
  • 1
    The way of overriding the dictionary files is the way to go. You simply override them with empty dictionary-files like so: -obfuscationdictionary emptydictionary.txt -classobfuscationdictionary emptyclassdictionary.txt which is the confirmed way to go by the maker Eric LaFortune. So you are perfectly right, this is the accepted answer. – arne.jans Dec 07 '15 at 09:59
  • Check this post of Eric where he mentioned it: https://stackoverflow.com/questions/39522351/flexjson-and-dexguard-proguard/45676498#45676498 – Ben Groot Aug 14 '17 at 14:15