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

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

相关文章:

  • 2021-12-08
  • 2021-06-16
  • 2021-12-21
  • 2022-02-19
  • 2021-12-01
  • 2021-04-25
  • 2021-07-30
  • 2022-01-21
猜你喜欢
  • 2021-08-15
  • 2022-01-03
  • 2022-01-18
  • 2021-04-29
  • 2021-04-27
  • 2021-12-03
  • 2021-12-29
相关资源
相似解决方案