被一个python -c 打印命令搞糊涂了 "\xef\xbe\xad\xde" 是什么意思?

Confused by a python -c printing command "\xef\xbe\xad\xde" what does it mean?

我正在阅读 "Hacker's Playbook 2" 并阅读了一些关于二进制利用的内容,并尝试使用一些 C 代码进行 ssh 游戏,如果你利用这些,你将获得更高级别的密码。但是我对这本书的所有者使用的python打印命令感到非常困惑,希望你们能解释一下。看看:

the C code and requirements of the game

the confusing python printing statement

我试图通过添加两张图片来尽可能地解释它,你可以看到让我感到困惑的部分是:"\xef\xbe\xad\xde"

我希望我说清楚了,谢谢 return :)

在 Python 字符串中,您可以通过以十六进制 (base-16) 表示法给出 ASCII、ISO Latin-1 或 Unicode 序号值来指定字符。为此,您在字符串中包含 "\xHH" 形式的子字符串,其中 HH 是十六进制数。例如,要在字符串中包含回车 return (CR) 和换行 (LF) 字符,您可以编写 "My string\x0D\x0A"。 16进制的0D对应十进制的13,是回车的ASCII码return,0A对应的是10,是换行

在这种情况下,本书作者指定了 Latin-1 代码点 "\xEF"(十六进制 EF = 十进制 239)、"\xBE" (190)、"\xAD" (173)和 "\xDE" (222)。选择它们显然是为了具有喜剧价值,因此他的恶作剧结果可以显示为 "DEADBEEF".