16

Currently, I only know about apktool.

But is there any tools that helps in checking the code, editing it and compiling it back to apk?

4

7 Answers 7

29

There are many tools, some are more low-level and some build on top of the low-level tools to make nicer and more complete tools.

Here are my favorites:

Also look promising:

Edit November 2019:

7

If you want to modify code, then the only real option I know of is bak/smali, which apktool provides a helpful wrapper for.

If you merely want to understand the code, there's lots of options. For example, you could use Enjarify or dex2jar to translate it to a jar file and then use any Java bytecode tools or decompilers. There's also a few decompilers with native Android support.

1
  • Colud you mention the decompilers that support ndk? May 7, 2018 at 22:23
4

On desktop

You can try Antimony's answer.

Also check this comment(which states using dex2jar on .dex file and JD-GUI on jar file):

If you want to decompile an apk directly on your phone, show java can be a good option. You can just select an apk file and wait. Then you can get rhe java source code of the app. Though it has much rooms for improvement, its handy.

WHEN YOU ENCOUNTER JNI/NDK

You have to decompile the .so files inside the lib folder. So you may have to decompile them, which are usually arm linux shared libraries.

I am currently developing a helper app that helps you decompile native library targeted ARM and x86, and other CPU instructions.

Releases

Android-Disassembler release.

Or you can visit the git repository (Android-Disassembler).

However In general, Unfortunately, some developers prevent or make it hard to decompile the apk file, by changing class, methods and variables' names. So you may have some hard time as many reversing routines do.

Hope my answer helped anyway.

2

GDA: supports APK, DEX, ODEX and OAT files. A Dalvik bytecode decompiler was written entirely in c++. So, unlike most app analysis tools, GDA does not need to rely on the Java platform, And as the use of the Bytecode directly translated into Java code without Smali code translation. So it is more succinct, more portable and faster.

https://github.com/charles2gan/GDA-android-reversing-Tool

1
0

any tools that helps in checking the code, editing it and compiling it back to apk?

See https://buildapks.github.io/buildAPKs/ for information regarding the tools you are seeking.

2
  • please elaborate a bit more about those tools Jul 19, 2019 at 6:44
  • Compiling it back to APK can be accomplished with build scripts such as build.one.bash and build.in.dir.bash. Tools that help in checking code and editing are available at github.com/BuildAPKs/buildAPKs.developers.tools and to build these tools on device you can use ~/buildAPKs/build.developers.tools.bash once BuildAPKs is installed.
    – S D Rausty
    Dec 19, 2019 at 8:38
0

APK Editor Pro It is really good an its in android:

https://dl2.androidtime.co/uploads/app/APK-Editor-Pro-1.9.10-Mod(www.Androidtime.co).apk

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.