Post

Freeda Not Root - HeroCTF Writeup

Walkthrough for the Freeda Not Root Android reverse engineering challenge from HeroCTF.

Freeda Not Root - HeroCTF Writeup

Challenge Info

FieldDetails
CTFHeroCTF
ChallengeFreeda Not Root
CategoryAndroid / Reverse Engineering

Description

1
2
3
4
5
Try to find the password to open this vault!

I was told that it was dangerous to let my application install on a rooted machine. I fixed the problem!

Don't waste too much time statically analyzing the application; there are much faster ways.

Solution

We can install and open the app in our emulator

alt text

We are instantly thrown out with a pop-up saying Rooted Devices Detected Now, we can inspect the APK in Jadx,

alt text

We see that the APK has native library libtoolChecker.so which is probably a libary used for detecting rooted devices, We can open the native lib in Ghidra to understand more about it

alt text

As suspected, it is a standard libary rootbeer which is used for detection of root devices, This libary particularly checks for root binaries for that We can use an anti-root bypass script to bypass this check, I used antiroot from Frida CodeShare
Source: https://codeshare.Frida.re/@dzonerzy/Fridantiroot/ We can load this script, to bypass the check -

alt text

Here on now, the logic is same as the level before
logic is somewhere else –> it calls Checkflag() –> get_flag() is to be called –> log the return value

1
2
3
4
5
6
// after the bypass script
Java.perform(() => {
    var Interceptor = Java.use("com.heroctf.freeda2.utils.Vault");
    console.log(Interceptor.get_flag())

})

Now, we can load both the scripts

alt text

Flag

1
FLAG:HERO{D1D_Y0U_U53_0BJ3C71ON?}
This post is licensed under CC BY 4.0 by the author.