Live data from Hacker News

APKTool: A tool for reverse engineering Android APK files

ibotpeaches.github.io

1–10 of 49 posts

Re: APKTool: A tool for reverse engineering Android APK files

#3
APKTool is so great. Earlier versions Android were way more loose with everything, there were tons of undocumented APIs, permissions weren't granular, didn't map to things that well, etc.

2012-2013 I wrote a parental control app for Android that "locked" down the device so you could give it to your kid and it would only run what you wanted it to run for however long you wanted, like "30 mins of games per day". To do this properly, you needed a task manager, ability to kill other apps, guard against being uninstalled, etc. This was not possible with the permissions that were available by being an app on Google Play, it was possible only if your APK was signed by Google or the carrier with system-level permissions.

Nevertheless, I cobbled together a collection of tricks that managed to do it well enough - my app was a home launcher and when it detected a game running past allowed time, it would "kill" the app by pressing the home button, thus brining itself to the front. It had to take over the status bar to prevent you from swiping down to access settings, etc.

Anyway, I relied on APKTool a lot to disassemble other apps which were doing things that I needed (like drawing over the status bar), because they had already figured out how to use these undocumented APIs. I could not have done it without APKTool.

Re: APKTool: A tool for reverse engineering Android APK files

#4
apktool is such a wonderful tool. As a side note, with newer versions of Android, it's no longer necessary to extract bytecode from odex/vdex files to disassemble systems apps or frameworks too. The apk/jar files all contain `classes.dex` now (this was changed when A/B partitioning was introduced, I believe).

Re: APKTool: A tool for reverse engineering Android APK files

#5
APKTool is amazing! I wrote an article on how to do end-to-end reverse engineering of Android apps using APKTool: https://yasoob.me/posts/reverse-engineering-android-apps-apk...

I love using Jadx (https://github.com/skylot/jadx) to get a better understanding of the code in Java and then use APKTool to reverse engineer, decompile and recompile the app

If you are interested, Frida is also an amazing tool that makes certain type of reverse engineerings a lot easier compared to using APKTool. I wrote an article on that as well: https://yasoob.me/posts/reverse-engineering-nike-run-club-us...

Reverse engineering is a very exciting field and the moment you learn and figure out one concept you realize there is a lot more out there for you to figure out.

Re: APKTool: A tool for reverse engineering Android APK files

#6

APKTool is so great. Earlier versions Android were way more loose with everything, there were tons of undocumented APIs, permissions weren't granular, didn't map to things that well, etc. 2012-2013 I wrote a parental control app for Android that "locked" down the device so you could give it to your kid and it would only run what you wanted it to run for however long you wanted, like "30 mins of games per day". To do…

Do you still have the code for this app? I was thinking of making something similar.

Re: APKTool: A tool for reverse engineering Android APK files

#9
APKTool is amazing. I used it to reverse engineer an old version of Netflix to allow it running on my Xiaomi projector. I no longer need it now as the projector is now Netflix-certified but it was incredibly useful to me in the earlier days.

If your devices support Widevine L1 but not certified to run Netflix, you could use this little patch.

https://github.com/longseespace/netflix_patch

Re: APKTool: A tool for reverse engineering Android APK files

#10
post #5

APKTool is amazing! I wrote an article on how to do end-to-end reverse engineering of Android apps using APKTool: https://yasoob.me/posts/reverse-engineering-android-apps-apk... I love using Jadx ( https://github.com/skylot/jadx ) to get a better understanding of the code in Java and then use APKTool to reverse engineer, decompile and recompile the app If you are interested, Frida is also an amazing tool that makes c…

This looks like a pretty decent write up at a quick glance, thanks!

I've been toying around in the space a little bit (primarily around patching stuff to get past https pinning) but I've been meaning to get a better understanding on how stuff works rather than just throwing darts at the wall.

Post reply on HN