0

I have an APK file without its source code. I used a lot of tools to decompile it, like jadx and jd-gui, and they constantly throw decompilation errors. I know that the decompilation process is rather lossy, but I didn't know it would cause so many errors. Moreover, whenever I want to edit its decompiled Gradle project, there are lots of wrong variables, methods, and such things. I think the main reason for that is the APK size (it's more than 20 MB).

Could you suggest an approach how to decompile (or edit) such a heavy file properly?

6
  • "but I didn't know it would cause so many errors." ... that's basically the essence of it. And the point isn't "size" per se, but the actual content of those class files. Most likely they are too modern for those tools, or were explicitly hardened by other tools to PREVENT decompilation. Are you sure you aren't breaking some licence agreement in the first place?
    – GhostCat
    Mar 28 at 9:58
  • No, I don't break any licence agreement. If I can't edit it using these tools maybe it's a good idea to edit its bytecode directly? Mar 28 at 10:06
  • Doesn't sound like a good idea. If that bytecode overburdens mature tools; what exactly makes you think that you could do better? Beyond that ... in order for people to give you fact-based guidance ... we would need facts. You didn't tell us neither what APK you are working with; nor what you intend to achieve by your changes. You are like a person calling a garage on the phone going "I have got this huge truck here, now please tell me how to unscrew the engine". But note that all of this goes far beyond the scope of this community. The purpose of stackoverflow is to ...
    – GhostCat
    Mar 28 at 10:25
  • 1
    help with specific questions on programming. This isn't a discussion forum where people bring in vague project ideas and then other people develop a solution with/for you.
    – GhostCat
    Mar 28 at 10:26
  • 1
    If you want to modify an existing app use apktool. It has the highest success rate on decompiling and recompiling. Of course this means you have to learn Smali language which is a rather low-level language.
    – Robert
    Mar 29 at 8:20

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.