Tags: mobile_reverse aes crypto
Rating: 5.0
### NOTE
This task can be solved differently, via the Frida plugin for IdaPro. But we solved this task by another way.
### Step 1
Read description and download apk file from site.
### Step 2
We use the *d2j-dex2jar* utility to turn the apk into a jar.
![step2](https://raw.githubusercontent.com/delvinru/writeup/master/1.png)
Open this file in the *jd-gui* program and check the source code. You may notice that there is a tab with a similar task name. After a little study, you can see in the file *LoginDataSource.class* that a certain *dev.keekledev* file is being created. Remember this.
![step2_1](https://raw.githubusercontent.com/delvinru/writeup/master/2.png)
Next, we study the file *LoginDataController.class* and we understand that AES encryption is used with the key ***ponyponyponypony***.
![step_2_2](https://raw.githubusercontent.com/delvinru/writeup/master/3.png)
### Step 3
We use the *apktool* app to unpack our apk.
![step_3_1](https://raw.githubusercontent.com/delvinru/writeup/master/4.png)
Since it became clear from the previous step that a certain file is being created with a name that contains *dev*, we will find it using the *find* utility.
![step_3_2](https://raw.githubusercontent.com/delvinru/writeup/master/5.png)
We get **AES** ciphered message: ***441A65DEFFEFC5A3B3F4A83ED6A9EA463D7782E23D516226A5CFC8477757D46F023A8E39FF4BCE61C6F883B202728978***.
Use *cyberchef* or another tools for decrypt this message with key and get flag: **unictf{h0p370u-d1D'tu53-fR33d4}**
![step_3_3](https://raw.githubusercontent.com/delvinru/writeup/master/6.png)