
Эмулятор шелл-кода, написанный с использованием Unicorn Framework, со средой эмуляции дампа процесса
ShellcodeEmulator эмулирует шеллкод Windows с помощью дампов памяти процесса windbg. Вы можете предоставить шеллкод для анализа с любым образом дампа процесса Windows. Инструмент эмулирует максимально возможный объем пользовательского кода, используя байты шеллкода и предоставленный образ дампа.
Вы можете добавить свои собственные обработчики системных вызовов или любые обработчики между вызовами API, используемыми шеллкодом, и уровнем ядра. Это может предоставить полное представление о пользовательском стеке. Это позволит вам исследовать шеллкод, который обходит слабые перехватчики API на более высоком уровне стека вызовов.
Установите WinDbg
Установите 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