本文接 深入理解计算机系统(CSAPP)课程实验bomb程序炸弹实验日志(phase_2)继续往下写,意在记录本人在学习CSAPP的bomb程序炸弹实验中的探索过程和发现。
在Notepad++编辑器中找到函数phase_3,代码如下:
08048ea1 <phase_3>:
8048ea1: 55 push %ebp
8048ea2: 89 e5 mov %esp,%ebp
8048ea4: 83 ec 28 sub $0x28,%esp
8048ea7: 8d 45 f0 lea -0x10(%ebp),%eax
8048eaa: 89 44 24 0c mov %eax,0xc(%esp)
8048eae: 8d 45 f4 lea -0xc(%ebp),%eax
8048eb1: 89 44 24 08 mov %eax,0x8(%esp)
8048eb5: c7 44 24 04 3e a2 04 movl $0x804a23e,0x4(%esp)
8048ebc: 08
8048ebd: 8b 45 08 mov 0x8(%ebp),%eax
8048ec0: 89 04 24 mov %eax,(%esp)
8048ec3: e8 78 f9 ff ff call 8048840 <__isoc99_sscanf@plt>
8048ec8: 83 f8 01 cmp $0x1,%eax
8048ecb: 7f 05 jg 8048ed2 <phase_3+0x31>
8048ecd: e8 ff 01 00 00 call 80490d1 <explode_bomb>
8048ed2: 83 7d f4 07 cmpl $0x7,-0xc(%ebp)
8048ed6: 77 6b ja 8048f43 <phase_3+0xa2>
8048ed8: 8b 45 f4 mov -0xc(%ebp),%eax
8048edb: ff 24 85 a0 a1 04 08 jmp *0x804a1a0(,%eax,4)
8048ee2: b8 00 00 00 00 mov $0x0,%eax
8048ee7: eb 5