二进制bomb实验第三弹

本文详细分析了Linux二进制bomb实验的第三关,涉及关键指令如开辟内存、比较、跳转等。通过对代码的解读,确定需要输入两个整数,并且第二个参数需满足特定条件。通过跳转表实现类似switch的功能,输入不同值执行不同计算,得出正确结果可避免bomb爆炸。已验证输入0和1的两种情况均能通过关卡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三弹啦!继续上代码!

08048ea1<phase_3>:

 8048ea1:  55                       push   %ebp

 8048ea2:  89e5                    mov    %esp,%ebp

 8048ea4:  83ec 28                 sub    $0x28,%esp          //开辟了10个地址

 8048ea7:  8d45 f0                 lea   -0x10(%ebp),%eax     

8048eaa:  89 44 24 0c              mov   %eax,0xc(%esp)

 8048eae:  8d45 f4                 lea    -0xc(%ebp),%eax       //将第一个参数给eax

 8048eb1:  8944 24 08              mov    %eax,0x8(%esp)

 8048eb5:  c744 24 04 3e a2 04     movl $0x804a23e,0x4(%esp)  //$0x804a23e应该很重要

 8048ebc:  08

 8048ebd:  8b45 08                 mov    0x8(%ebp),%eax

 8048ec0:  8904 24                 mov    %eax,(%esp)

 8048ec3:  e878 f9 ff ff           call   8048840<__isoc99_sscanf@plt>

 8048ec8:  83f8 01                 cmp    $0x1,%eax         //eax大于1就不bomb

 8048ecb:  7f05   

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值