
É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 + un simulateur de processus OS implémenté en pur rust.
Cette approche est très pratique pour l'analyse de malwares et d'autres choses (PE, shellcode, etc.)
L'OS est principalement windows, il émule un processus windows, avec un support très basique pour linux.
Le matériel est x86 32/64bits, c'est rapide et fiable.

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
propulsé par le désassembleur rust iced-x86, une excellente bibliothèque.
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é.
s'arrêter à un moment précis et explorer l'état ou le modifier.
339 instructions CPU implémentées.
260 winapi 32bits implémentées sur 15 dlls.
204 winapi 64bits implémentées sur 10 dlls.
tous les appels système linux.
chaînes SEH.
gestionnaire d'exceptions vectorisées.
structures PEB, TEB.
liaison dynamique.
liaison IAT.
chargement différé.
allocateur mémoire.
réagir avec int3.
cpuid non débogué.
émulation de shellcode 32bits et 64bits.
é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 ID unique pour un moment d'émulation.
Avec le flag -c vous arrêtez l'émulation à un moment précis 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