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)
a85cc1225413cd96bcbabd0832f9c8952aa59419 ./challenge01.5/challenge01.aarch64.bin
7805a26f0c870d51f7113dcee9f5d965bed4a02c ./challenge01.5/challenge01.aarch64.bin.strip
- ARM (32 bits)
c4b00b78ed78ee8e2930b026c394d4449e75c63a ./challenge01.5/challenge01.arm.bin
dd2e33530e0f045d919a96d1c4eac298f8774fd7 ./challenge01.5/challenge01.arm.bin.strip
- MIPS (64 bits)
eef5d40c2f992a9dd8edf34fb3ea49b44f7f7809 ./challenge01.5/challenge01.mips64.bin
b80763133d0e250437baaadea344b7c7b9d3219e ./challenge01.5/challenge01.mips64.bin.strip
- MIPS (32 bits)
6ab6abe83b15c2d214df070fcb72c7333fde6b0b ./challenge01.5/challenge01.mips.bin
59b004bb359c1a0c6cea921d9b78b611ab0cb091 ./challenge01.5/challenge01.mips.bin.strip
- RISC-V (64 bits)
9fe204884699d022b415ec8583df4731ebe11a97 ./challenge01.5/hallenge01.riscv64.bin
763720baecfa4d76e488a6afe6bfb996d7c44acf ./challenge01.5/challenge01.riscv64.bin.strip
- x86 (64 bits)
96b5ecbdf79d8302498bc93fb31d040d136e7759 ./challenge01.5/challenge01.x86_64.bin
711be720b0bb1a4c6eb4896352067e32d3f0fd60 ./challenge01.5/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