Adding a feature to a closed-source app
Summary
This post documents a self-directed experiment to add a feature to a closed-source Android app (SABP) by reverse engineering the APK, decompiling code, and hooking a syncing feature with Audiobookshelf. It covers toolchains (apktool, jadx, javac, d8), the role of large language models in guiding implementation, and the signing/workarounds needed to test the patched app. The piece also discusses broader themes about open source versus closed-source software and the value of source access for customization.