我目前在炸弹实验室工作,不太确定我错过了什么。
8048db6: 8d 44 24 1c lea 0x1c(%esp),%eax
8048dba: 89 44 24 0c mov %eax,0xc(%esp)
8048dbe: 8d 44 24 18 lea 0x18(%esp),%eax
8048dc2: 89 44 24 08 mov %eax,0x8(%esp)
8048dc6: c7 44 24 04 29 a7 04 movl $0x804a729,0x4(%esp)
8048dce: 8b 44 24 30 mov 0x30(%esp),%eax
8048dd2: 89 04 24 mov %eax,(%esp)
8048dd5: e8 26 fb ff ff call 8048900 <__isoc99_sscanf@plt>
8048dda: 83 f8 01 cmp $0x1,%eax
8048ddd: 7f 05 jg 8048de4 <phase_6+0x31>
8048ddf: e8 d1 06 00 00 call 80494b5 <explode_bomb>
8048de4: 83 7c 24 18 07 cmpl $0x7,0x18(%esp)
8048de9: 77 3c ja 8048e27 <phase_6+0x74>
8048deb: 8b 44 24 18 mov 0x18(%esp),%eax
8048def: ff 24 85 18 a5 04 08 jmp *0x804a518(,%eax,4)
然后有一系列跳转,然后它们都将值移动到%eax中 跳到8048e38。
我很确定我需要它才能跳过
8048e2c: b8 00 00 00 00 mov $0x0,%eax
因为cmp和0x1c(%esp)的值为0且没有任何内容移动到该地址:
8048e38: 3b 44 24 1c cmp 0x1c(%esp),%eax
8048e3c: 74 05 je 8048e43 <phase_6+0x90>
8048e3e: e8 72 06 00 00 call 80494b5 <explode_bomb>
8048e43: 83 c4 2c add $0x2c,%esp
8048e46: c3 ret
但是我不确定如何达到这个目标,因为我的输入数字不能超过7?