1. 程式人生 > >Boom!!!計算機系統,從理解到爆炸,Bomblab

Boom!!!計算機系統,從理解到爆炸,Bomblab

push ecb ase ack 要求 art obj var rom

技術分享

技術分享

進入文件夾下
./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    $0
x4023b0,%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

Boom!!!計算機系統,從理解到爆炸,Bomblab