Boom!!!計算機系統,從理解到爆炸,Bomblab
阿新 • • 發佈:2017-07-16
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> //rBoom!!!計算機系統,從理解到爆炸,Bomblab