2
votes

I reverse engineered (With1, With2 and Manually) some of the Android APK files by downloading from Google Play Store but didn't get the exact hint for the proguard usage.

Is there any way to know that which Android APK file is having the proguard usage in reverse engineered code?

And

What is the difference between the proguard and without proguard usage reverse engineered code?

What I got in reverse engineered code is:

  1. In some of the APK file's code, the classes names are like a, b, c, d and their package names are also in the same way. The code was so much complex structured after decompiling and not able to understandable easily.
  2. Some of the APK files are having easily formatted code. Their decompiled code looks like same as of normal code structure. Class name and package names are readable but in the code, some of the functions are having inconsistence code.

If APK is signed with Android Studio then by default pro guard will be enabled as I know then why all the APK's are not having same decompiled code structure?

1
Did you read: developer.android.com/studio/build/shrink-code.html, specifically the section labelled Customize which code to keepMorrison Chang
Do you mean that using the minifyEnabled true will generate the code structure like a,b,c,d... formatted? Or this is due to Proguard usage?Ready Android
First of all, Proguard will not be enabled by default for signed apk, you have to manually enable it. Now create two Projects, of same Code. In first Code enable the Proguard, and in other disable it. Generally, the apk which is Proguard enabled, it will be hard to find out the correct name of the classes. Suppose, your class name is MyFirstAndroidClass, then after enabling the Proguard you will see that the name of the Class is changed after decompiling. After enabling Proguard you can find all the references in this file. app/build/outputs/mapping/debug/mapping.txtAman Shekhar

1 Answers

1
votes

You've to decompile the code and see if classes are having names A, B, C in chronological order. If classes are having names in A, B, C it means .apk is proguard enabled.