
Emulador de shellcode escrito com Unicorn Framework com Ambiente de Emulação de Dump de Processo
O ShellcodeEmulator emula shellcode do Windows com a ajuda de dumps de memória de processo do WinDbg. Você pode fornecer shellcode para análise com qualquer imagem de dump de processo do Windows. A ferramenta emulará o máximo possível do código de espaço de usuário usando os bytes do shellcode e a imagem de dump fornecida.
Você pode adicionar seus próprios manipuladores de syscall ou quaisquer manipuladores entre as chamadas de API usadas pelo shellcode e a camada do kernel. Isso pode fornecer uma visão completa da pilha do usuário. Isso permitirá investigar shellcode que contorna hooks de API frouxos em níveis mais altos da pilha de chamadas.
Instale o WinDbg
Instale o ShellcodeEmulator
pip install git+https://github.com/ohjeongwook/ShellcodeEmulator --upgrade
python -m pykdfix.fix_windbg_files
> python -m shellcode_emulator.run
Usage: run.py [options] args
Options:
-h, --help show this help message and exit
-b IMAGE_BASE, --image_base=IMAGE_BASE
Image base to load the shellcode inside process memory
-d DUMP_FILENAME, --dump_filename=DUMP_FILENAME
A process dump file from normal Windows process
-l LIST_FILENAME, --list_filename=LIST_FILENAME
A list filename generated by IDA (this can be used
instead of shellcode filename)
python -m shellcode_emulator.run wincalc.bin -d notepad.dmp