This challenge is very easy to solve however, for a beginner it provides a lot of options to learn quickly several different concepts. To improve the learning options the challenge is available for 4 different architectures as stripped and non-stripped binary
Hashes calculated with sha1sum- ARM (64 bits)
398e99ed9664c173ab86d8c6efae0a722ddaac7d ./challenge01.aarch64.bin
65ea022966f4987c6647f7e7739ec186e06e0844 ./challenge01.aarch64.bin.strip
- ARM (32 bits)
78c8cdf985dd1d274688e83950a58f697942b370 ./challenge01.arm.bin
067174c10181257890315160e153964c426101bb ./challenge01.arm.bin.strip
MIPS (32 bits)
b30345d15b7f9be25fb1166084b3f02fdf62f26e ./challenge01.mips.bin
df1113bb9f171642ea5546ae6f74e058d0dd6d10 ./challenge01.mips.bin.strip
MIPS (64 bits)
426ce0b015bf6be8e5a5eb962f585242d6822214 ./challenge01.mips64.bin
71ae22858bd92b10a1b4a59c36d5e7ff472eaccf ./challenge01.mips64.bin.strip
RISCV (64 bits)
8786238950f6ad67655340d248f40533797ccb48 ./challenge01.riscv64.bin
2f2f91f4f645331a0364fb9e7be05dd0aee7f474 ./challenge01.riscv64.bin.strip
X86 (64 Bits)
5e96b74716a2fe5bbc07ea2b58e2e24e6347b6f0 ./challenge01.x86_64.bin
a1a97b9cb4beb614979b52f65a82e4ae28a7bfd2 ./challenge01.x86_64.bin.strip
The recommended learning path for a beginner is:
- Solve it using stand-alone tools
- Solve the non-stripped version using static analysis (objdump)
- Solve the stripped version using static analysis (objdump). Will be much easier after doing the non-stripped version
- Solve the stripped version using dynamic analysis (gdb)
- Repeat for a different platform