Boom!!!计算机系统,从理解到爆炸,Bomblab

这里写图片描写叙述

这里写图片描写叙述

进入文件夹下
./bomb
開始执行炸弹
对于炸弹command not found之类的鬼畜情况:
chmod 777 bomb
然后再执行炸弹

objdump -d bomb > bomb.s
把整个代码打到文件中去,也能够进gdb看
gdb>disas phase_1
看第一步的代码

我是bomb_217

第一步直接找按地址寻找字符串

0000000000400ead <phase_1>:
  400ead:   48 83 ec 08             sub    $0x8,%rsp
  400eb1:   be b0 23 40 00          mov    $0x4023b0,%esi  //字符串就存这,x/s 0x4023b0就出来了
                                                           //I can see Russia from my house!
  400eb6:   e8 5c 04 00 00          callq  401317 <strings_not_equal>
  400ebb:   85 c0                   test   %eax,%eax
  400ebd:   74 05                   je     400ec4 <phase_1+0x17>
  400ebf:   e8 52 05 00 00          callq  401416 <explode_bomb>
  400ec4:   48 83 c4 08             add    $0x8,%rsp
  400ec8:   c3                      retq   

第二部,输入6个数,我这里是要求是以1开头,公比为2的等比数列

0000000000400ec9 <phase_2>:
  400ec9:   55                      push   %rbp
  400eca:   53                      push   %rbx
  400ecb:   48 83 ec 28             sub    $0x28,%rsp
  400ecf:   64 48 8b 04 25 28 00    mov    %fs:0x28,%rax
  400ed6:   00 00 
  400ed8:   48 89 44 24 18          mov    %rax,0x18(%rsp)
  400edd:   31 c0                   xor    %eax,%eax
  400edf:   48 89 e6                mov    %rsp,%rsi
  400ee2:   e8 51 05 00 00          callq  401438 <read_six_numbers>        //r
posted @ 2017-07-16 09:13 wzzkaifa 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值