
Émulateur matériel x86 en Rust pur et simulateur de processus Windows pour l'analyse de logiciels malveillants, l'émulation de shellcode et le dépaquetage de charges utiles. Prend en charge les exécutables PE 32/64 bits, Metasploit, Cobalt Strike et des familles complexes de logiciels malveillants.
C'est un émulateur matériel + simulateur de processus OS implémenté en pur rust.
Cette approche est très pratique pour l'analyse de malware et d'autres choses (PE, shellcode, etc.)
Prend en charge les architectures x86 32/64 bits et AArch64. Le système d'exploitation cible principal est Windows (émulation complète de processus avec PEB/TEB/LDR, interception WinAPI et syscall), avec un support croissant pour Linux et macOS (syscalls, loaders ELF/Mach-O, shims libc).

Le projet a été renommé de scemu en mwemu.
r2con2025 utilisant radare2 depuis mwemu pour faire de l'analyse statique et de la visualisation pendant un moment d'émulation.
📦 sécurité de rust, idéal pour émuler des malwares.
⚡ émulation très rapide
make test_speed (compile en release et émule 20M instructions d'enigma, en rapportant le temps écoulé)propulsé par l'excellente bibliothèque de désassemblage rust iced-x86.
outil en ligne de commande, bibliothèque rust et bibliothèque python.
détecteur d'itérations.
suivi de la mémoire et des registres.
colorisé.
arrêt à un moment précis et exploration de l'état ou modification de celui-ci.
339 instructions CPU implémentées.
260 winapi 32 bits implémentées sur 15 dlls.
204 winapi 64 bits implémentées sur 10 dlls.
tous les syscalls linux.
chaînes SEH.
gestionnaire d'exceptions vectorisées.
structures PEB, TEB.
liaison dynamique.
liaison IAT.
chargement différé.
allocateur mémoire.
réaction avec int3.
cpuid non débogué.
émulation de shellcode 32 bits et 64 bits.
émulation d'exécutables pe32 et pe64.
émulation complète avec des payloads connus :
émulation partielle avec des fonctions de malware complexes :
Pendant l'émulation, vous pouvez voir le nombre d'instructions cpu émulées, c'est un identifiant unique pour un moment d'émulation.
Avec le flag -c, vous arrêtez l'émulation à un moment spécifique et inspectez ce qui se passe avec la console.
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