hey, I need to diffuse a "bomb", I was hoping I could get some advice, I have a vague idea of what I need to do.
080519c4 <phase_1>:
80519c4: 55 push %ebp
80519c5: 89 e5 mov %esp,%ebp
80519c7: 83 ec 10 sub $0x10,%esp
80519ca: 68 58 28 05 08 push $0x8052858
80519cf: ff 75 08 pushl 0x8(%ebp)
80519d2: e8 d0 03 00 00 call 8051da7 <strings_not_equal>
80519d7: 83 c4 10 add $0x10,%esp
80519da: 85 c0 test %eax,%eax
80519dc: 74 05 je 80519e3 <phase_1+0x1f>
80519de: e8 c9 07 00 00 call 80521ac <explode_bomb>
80519e3: c9 leave
80519e4: c3 ret
08051da7 <strings_not_equal>:
8051da7: 55 push %ebp
8051da8: 89 e5 mov %esp,%ebp
8051daa: 57 push %edi
8051dab: 56 push %esi
8051dac: 53 push %ebx
8051dad: 8b 75 08 mov 0x8(%ebp),%esi
8051db0: 8b 7d 0c mov 0xc(%ebp),%edi
8051db3: 56 push %esi
8051db4: e8 d8 ff ff ff call 8051d91 <string_length>
8051db9: 89 c3 mov %eax,%ebx
8051dbb: 57 push %edi
8051dbc: e8 d0 ff ff ff call 8051d91 <string_length>
8051dc1: 83 c4 08 add $0x8,%esp
8051dc4: ba 01 00 00 00 mov $0x1,%edx
8051dc9: 39 c3 cmp %eax,%ebx
8051dcb: 75 24 jne 8051df1 <strings_not_equal+0x4a>
8051dcd: eb 07 jmp 8051dd6 <strings_not_equal+0x2f>
8051dcf: ba 01 00 00 00 mov $0x1,%edx
8051dd4: eb 1b jmp 8051df1 <strings_not_equal+0x4a>
8051dd6: 89 f2 mov %esi,%edx
8051dd8: 89 f9 mov %edi,%ecx
8051dda: 80 3e 00 cmpb $0x0,(%esi)
8051ddd: 74 0d je 8051dec <strings_not_equal+0x45>
8051ddf: 8a 02 mov (%edx),%al
8051de1: 3a 01 cmp (%ecx),%al
8051de3: 75 ea jne 8051dcf <strings_not_equal+0x28>
8051de5: 42 inc %edx
8051de6: 41 inc %ecx
8051de7: 80 3a 00 cmpb $0x0,(%edx)
8051dea: 75 f3 jne 8051ddf <strings_not_equal+0x38>
8051dec: ba 00 00 00 00 mov $0x0,%edx
8051df1: 89 d0 mov %edx,%eax
8051df3: 8d 65 f4 lea 0xfffffff4(%ebp),%esp
8051df6: 5b pop %ebx
8051df7: 5e pop %esi
8051df8: 5f pop %edi
8051df9: c9 leave
8051dfa: c3 ret
080519e5 <phase_2>:
80519e5: 55 push %ebp
80519e6: 89 e5 mov %esp,%ebp
80519e8: 53 push %ebx
80519e9: 83 ec 2c sub $0x2c,%esp
80519ec: 8d 45 d8 lea 0xffffffd8(%ebp),%eax
80519ef: 50 push %eax
80519f0: ff 75 08 pushl 0x8(%ebp)
80519f3: e8 5f 03 00 00 call 8051d57 <read_six_numbers>
80519f8: bb 01 00 00 00 mov $0x1,%ebx
80519fd: 83 c4 10 add $0x10,%esp
8051a00: 8b 44 9d d4 mov 0xffffffd4(%ebp,%ebx,4),%e
ax
8051a04: 83 c0 05 add $0x5,%eax
8051a07: 39 44 9d d8 cmp %eax,0xffffffd8(%ebp,%ebx,
4)
8051a0b: 74 05 je 8051a12 <phase_2+0x2d>
8051a0d: e8 9a 07 00 00 call 80521ac <explode_bomb>
8051a12: 43 inc %ebx
8051a13: 83 fb 05 cmp $0x5,%ebx
8051a16: 7e e8 jle 8051a00 <phase_2+0x1b>
8051a18: 8b 5d fc mov 0xfffffffc(%ebp),%ebx
8051a1b: c9 leave
8051a1c: c3 ret
08051d57 <read_six_numbers>:
8051d57: 55 push %ebp
8051d58: 89 e5 mov %esp,%ebp
8051d5a: 83 ec 08 sub $0x8,%esp
8051d5d: 8b 55 0c mov 0xc(%ebp),%edx
8051d60: 8d 42 14 lea 0x14(%edx),%eax
8051d63: 50 push %eax
8051d64: 8d 42 10 lea 0x10(%edx),%eax
8051d67: 50 push %eax
8051d68: 8d 42 0c lea 0xc(%edx),%eax
8051d6b: 50 push %eax
8051d6c: 8d 42 08 lea 0x8(%edx),%eax
8051d6f: 50 push %eax
8051d70: 8d 42 04 lea 0x4(%edx),%eax
8051d73: 50 push %eax
8051d74: 52 push %edx
8051d75: 68 72 23 05 08 push $0x8052372
8051d7a: ff 75 08 pushl 0x8(%ebp)
8051d7d: e8 d6 f7 ff ff call 8051558 <_PROCEDURE_LINKAGE_TABLE_
+0xb0>
8051d82: 83 c4 20 add $0x20,%esp
8051d85: 83 f8 05 cmp $0x5,%eax
8051d88: 7f 05 jg 8051d8f <read_six_numbers+0x38>
8051d8a: e8 1d 04 00 00 call 80521ac <explode_bomb>
8051d8f: c9 leave
8051d90: c3 ret
For phase 1... is the answer in this line?
8051dc9: 39 c3 cmp %eax,%ebx
I'm kinda lost on how to handle phase 2 though...