本地斷網運行bomblab(2021)


安裝hexedit:

終端運行命令

sudo apt install hexedit

修改initialize_bomb:

通過反匯編我們可以得到下面的代碼

使用hexedit打開bomb文件:hexedit bomb

然后通過hexedit修改代碼,首先按/進入搜索模式,然后輸入足夠長度對應的二進制代碼,回車即可找到對應的位置。

將這里的二進制代碼修改成c7 00 11 fa 21 20 c3,然后按<F2>保存

修改send_msg:

通過反匯編我們可以得到下面的代碼

然后通過hexedit修改代碼,首先按/進入搜索模式,然后輸入足夠長度對應的二進制代碼,回車即可找到對應的位置。

將這里的二進制代碼修改成c7 06 01 00 00 00 c3,然后按<F2>保存

輸入<Ctrl-C>退出。

修改完成后,兩個函數應該分別如圖:


另:

  1. 如果你遇到了Premature EOF on stdin這種錯誤,可以在運行的時候用./bomb a.txt(疑似高版本gcc的問題)

  2. 建議上面的操作在斷網的情況下執行。

  3. 可能你在拆掉所有炸彈后會出現

free(): invalid pointer
Aborted (core dumped)

這應該沒什么問題,炸彈已經成功拆除(實測Ubuntu20沒有這個問題,而Ubuntu18會出現這個問題,我猜還是gcc版本的鍋)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM