
Simulador de hardware x86 puro em Rust e simulador de processos Windows para análise de malware, emulação de shellcode e descompactação de payloads. Suporta executáveis PE de 32/64 bits, Metasploit, Cobalt Strike e famílias complexas de malware.
É um emulador de hardware + simulador de processos de SO implementado em rust puro.
Esta abordagem é muito conveniente para análise de malware e outras coisas (PE, shellcode etc)
Suporta arquiteturas x86 32/64-bit e AArch64. O SO alvo principal é Windows (emulação completa de processos com PEB/TEB/LDR, interceção de WinAPI e syscalls), com suporte crescente para Linux e macOS (syscalls, loaders ELF/Mach-O, shims de libc).

O projeto foi renomeado de scemu para mwemu.
r2con2025 a usar radare2 a partir do mwemu para fazer análise estática e visualização dentro de um momento de emulação.
📦 segurança do rust, bom para emular malware.
⚡ emulação muito rápida
make test_speed (compila em release e emula 20M instruções do enigma, reportando o tempo decorrido)suportado pela excelente biblioteca de desassemblagem iced-x86 em rust.
ferramenta de linha de comandos, biblioteca rust e biblioteca python.
detetor de iteração.
rastreamento de memória e registos.
colorizado.
parar num momento específico e explorar o estado ou modificá-lo.
339 instruções de CPU implementadas.
260 winapi de 32bits implementadas de 15 dlls.
204 winapi de 64bits implementadas de 10 dlls.
todas as syscalls de linux.
cadeias SEH.
handler de exceções vetorizado.
estruturas PEB, TEB.
linking dinâmico.
binding de IAT.
carregamento atrasado.
alocador de memória.
reagir com int3.
cpuid não depurado.
emulação de shellcode de 32bits e 64bits.
emulação de executáveis pe32 e pe64.
emulação completa com payloads conhecidos:
emulação parcial com funções complexas de malware:
Durante a emulação pode ver o número de instruções de cpu emuladas, que é um ID único para um momento de emulação.
Com a flag -c para a emulação num momento específico e inspeciona o que se está a passar com a consola.
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