"x5bx4dx6f etc.."在 Python 中是什么意思?



这是我在这里的第一篇文章,所以如果我犯了任何错误,请原谅我。

所以,我在Metasploit页面上浏览,我发现了这些奇怪的代码类型。我尝试在谷歌和这里搜索它,但找不到任何其他问题和答案。我还注意到 Elliot 在用 Python 编程时在"机器人先生"中使用了该方法。我可以看到代码通常用于病毒,但我需要知道为什么。这是我使用此方法找到的代码:

布夫 += "\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"

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

指定的字符串由十六进制代码点5b(十进制 91,字符[的代码点)组成,后跟代码点4d(M) 等,导致完整的字符串[MoviePlay]rnFileName0=C:\。这里的rn是代表换行符的特殊字符,因此也可以将其理解为:

[MoviePlay]
FileName0=C:\

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

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

print('x5bx4dx6fx76x69x65x50x6cx61x79x5dx0dx0ax46x69x6cx65x4ex61x6dx65x30x3dx43x3ax5c')

结果是:

[MoviePlay]
FileName0=C:

他们使用Metasploit,msfvenom更具体地说,创建或生成专门用于构建或利用的文件的shellcode,例如具有不同编码的文档(docs,ppt,xls等)。

相关内容

  • 没有找到相关文章

最新更新