Rating:

# Guardian of the Galaxy
Again, file requires a password and firstly we decompile it with Ghidra

After checking main function, we can see that the password is divided into 3 parts

```cpp
for (i = 0; i < 9; i = i + 1) {
first_part[local_c] = input_pass[i];
local_c = local_c + 1;
}
```

first_part encoded: `od_pbw1gu`

```cpp
for (i2 = 9; i2 < 18; i2 = i2 + 1) {
second_part[local_28] = input_pass[i2];
local_28 = local_28 + 1;
}
```

second_part encoded: `5F31735F6E30745F74`

```cpp
for (i3 = 18; i3 < 27; i3 = i3 + 1) {
uVar4 = (ulong)input_pass[i3];
third_part[local_30] = input_pass[i3];
local_30 = local_30 + 1;
}
```
third_part encoded: `d/[h-i-py`

Parts 1 and 3 are encoded using the Caesar cipher with shift 4. Part 2 is encoded in hexadecimal.

Decoding reveals the password, which is also the flag:
```
shctf{5ky
_1s_n0t_t
h3_l1m1t}
```

Flag: `shctf{5ky_1s_n0t_th3_l1m1t}`

Original writeup (https://github.com/annotshy04/MySuckWrite-ups/blob/main/2023/SpaceHeroesCTF/reverse-engineering.md#guardian-of-the-galaxy).