Phase 3 of Binary Bomb Lab
In this lab, we want to find the input that would bypass the explode line.
08048ce8 : 8048ce8: 83 ec 1c sub $0x1c,%esp 8048ceb: c7 04 24 18 a5 04 08 movl $0x804a518,(%esp) 8048cf2: e8 b4 04 00 00 call 80491ab 8048cf7: 83 c0 01 add $0x1,%eax 8048cfa: 89 04 24 mov %eax,(%esp) 8048cfd: e8 6e fb ff ff call 8048870 8048d02: c7 00 57 68 79 20 movl $0x20796857,(%eax) 8048d08: c7 40 04 6d 61 6b 65 movl $0x656b616d,0x4(%eax) 8048d0f: c7 40 08 20 74 72 69 movl $0x69727420,0x8(%eax) 8048d16: c7 40 0c 6c 6c 69 6f movl $0x6f696c6c,0xc(%eax) 8048d1d: c7 40 10 6e 73 20 77 movl $0x7720736e,0x10(%eax) 8048d24: c7 40 14 68 65 6e 20 movl $0x206e6568,0x14(%eax) 8048d2b: c7 40 18 77 65 20 63 movl $0x63206577,0x18(%eax) 8048d32: c7 40 1c 6f 75 6c 64 movl $0x646c756f,0x1c(%eax) 8048d39: c7 40 20 20 6d 61 6b movl $0x6b616d20,0x20(%eax) 8048d40: c7 40 24 65 2e 2e 2e movl $0x2e2e2e65,0x24(%eax) 8048d47: c7 40 28 20 62 69 6c movl $0x6c696220,0x28(%eax) 8048d4e: c7 40 2c 6c 69 6f 6e movl $0x6e6f696c,0x2c(%eax) 8048d55: 66 c7 40 30 73 3f movw $0x3f73,0x30(%eax) 8048d5b: c6 40 32 00 movb $0x0,0x32(%eax) 8048d5f: c6 40 12 61 movb $0x61,0x12(%eax) 8048d63: 89 44 24 04 mov %eax,0x4(%esp) 8048d67: 8b 44 24 20 mov 0x20(%esp),%eax 8048d6b: 89 04 24 mov %eax,(%esp) 8048d6e: e8 57 04 00 00 call 80491ca 8048d73: 85 c0 test %eax,%eax 8048d75: 74 05 je 8048d7c 8048d77: e8 49 07 00 00 call 80494c5 8048d7c: 83 c4 1c add $0x1c,%esp 8048d7f: 90 nop 8048d80: c3 ret
08048870 : 8048870: ff 25 34 d0 04 08 jmp *0x804d034 8048876: 68 50 00 00 00 push $0x50 804887b: e9 40 ff ff ff jmp 80487c0 <_init+0x30>
080491ab : 80491ab: 8b 54 24 04 mov 0x4(%esp),%edx 80491af: 80 3a 00 cmpb $0x0,(%edx) 80491b2: 74 10 je 80491c4 80491b4: b8 00 00 00 00 mov $0x0,%eax 80491b9: 83 c0 01 add $0x1,%eax 80491bc: 80 3c 02 00 cmpb $0x0,(%edx,%eax,1) 80491c0: 75 f7 jne 80491b9 80491c2: f3 c3 repz ret 80491c4: b8 00 00 00 00 mov $0x0,%eax 80491c9: c3 ret
080491ca : 80491ca: 57 push %edi 80491cb: 56 push %esi 80491cc: 53 push %ebx 80491cd: 83 ec 04 sub $0x4,%esp 80491d0: 8b 5c 24 14 mov 0x14(%esp),%ebx 80491d4: 8b 74 24 18 mov 0x18(%esp),%esi 80491d8: 89 1c 24 mov %ebx,(%esp) 80491db: e8 cb ff ff ff call 80491ab 80491e0: 89 c7 mov %eax,%edi 80491e2: 89 34 24 mov %esi,(%esp) 80491e5: e8 c1 ff ff ff call 80491ab 80491ea: ba 01 00 00 00 mov $0x1,%edx 80491ef: 39 c7 cmp %eax,%edi 80491f1: 75 3a jne 804922d 80491f3: 0f b6 03 movzbl (%ebx),%eax 80491f6: 84 c0 test %al,%al 80491f8: 74 20 je 804921a 80491fa: 3a 06 cmp (%esi),%al 80491fc: 74 08 je 8049206 80491fe: 66 90 xchg %ax,%ax 8049200: eb 1f jmp 8049221 8049202: 3a 06 cmp (%esi),%al 8049204: 75 22 jne 8049228 8049206: 83 c3 01 add $0x1,%ebx 8049209: 83 c6 01 add $0x1,%esi 804920c: 0f b6 03 movzbl (%ebx),%eax 804920f: 84 c0 test %al,%al 8049211: 75 ef jne 8049202 8049213: ba 00 00 00 00 mov $0x0,%edx 8049218: eb 13 jmp 804922d 804921a: ba 00 00 00 00 mov $0x0,%edx 804921f: eb 0c jmp 804922d 8049221: ba 01 00 00 00 mov $0x1,%edx 8049226: eb 05 jmp 804922d 8049228: ba 01 00 00 00 mov $0x1,%edx 804922d: 89 d0 mov %edx,%eax 804922f: 83 c4 04 add $0x4,%esp 8049232: 5b pop %ebx 8049233: 5e pop %esi 8049234: 5f pop %edi 8049235: c3 ret
The string being affected is:
Why make trillions when we could makee.. billions?
Can you please explain it too, I'm very stuck here. Thank you.