E²VA: Android Basics (Part 2)
Android Binary Exploitation
In this post, we will examine security mechanisms that Android 12 employs in order to make binary exploitation a bit harder. Also, we will discuss how to get to certain information like shared - object files that are necessary for successful exploitation. The latter will be generalized to getting limited source code access to an app given a corresponding .apk
file.
Environment
Before diving into details, the technical setup has to be clarified. All of the following observations on security mechanisms were encountered on a x86_64 Pixel 3 emulator running Android 12 (build number is SE1A.220203.002.A1
). When referencing source code from Android Open Source Project (AOSP), it will be w.r.t. Android 12.0.0_r31
. The build variant for damnvulnerableapp is currently only debug
. Also there is no GooglePlay enabled as we require root on the device for debugging purposes only.