安装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>退出。
修改完成后,两个函数应该分别如图:


另:
-  
如果你遇到了
Premature EOF on stdin这种错误,可以在运行的时候用./bomb a.txt(疑似高版本gcc的问题) -  
建议上面的操作在断网的情况下执行。
 -  
可能你在拆掉所有炸弹后会出现
 
free(): invalid pointer
Aborted (core dumped)
 
这应该没什么问题,炸弹已经成功拆除(实测Ubuntu20没有这个问题,而Ubuntu18会出现这个问题,我猜还是gcc版本的锅)
