-1

First, this isn't about "how to avoid reverse engineering" nor it's about "how to use proguard", so kindly don't mark this as 'duplicate' thread, as I'm an expert in both of them...

Recently I tried decompiling Apple's music apk but it didn't decompiled. I tried all available tool, Apktool, online decompilers, mobile decompiler, all failed to decompile Apple Music. So rather than using proguard, is there a way to "trick decompilers" so as it gives error or fails(just a thought) by having a file inside our android package or so...

Using proguard, it does deobfuscates code but won't stop decompilers from decompiling. Attached file is of Apple's music apk upon decompiling. Same thing happens with apktool and online decompilers too.

enter image description here

apktool, online decompilers, all mode of decompilers

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Mukesh
  • 154
  • 1
  • 11
  • 2
    The title: "Preventing reverse engineering". First line: "This isn't about how to avoid reverse engineering". So, what exactly is your question? – Eugen Pechanec Feb 08 '19 at 09:32
  • Try JADX, worked fine for me: https://github.com/skylot/jadx – Eugen Pechanec Feb 08 '19 at 09:33
  • Well, read my question again.. My moto is well explained and it has already been answered below by @Jackey. Read before your comment – Mukesh Feb 08 '19 at 10:46
  • 2
    When somebody asks you to better explain yourself it will not help to repeat the same thing. We're not your personal help desk. Your question should be reproducible, understandable by wide audience and helpful to them, not only to you. So, I ask again, (re)phrase your question, and be blunt. Example: "I tried to decompile () using . It didn't work. However, the same tool was able to decompile my proguarded app. How to prevent an app from decompiling in ?" Are you off to a rant? Go on reddit. Do you have a question? With an actual question mark? Welcome to SO. – Eugen Pechanec Feb 08 '19 at 11:41
  • I used normal "dex2jar" and I was able to decompile those two "classes.dex" and "classes2.dex" files retrivied from Apple Music APK..... – emandt Feb 08 '19 at 14:28

1 Answers1

3

I read this article a while back that spoke about how Java code is easily decompiled, but C++ code can't be decompiled in the same way.

So my best assumption is that Apple Music, and other similar unable to be decompiled apps, all have some C++ code written with the NDK.

Jackey
  • 3,184
  • 1
  • 11
  • 12
  • 1
    That's a great find! But this can be "still decompiled"..we should find out a way so that decompilers totally 'fails' to decompile/returns error. – Mukesh Feb 08 '19 at 08:17
  • 1
    Actually, when I said it can't be decompiled in the same way, I meant that as Show Java, ApkTool, and possibly the other commonly found decompilers are only attempting to decompile Java code. So they'll fail if they touch C++ code. I honestly don't think it's possible to be completely decompile-proof, so I'll take it as a win if it can prevent the most commonly found decompile tools. – Jackey Feb 08 '19 at 08:24
  • Why should an apk decompiler touch any C code? They just preserve the original so libraries and move on to more Java, I imagine. – Eugen Pechanec Feb 08 '19 at 09:15