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
8a3775f9a3f20405e52eeba6baf6d45bb296adf8 ./challenge02.aarch64.bin6ab38899c43d25c1fae2f65ec3456d06d2913f88 ./challenge02.aarch64.bin.strip - ARM 32 bits
7e7b9e672d500aaa29555545cb7353c6bf7ac3d2 ./challenge02.arm.bin
c3d71162e7f7daaadf69a21e5b52ee21389a8565 ./challenge02.arm.bin.strip - MIPS 64 bits
49520bcd7d9c0375b042dccbd56a3d8d6746bf32 ./challenge02.mips64.bin
6ee289cc26cdcb4a8e10c55f0434e7b82b7ac557 ./challenge02.mips64.bin.strip - MIPS 32bits
baed957c3d81eb036248ddcb358405393e2f3e38 ./challenge02.mips.bin
08e8447e50ae717ef4bb8657884af8bac1af0862 ./challenge02.mips.bin.strip - RISC-V 64 bits
7277d37a25fdb883bcc2d22183de006a19504a74 ./challenge02.riscv64.bin
285cc1c694938041651747df8def556fafe9d63c ./challenge02.riscv64.bin.strip - X86 64 bits
5688139eb68c91fe6e4dc7f3e6babfca04328a16 ./challenge02.x86_64.bin
c9c2803b3dd0d024a163e702952af4fb7a420093 ./challenge02.x86_64.bin.strip
The recommended learning path for a beginner is:
- 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