1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
0x0804885c <phase_2+0>: push %ebp
0x0804885d <phase_2+1>: mov %esp,%ebp
0x0804885f <phase_2+3>: sub $0x28,%esp
0x08048862 <phase_2+6>: lea 0xffffffe4(%ebp),%eax
0x08048865 <phase_2+9>: mov %eax,0x4(%esp)
0x08048869 <phase_2+13>: mov 0x8(%ebp),%eax
0x0804886c <phase_2+16>: mov %eax,(%esp)
0x0804886f <phase_2+19>: call 0x8048dac <read_six_numbers>
0x08048874 <phase_2+24>: movl $0x1,0xfffffffc(%ebp)
0x0804887b <phase_2+31>: jmp 0x804889e <phase_2+66>
0x0804887d <phase_2+33>: mov 0xfffffffc(%ebp),%eax
0x08048880 <phase_2+36>: mov 0xffffffe4(%ebp,%eax,4),%edx
0x08048884 <phase_2+40>: mov 0xfffffffc(%ebp),%eax
0x08048887 <phase_2+43>: sub $0x1,%eax
0x0804888a <phase_2+46>: mov 0xffffffe4(%ebp,%eax,4),%eax
0x0804888e <phase_2+50>: add $0x5,%eax
0x08048891 <phase_2+53>: cmp %eax,%edx
0x08048893 <phase_2+55>: je 0x804889a <phase_2+62>
0x08048895 <phase_2+57>: call 0x804906c <explode_bomb>
0x0804889a <phase_2+62>: addl $0x1,0xfffffffc(%ebp)
0x0804889e <phase_2+66>: cmpl $0x5,0xfffffffc(%ebp)
0x080488a2 <phase_2+70>: jle 0x804887d <phase_2+33>
0x080488a4 <phase_2+72>: leave
0x080488a5 <phase_2+73>: ret
End of assembler dump.
(gdb)
(gdb) break *0x08048891
Breakpoint 1 at 0x8048891
(gdb) print $eax
No registers.
(gdb) run
Starting program: /home//hw4bomb/bomb/bomb
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
Welcome to my fiendish little bomb. You have 6 phases with
which to blow yourself up. Have a nice day!
This bomb is easy to solve.
Phase 1 defused. How about the next one?
1 2 3 4 5 6
Breakpoint 1, 0x08048891 in phase_2 ()
(gdb)
|