大会跳?

时间:2015-11-10 13:37:55

标签: assembly x86 reverse-engineering

我目前在炸弹实验室工作,不太确定我错过了什么。

 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?

0 个答案:

没有答案