I've recently had another need to fix an issue in frida and I had to re-discover some things about how to develop for this tool. With that in mind, this blog post is meant to cover some quick tips for how to go about developing or fixing frida's code base. Mostly so I can reference it later once I forget how it works again...

Many users of Android devices will eventually root their device for one reason or another. The term root in this case means to gain root privileges on your device. Android, like most other phone operating systems, prefers you to not have root control over your device. Presumably this is for your own protection, but the question of why they don't want you having root is for a different discussion. I had the opportunity to study an application that was refusing to run on my device and only displaying a vague error message informing me that my device was not supported. What follows is a brief summary of what I discovered about root checks, and how I bypassed them for the purposes of interoperability.

Quick tip of the hat to the Lets Encrypt folks. I just finished installing their SSL certificate! There were some unfortunate technical problems along the way that they will hopefully deal with. Once I get some time I'll walk you through how to set up your own Let's Encrypt certificate.

This challenge was actually a re-release of the original challenge "Patch Tuesday", which the author accidentally left the flag in the original binary. This version is more interesting and is an example of using revenge to apply a Windows patch.