我和我的伙伴一直致力于二元炸弹实验室的第四阶段并且已经陷入困境。我们已经提到过先前的帖子,但是他们都没有澄清我们的问题,这是关于第81行的。我们已经发现这个阶段需要两个双输入,并且函数4返回位置(数字,可能是第二个输入) ?)在Fibonnaci序列中。我们可以使用输入(2,4)到达第84行,但自然它会被引导到explode_bomb。我们很感激任何帮助/指导,因为我们超级卡住!谢谢!
Dump of assembler code for function phase_4:
0x08048dad <+0>: push %ebp
0x08048dae <+1>: mov %esp,%ebp
0x08048db0 <+3>: sub $0x28,%esp
=> 0x08048db3 <+6>: lea -0xc(%ebp),%eax
0x08048db6 <+9>: mov %eax,0xc(%esp)
0x08048dba <+13>: lea -0x10(%ebp),%eax
0x08048dbd <+16>: mov %eax,0x8(%esp)
0x08048dc1 <+20>: movl $0x804a1ca,0x4(%esp)
0x08048dc9 <+28>: mov 0x8(%ebp),%eax
0x08048dcc <+31>: mov %eax,(%esp)
0x08048dcf <+34>: call 0x8048758 <__isoc99_sscanf@plt>
0x08048dd4 <+39>: cmp $0x2,%eax
0x08048dd7 <+42>: jne 0x8048de6 <phase_4+57>
0x08048dd9 <+44>: mov -0xc(%ebp),%eax
0x08048ddc <+47>: cmp $0x1,%eax
0x08048ddf <+50>: jle 0x8048de6 <phase_4+57>
0x08048de1 <+52>: cmp $0x4,%eax
0x08048de4 <+55>: jle 0x8048deb <phase_4+62>
0x08048de6 <+57>: call 0x8049108 <explode_bomb>
0x08048deb <+62>: mov -0xc(%ebp),%eax
0x08048dee <+65>: mov %eax,0x4(%esp)
0x08048df2 <+69>: movl $0x8,(%esp)
0x08048df9 <+76>: call 0x8048af0 <func4>
0x08048dfe <+81>: cmp -0x10(%ebp),%eax
0x08048e01 <+84>: je 0x8048e08 <phase_4+91>
0x08048e03 <+86>: call 0x8049108 <explode_bomb>
0x08048e08 <+91>: leave
0x08048e09 <+92>: ret
End of assembler dump.
Dump of assembler code for function func4:
=> 0x08048af0 <+0>: push %ebp
0x08048af1 <+1>: mov %esp,%ebp
0x08048af3 <+3>: sub $0x28,%esp
0x08048af6 <+6>: mov %ebx,-0xc(%ebp)
0x08048af9 <+9>: mov %esi,-0x8(%ebp)
0x08048afc <+12>: mov %edi,-0x4(%ebp)
0x08048aff <+15>: mov 0x8(%ebp),%esi
0x08048b02 <+18>: mov 0xc(%ebp),%ebx
0x08048b05 <+21>: test %esi,%esi
0x08048b07 <+23>: jg 0x8048b10 <func4+32>
0x08048b09 <+25>: mov $0x0,%ebx
0x08048b0e <+30>: jmp 0x8048b39 <func4+73>
0x08048b10 <+32>: cmp $0x1,%esi
0x08048b13 <+35>: je 0x8048b39 <func4+73>
0x08048b15 <+37>: mov %ebx,0x4(%esp)
0x08048b19 <+41>: lea -0x1(%esi),%eax
0x08048b1c <+44>: mov %eax,(%esp)
0x08048b1f <+47>: call 0x8048af0 <func4>
0x08048b24 <+52>: mov %eax,%edi
0x08048b26 <+54>: mov %ebx,0x4(%esp)
0x08048b2a <+58>: sub $0x2,%esi
0x08048b2d <+61>: mov %esi,(%esp)
0x08048b30 <+64>: call 0x8048af0 <func4>
0x08048b35 <+69>: add %eax,%edi
0x08048b37 <+71>: add %edi,%ebx
0x08048b39 <+73>: mov %ebx,%eax
0x08048b3b <+75>: mov -0xc(%ebp),%ebx
0x08048b3e <+78>: mov -0x8(%ebp),%esi
0x08048b41 <+81>: mov -0x4(%ebp),%edi
0x08048b44 <+84>: mov %ebp,%esp
0x08048b46 <+86>: pop %ebp
0x08048b47 <+87>: ret