Packer
https://play.picoctf.org/practice/challenge/421?category=3&difficulty=2&page=1

Static Analysis of the "out" Binary
After downloading the binary file named out
, I began with static analysis using the strings
utility:
strings out
Among the output, a few suspicious strings appeared:
...
p$mkqui#
-Kin
#sem
5mun
at8V<
ddr%
H1hP)
-1dl
vinit
ZH'BaPa
kfc5
n*qj)!
.b0.
Z4u.
Z/-id%ABI-
a8s,
n`I C
ot +da$
.bssh
?p! _
H_db
UPX!
UPX!
The presence of "UPX!"
indicates that the binary is packed using UPX (Ultimate Packer for eXecutables).
UPX is a popular open-source tool for compressing executables. It's often used in CTFs to obfuscate or shrink binaries, making reverse engineering a bit more challenging.
Usage:
upx myprogram #for packing a program
upx -d myprogram # for decompress the program that packed with upx
Reanalyzing the Unpacked Binary
upx -d out -o binaryOut
With the unpacked binary (binaryOut
), I ran the strings
command again:
This time, more readable and meaningful strings appeared a strong indication that deobfuscation succeeded.

The flag appeared to be encoded in hex .Simply use any online decoded to get the flag output. I copied it and used CyberChef to decode it.
Last updated