首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C程序用户输入中输入字节串

在C程序用户输入中输入字节串
EN

Stack Overflow用户
提问于 2019-05-27 00:25:10
回答 1查看 452关注 0票数 0

我正在处理一个涉及在C程序上执行缓冲区溢出的问题。程序要求用户输入命令行,我需要使用此输入输入我的字节字符串,包括nops、shellcode、ret地址等。问题是c程序将我输入的所有内容都解释为文字字符串,因此如果我输入类似"\xff\xab\x12...“程序会将每个单独的字符解释为不同的字节。我可以通过为每个字节创建相应ASCII字符的字符串来输入单独的字节,但这限制了我的字节值只能使用十六进制值00-7F。我想知道是否有某种方法可以使用python输入字节字符串,或者可能格式化用户输入,以便C程序按照我需要的方式解释它。请注意,在我开始运行程序之前,我不知道字节串的返回地址是什么,所以我不能在运行C程序之前生成字节串,我正在Linux x86外壳上工作,我也没有C程序的源代码。

我尝试调用python,使用如下命令将我需要的字符串打印到输入中,

代码语言:javascript
运行
复制
$(python -c 'print "\x41" * 205 + "\x34\x86")

但是C程序只是从字面上解释所有这些字符。我还尝试使用扩展ASCII字符,但C程序似乎无法正确解释它们,将它们都与一个未知字符符号和0xc3十六进制值关联起来。有没有可能C程序正在使用的其他字符/十六进制映射?

如果任何人知道一种方法,我可以输入我需要的方式,您的帮助将非常感谢。

谢谢

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56315348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档