Description
Reverse this linux executable?
Setup
Local reversing
Download the out binary from the challenge artifacts.
Have upx, strings, and optionally strip/Ghidra handy.
wget https://artifacts.picoctf.net/c_titan/22/out && \
strings out | head && \
upx -d out && strip out
Solution
- Step 1Spot the packerstrings out reveals UPX markers. Run upx -d out to unpack, then strip out to remove excess symbols (as hinted).upx -d out && strip out
- Step 2Load into GhidraAnalyze the unpacked binary. In entry(), numerous prompts appear; one contains a long hex string. That value is the flag in hex form.
- Step 3Convert from hexPaste the hex below into CyberChef (From Hex) or run the echo command to decode it locally; the resulting ASCII string is the flag.7069636f4354467b5539585f556e5034636b314e365f42316e34526933535f35646565343434317decho 7069636f4354467b5539585f556e5034636b314e365f42316e34526933535f35646565343434317d | xxd -r -p
Flag
picoCTF{U9X_UnP4ck1N6_B1n4Ri3S_5de...}
Decoding the embedded hex string reveals the flag above.