Reverse Engineering Android apk

Reverse Engineering Android apk


Table of Contents

  • Background
  • Apktool
  • dex2jar + JD-GUI

1 Background

Here is my puzzle at this moment, my superior gave me a task to make Bluetooth Low Energy product which includes Android APP part, but there are no virtual designer and product manager, just myself as a software engineer.

So, my first step is to found out a similar product and refer its design. Then, I need to decompile that app, some reverse engineering skills of Android app and java are necessary.
I guess following two methods are enough to decompile an Android app.

2 Apktool

ApkTool is a tool for reverse engineering Android apps, what it is pretty good at is to decode resources to nearly original form and rebuild them after some modification. But the java code part is decompiled into the smali format, which is not a good format to read and understand.

3 dex2jar + JD-GUI

Apktool can not generate readable java source code, actually, there are no reverse engineer ways to generate the original source code. The combination of dex2jar and JD-GUI can be a good choice to get a pretty good readable source code from apk file.

dex2jar is a tool to read the dex(Dalvik Executable format) and generate the standard java .class format. The jar file can transport to next pipeline.

JD-GUI can be used to decompile the standard java .class files, which usually be packaged in a jar file, into the readable source code.

Comments

Popular posts from this blog

Bluedroid stack in android

How to setup a NAT server?

Network programming in elisp