这是我在这里的第一篇文章所以请原谅我,如果我犯了任何错误。
所以,我在Metasploit页面上浏览,我发现了这些奇怪的代码类型。我尝试在谷歌和这里搜索它,但无法找到像我一样的任何其他问题和答案。我也注意到Elliot在"先生。机器人"在Python中编程。我可以看到代码通常用于病毒,但我需要知道原因。这是我使用此方法找到的代码:
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"
答案 0 :(得分:2)
代码是以十六进制编码的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')
结果是:
[MoviePlay]
FileName0=C:\
答案 1 :(得分:1)
它是一个字符串,就像"Hello World!"
之类的其他字符串一样。但是,它以不同的方式编写。在计算机中,每个字符根据编码对应于称为代码点的数字。您可能听说过的一种编码是ASCII,另一种是UTF-8。举一个例子,在两种编码中,字母H
对应于数字72.在Python中,通常使用匹配的字母指定字符串,如"Hello World!"
。但是,也可以使用代码点。在python中,这可以用\xab
表示,其中ab
被替换为代码点的十六进制形式。因此H
将变为'\x48'
,因为48是72的十六进制表示法,即字母H
的代码点。在此表示法中,"Hello World!"
变为"\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21"
。
您指定的字符串由十六进制代码点5b
(十进制91,字符[
的代码点)组成,后跟代码点4d
({ {1}})等,导致完整的字符串M
。这里[MoviePlay]\r\nFileName0=C:\\
和\r
是特殊字符,表示换行符,因此也可以将其读作:
\n
原则上,这种符号在病毒中不是必然,但是这种编程通常需要对内存中的数字进行非常具体的操作,而不必过多考虑这些数字所代表的实际字符,所以这可以解释为什么你会在那里看到它。
答案 2 :(得分:-1)
他们使用Metasploit,更确切地说,msfvenom可以创建或生成专门针对精心设计或利用文件的shellcode,例如具有不同编码的文档(docs,ppt,xls等)。