gpt4 book ai didi

c - 有没有办法将字符串格式化为输入,以便 C 将其解释为十六进制?

转载 作者:太空宇宙 更新时间:2023-11-04 03:57:17 26 4
gpt4 key购买 nike

我知道您可以使用 printf("\xab") 告诉 C 将值解释为十六进制。如果您将“\xab”作为输入输入到 C 程序,它将把它解释为字符 -x-a-b。有没有办法将 printf 样式的格式化信息嵌入到原始输入中?

最佳答案

不,这完全取决于读取字符的代码如何解释它们。您不能通过给程序提供文本来神奇地从外部强制程序执行其他操作。我想缓冲区溢出攻击有点像反例,但那是相当极端的。

许多程序使用例如strtol()自动支持 0x(十六进制)和 0 作为前缀(浏览器地址栏是这一意想不到的功能的一个常见示例)。例如,在 Windows 中,您可以执行此操作以 ping 此站点:

C:\>ping 0xc6fcce10

Pinging 198.252.206.16 with 32 bytes of data:

其中 0xc6fcce10 是单个 32 位十六进制数形式的 IP 地址。

关于c - 有没有办法将字符串格式化为输入,以便 C 将其解释为十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15274814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com