
Эмулятор аппаратного обеспечения x86 и симулятор процессов Windows на чистом Rust для анализа вредоносного ПО, эмуляции шелл-кода и распаковки полезных нагрузок. Поддерживает 32/64-битные PE-исполняемые файлы, Metasploit, Cobalt Strike и сложные семейства вредоносных программ.
Это аппаратный эмулятор + симулятор процессов ОС, реализованный на чистом Rust.
Такой подход очень удобен для анализа вредоносного ПО и других задач (PE, шелл-код и т. д.)
Поддерживает архитектуры x86 32/64-бит и AArch64. Основная целевая ОС — Windows (полная эмуляция процессов с PEB/TEB/LDR, перехват WinAPI и системных вызовов), с растущей поддержкой Linux и macOS (системные вызовы, загрузчики ELF/Mach-O, прослойки libc).

Проект был переименован из scemu в mwemu.
r2con2025 — использование radare2 из mwemu для статического анализа и визуализации в момент эмуляции.
📦 безопасность Rust, хорошо подходит для эмуляции вредоносного ПО.
⚡ очень быстрая эмуляция
make test_speed (собирает release и эмулирует 20 млн инструкций enigma, выводя затраченное время)работает на основе замечательной библиотеки-дизассемблера iced-x86 для Rust.
инструмент командной строки, библиотека для Rust и библиотека для Python.
детектор итераций.
отслеживание памяти и регистров.
цветной вывод.
остановка в определённый момент и исследование состояния или его изменение.
реализовано 339 инструкций CPU.
реализовано 260 winapi 32-бит из 15 dll.
реализовано 204 winapi 64-бит из 10 dll.
все системные вызовы Linux.
цепочки SEH.
векторизованный обработчик исключений.
структуры PEB, TEB.
динамическое связывание.
привязка IAT.
отложенная загрузка.
аллокатор памяти.
реакция на int3.
cpuid без отладки.
эмуляция 32- и 64-битного шелл-кода.
эмуляция исполняемых файлов pe32 и pe64.
полная эмуляция с известными полезными нагрузками:
частичная эмуляция со сложными функциями вредоносного ПО:
Во время эмуляции вы можете видеть количество эмулированных инструкций CPU — это уникальный идентификатор момента эмуляции.
С флагом -c вы останавливаете эмуляцию в определённый момент и исследуете происходящее через консоль.
MWEMU emulator for malware 0.7.11
@sha0coder
USAGE:
mwemu [FLAGS] [OPTIONS]
FLAGS:
-6, --64bits enable 64bits architecture emulation
--banzai skip unimplemented instructions, and keep up emulating what can be emulated
--flags trace the flags hex value in every instruction.
-F, --fpu trace the fpu states.
-h, --handle handle Ctrl+C to spawn console
--help Prints help information
-l, --loops show loop interations, it is slow.
-m, --memory trace all the memory accesses read and write.
-n, --nocolors print without colors for redirectin to a file >out
-r, --regs print the register values in every step.
-p, --stack_trace trace stack on push/pop
-t, --test test mode
--version Prints version information
-v, --verbose -vv for view the assembly, -v only messages, without verbose only see the api calls and goes
faster