I mean, with 3 tools
Disclaimer
This post is for informational and educational purposes only
Requirements
Terminal Time
# extract classes.dex unzip -j <apkfile.apk> classes.dex # transform dex file to jar file d2j-dex2jar.sh classes.dex # read the sources jd-gui classes-dex2jar.jar
Bonus
Do you use NativeScript/Ionic/Cordova/Phonegap/"insert some webview based mobile framework"?
This is how easy someone can read your javascript code
# find the bundled JS unzip -l <apK file> | grep '.js' # extract the bundle unzip -j <apk file> assets/app.js # find endpoint, or api keys cat app.js | grep 'api*\|http*' # DoS the endpoints echo "just kidding"
Edit
If you want to avoid commands an just use an app with UI you have
Hope you find it useful and educational.
Cover Image from https://www.eff.org/issues/coders/reverse-engineering-faq
Top comments (2)
you don't have to unzip it.
Unzip only need when there is more than 1 dex file
You are right. I wanted to mention unzip for the bonus part.
And, as a matter of fact, you can use jadx and open directly the apk. Also you have a binary analysis tool from google