在Python中“\x5b\x4d\x6f etc…”是什么意思?

2024-05-14 07:50:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我在这里的第一篇文章,如果我犯了什么错误,请原谅。在

所以,我在Metasploit页面上浏览,发现了这些奇怪的代码类型。我试着在谷歌和这里搜索它,但找不到任何像我一样的问题和答案。我还注意到Elliot在用Python编程时使用了“Mr.Robot”中的方法。我可以看到代码通常用于病毒,但我需要知道原因。这是我用这个方法找到的代码:

buf += "\x5b\x4d\x6f\x76\x69\x65\x50\x6c\x61\x79\x5d\x0d\x0a\x46\x69\x6c\x65\x4e\x61\x6d\x65\x30\x3d\x43\x3a\x5c"


Tags: 方法答案代码类型编程错误文章页面
3条回答

它是一个字符串,就像"Hello World!"之类的任何其他字符串一样。但是,它是用不同的方式写的。在计算机中,每一个字符都对应一个数字,根据一种编码,称为码位。您可能听说过的一种编码是ASCII,另一种是UTF-8。举个例子,在两种编码中,字母H对应于数字72。在Python中,通常使用匹配的字母指定字符串,比如"Hello World!"。但是,也可以使用代码点。在python中,这可以用\xab表示,其中ab将替换为十六进制形式的代码点。因此H将变成{},因为48是72的十六进制表示法,是字母H的代码点。在这个符号中,"Hello World!"变成{}。在

您指定的字符串由十六进制代码点5b(十进制91,字符[的代码点)和代码点4dM)等组成,导致完整的字符串[MoviePlay]\r\nFileName0=C:\\。这里\r\n是表示换行符的特殊字符,因此也可以将其读作:

[MoviePlay]
FileName0=C:\\

原则上,这种符号不一定存在于病毒中,但这种编程通常需要对内存中的数字进行非常具体的操作,而不考虑这些数字所代表的实际字符,因此可以解释为什么会出现这种情况。在

代码是以十六进制编码的ASCII字符序列。 可以直接打印。在

print('\x5b\x4d\x6f\x76\x69\x65\x50\x6c\x61\x79\x5d\x0d\x0a\x46\x69\x6c\x65\x4e\x61\x6d\x65\x30\x3d\x43\x3a\x5c')

结果是:

^{pr2}$

更具体地说,他们使用Metasploit、msfvenom为精心编制或利用的文件(如文档、ppt、xls等)创建或生成外壳代码。在

相关问题 更多 >

    热门问题