Hurry up! Wait!
Last updated
Was this helpful?
Last updated
Was this helpful?
svchost.exe
First, I decompiled the binary using Ghidra. I then clicked though all of the functions until I came across this:
The first function that FUN_0010298a
calls is ada__calendar__delays__delay_for
, which seems to create a long delay that prevents us from being able to simply run the program. However, the next functions that are called all look basically the same:
Each function calls ada__text_io__put__4
, but with different arguments. The first and last arguments differ each time ada__text_io__put__4
is invoked, but they are equal within each call.
Double click on DAT_00102cd8
in FUN_00102616
to see that it is p
. The next global value, DAT_00102cd1
, in FUN_001024aa
is i
. DAT_00102ccb
(from FUN_00102372
) is c
and DAT_00102cd7
(from FUN_001025e2
) is o
. So, it seems that each function prints a character of the flag where each character is stored as a global variable.
We can double-click through each function (and go back to the calling function using the back button in Ghidra) to get the flag or a Ghidra script could be written to extract the flag, but it is faster to manually extract it.
picoCTF{d15a5m_ftw_eab78e4}