Binary Bomb是一个由CMU设计的用于计算机安全课程的挑战性项目,其中Phase 5是其中一部分。该问题需要破译一个嵌入式汇编程序,以使其正常运行。
汇编代码如下:
08048e50 :
8048e50: 53 push %ebx
8048e51: 83 ec 20 sub $0x20, %esp
8048e54: 8b 5c 24 2c mov 0x2c(%esp), %ebx
8048e58: 85 db test %ebx, %ebx
8048e5a: 75 13 jne 0x8048e6f
8048e5c: b8 94 91 04 08 mov $0x8049194, %eax
8048e61: 8b 00 mov (%eax), %eax
8048e63: a3 bc b4 04 08 mov %eax, 0x804b4bc
8048e68: e9 54 01 00 00 jmp 0x8048fc1
8048e6d: eb 0c jmp 0x8048e7b
8048e6f: 8b 03 mov (%ebx), %eax
8048e71: 85 c0 test %eax, %eax
8048e73: 74 3c je 0x8048eb1
8048e75: 83 c3 01 add $0x1, %ebx
8048e78: eb f5 jmp 0x8048e6f
8048e7a: 90 nop
8048e7b: b8 cc 91 04 08 mov $0x80491cc, %eax
8048e80: c6 00 54 movb $0x54, (%eax)
8048e83: c6 40 01 21 movb $0x21, 0x1(%eax)
8048e87: c6 40 02 63 movb $0x63, 0x2(%eax)
8048e8b: c6 40 03 68 movb $0x68, 0x3(%eax)
8048e8f: c6 40 04 72 movb $0x72, 0x4(%eax)
8048e93: c6 40 05