level2

在这里插入图片描述
在这里插入图片描述
根据第一张图写出需要插入的汇编代码(第二张图说明地址有一些偏移量,并不是0x1be3而是0x555555555be3)
于是写了2threelines.s
在这里插入图片描述
然后转换成.o文件的过程中却会报错:
在这里插入图片描述
于是把threelines.s换了一种写法(但是不知道这样写对不对!)
在这里插入图片描述
此时就惊奇地可以啦
在这里插入图片描述
在这里插入图片描述
然后反汇编
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
待会我们要把这些数字插入在%rsp处,然后把%rsp填在返回地址处,这样在返回的时候就可以执行我写的这三行汇编代码的命令。

接下来查看%rsp
在这里插入图片描述
我决定把断点设在1ba6处,此时info r:
在这里插入图片描述
结合以上两张图片得到输入字符串的16进制版本:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
556647a8变成了556647b9,看来是在返回地址的地方就出了问题。

考虑到偏移了0x11,我决定把556647a8变成55664797
我又创建了一个shift2.txt
在这里插入图片描述
在这里插入图片描述
这次再运行时,却出现了另一个报错。
在这里插入图片描述