Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
mwemu — Emulatore hardware x86 e simulatore di processi Windows in Pure Rust per l'analisi di malware, emulazione di shellcode e unpacking di payload. Supporta eseguibili PE a 32/64 bit, Metasploit, Cobalt Strike e famiglie di malware complesse. | Kitploit
Strumenti/GitHubGitHub/mwemuorg/mwemu
Framework di ExploitReverse EngineeringShellcodeAnalisi MalwareAnalisi di Binari
GitHubmwemuorg/mwemu

mwemu

Emulatore hardware x86 e simulatore di processi Windows in Pure Rust per l'analisi di malware, emulazione di shellcode e unpacking di payload. Supporta eseguibili PE a 32/64 bit, Metasploit, Cobalt Strike e famiglie di malware complesse.

Vedi Repository
313442518h 25m faRevisionato da Kitploit
Sito web

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

MWEmu

CI mwemu crates.io libmwemu crates.io Docs.rs PyPI License: Apache 2.0 MSRV Listed on mcpservers.org

Documentazione ufficiale

mwemu.github.io

Cos'è questo?

È un emulatore hardware + simulatore di processi OS implementato in puro rust.

Questo approccio è molto comodo per l'analisi di malware e altre cose (PE, shellcode ecc.)

L'OS è principalmente windows, emula un processo windows, con un supporto molto basilare per linux.

L'hardware è x86 32/64bit, è veloce e affidabile.

MWEMU Logo

Tre modi di utilizzare il software

  • mwemu da riga di comando https://github.com/mwemuorg/mwemu
  • crate libmwemu https://crates.io/crates/libmwemu
  • pymwemu https://pypi.org/project/pymwemu/

nota su scemu

Il progetto è stato rinominato da scemu a mwemu.

Alcuni Video

r2con2025 utilizza radare2 da mwemu per fare analisi statica e visualizzazione all'interno di un momento di emulazione.

alcune demo

Caratteristiche

  • 📦 sicurezza di rust, ottimo per emulare malware.

    • Tutte le dipendenze sono in rust.
  • ⚡ emulazione molto veloce

    • benchmark
    • 25.767.432 istruzioni/secondo
    • 680.000 istruzioni/secondo stampando ogni istruzione -vv.
    • prova tu stesso: time mwemu -f test/exe64win_enigma.bin -6 -v -c 20000000 --cmd q
  • basato su iced-x86, un'ottima libreria disassembler rust.

  • strumento da riga di comando, libreria rust e libreria python.

  • rilevatore di iterazioni.

  • tracciamento di memoria e registri.

  • colorato.

  • fermarsi in un momento specifico ed esplorare lo stato o modificarlo.

  • 339 istruzioni CPU implementate.

  • 260 winapi a 32bit implementate di 15 dll.

  • 204 winapi a 64bit implementate di 10 dll.

  • tutte le syscall linux.

  • catene SEH.

  • vectored exception handler.

  • strutture PEB, TEB.

  • linking dinamico.

  • binding IAT.

  • delay loading.

  • allocatore di memoria.

  • reagire con int3.

  • cpuid non debugged.

  • emulazione di shellcode a 32bit e 64bit.

  • emulazione di eseguibili pe32 e pe64.

  • emulazione completa con payload noti:

    • shellcode metasploit.
    • encoder metasploit.
    • cobalt strike.
    • shellgen.
    • guloader (non totalmente per ora, ma arriva più avanti del debugger)
    • mars stealer pe32.
    • bumblebee.
  • emulazione parziale con funzioni malware complesse:

    • guloader
    • xloader
    • danabot

pymwemu vs malware

  • raccoon, decifratura di stringhe
  • vidar, decifratura di stringhe
  • xloader, decifratura totale, keygen, costruzione della cifratura dell'url.
  • lokibot, deoffuscamento delle api
  • mars unpacking e recupero degli ioc
  • shikata decoding e recupero degli ioc
  • danabot decifratura di stringhe
  • zloader decifratura di stringhe
  • bumblebee unpacking dopo aver emulato 25.515.274.634 istruzioni.
  • enigma loader deoffuscamento delle api e decifratura del drop
  • bugsleep unpack
  • gozi decifratura del bss e predittore dga.

Catturare un momento di emulazione

Durante l'emulazione puoi vedere il numero di istruzioni cpu emulate, che è un ID univoco per un momento di emulazione.

Con il flag -c fermi l'emulazione in un momento specifico e ispezioni cosa sta succedendo con la console.

Utilizzo

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

OPTIONS:
    -A, --args <ARGS>                  provide arguments to the EXE like: --args '"aa" "bb"'
        --cmd <COMMAND>                launch a console command
    -b, --base <ADDRESS>               set base address for code
    -c, --console <NUMBER>             select in which moment will spawn the console to inspect.
    -C, --console_addr <ADDRESS>       spawn console on first eip = address
    -d, --dump <FILE>                  load from dump.
    -a, --entry <ADDRESS>              entry point of the shellcode, by default starts from the beginning.
    -e, --exit <POSITION>              exit position of the shellcode
    -f, --filename <FILE>              set the shellcode binary file.
    -i, --inspect <DIRECTION>          monitor memory like: -i 'dword ptr [ebp + 0x24]
        --iso <ISO>                    extract genuine system32 DLLs from a Windows ISO and use them as the maps folder, e.g. --iso ~/Downloads/win11.iso
    -L, --log <LOG_FILENAME>           log output to file
    -M, --maps <PATH>                  select the memory maps folder
        --mxcsr <MXCSR>                set mxcsr register
        --r10 <R10>                    set r10 register
        --r11 <R11>                    set r11 register
        --r12 <R12>                    set r12 register
        --r13 <R13>                    set r13 register
        --r14 <R14>                    set r14 register
        --r15 <R15>                    set r15 register
        --r8 <R8>                      set r8 register
        --r9 <R9>                      set r9 register
        --rax <RAX>                    set rax register
        --rbp <RBP>                    set rbp register
        --rbx <RBX>                    set rbx register
        --rcx <RCX>                    set rcx register
        --rdi <RDI>                    set rdi register
        --rdx <RDX>                    set rdx register
    -R, --reg <REGISTER1,REGISTER2>    trace a specific register in every step, value and content
        --rflags <RFLAGS>              set rflags register
        --rsi <RSI>                    set rsi register
        --rsp <RSP>                    set rsp register
    -x, --script <SCRIPT>              launch an emulation script, see scripts_examples folder
        --stack_address <ADDRESS>      set stack address
    -s, --string <ADDRESS>             monitor string on a specific address
    -T, --trace <TRACE_FILENAME>       output trace to specified file
    -S, --trace_start <TRACE_START>    start trace at specified position
    -V, --verbose_at <NUMBER>          start displaying assembly at specific position (is like -vv enabled in specific
                                       moment)

Esempi da riga di comando

Scarica lo strumento