1. I first `file` the file, since `.exe` is quite scary. We can see that it's an `ELF 64-bit`, so I then use Ghidra to examine it. ```shell= ┌──(kali㉿kali)-[~/code] └─$ file svchost.exe svchost.exe: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=c083b0f6ecaeb1517082fb6ed0cd9e3f295ec2cc, stripped ``` 2. Go through all the function, and there's a `FUN_0010298a` that contains lots of other functions![](https://hackmd.io/_uploads/H1UIMpYnn.png) 3. If going into the functions, we'll see that the function will lead us to the letters in flag![](https://hackmd.io/_uploads/BklM3zaKn3.png) 4. We have to assemble those letters. A faster(?) way of doing this is to create a snapshot (the camera icon on the top right corner)![](https://hackmd.io/_uploads/Hk3Smat23.png)So when we can explore another function without needing to go back to find the `FUN_0010298a` again, like this: ![](https://hackmd.io/_uploads/B19h7aY3n.png) ~~4. After finding one letter, when we want to jump to the next function, we can create a snapshot again (so that we won't lose the `FUN_0010298a` window)![](https://hackmd.io/_uploads/BJ_8ETFn3.png)(you can see at the bottom right, there are two snapshot windows)~~ ▲ This won't work, seems like the copied decomplier works different from the regular one... 4. Copy the function from the snapshot window(`FUN_0010298a`),`Ctrl+shift+E` to search it in the `listing` window![](https://hackmd.io/_uploads/HyfqITKhh.png)`Dismiss` search, double click the new function, then will able to see another element of the flag![](https://hackmd.io/_uploads/SkPrw6t33.png) 5. Repeat step 4 until finish finding `}` => flag: `picoCTF{d15a5m_ftw_eab78e4}` <hr> In [this tutorial](https://www.youtube.com/watch?v=IA2_9Pk9QTw), he mentioned that we need to `sudo apt-get install gnat` to run the file, but I guessed the current version of `gnat` is no longer the same? So I have no choice but to assemble the flag elements manually... ```shell= ┌──(kali㉿kali)-[~/code] └─$ ./svchost.exe ./svchost.exe: error while loading shared libraries: libgnat-7.so.1: cannot open shared object file: No such file or directory ```