How I hacked an Android app in a couple of hours and got a free haircut

Pedro Costa
9 min readMay 11, 2020

Android apps are mainly composed of a bunch of binaries bundled together, built from compiled Kotlin or Java code. The original source code can be easily reconstructed by several light-weight tools, found on the top of a google search page. If you’re a happy Android developer and you’re not careful enough to apply the best security practices on your projects, you won’t stay happy for long. All the precious secrets you think are safely hidden in your code, can and will be used against you in the wild by someone with the right motivations. That’s precisely what happened to the Android app of this chain of barber shops. The developers’ disregard of every kind of security best practices resulted in something that, in just a matter of a couple of hours, I was able to decompile, reverse-engineer and identify several vulnerabilities that anyone can exploit to achieve what would be every hacker’s life-pursuit dream: free haircuts for life! Here, I’ll walk you through the whole hacking process, show you how important it is to follow the security best practices and how simple decisions can greatly increase the difficulty for reverse-engineering and exploitation of your Android app.

The app of this chain of barber shops has a very simple purpose: Users can book haircuts on the available shops and per each 10 haircuts, the user gets…

--

--

Pedro Costa

Software Engineer, building microservices and large web distributed apps, clean code enthusiast :)