我正在尝试对交互式 C 程序执行缓冲区溢出。我必须用一个字节为十六进制值 88 的地址重写 EIP。为此,我必须在提示时输入相应的 ASCII。
我试过控制键+转移+你并输入十六进制值 [u88] 来获取字符,但没用。相反,它发送了C288到登记册。
我做了一些研究,发现字符制表集 [HTS]然而我无法找到可以在 Ubuntu 上运行的转义编码。
- 附言:Perl 或 python 传递\x88这里不是一个选项,因为程序不通过参数接受用户输入。
答案1
我改变了终端的字符编码,然后我就可以通过输入控制键+转移+乌并输入 88。
终端>设置字符编码
选择西方 (ISO-8859-1)