Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
uEmu — Piccolo e carino plugin emulatore per IDA basato su unicorn. | Kitploit
Strumenti/GitHubGitHub/alexhude/uemu
Sicurezza Sistemi EmbeddedAnalisi Dinamica (Sandboxing)Reverse EngineeringDebuggerAnalisi di BinariAnalisi del Firmware
GitHubalexhude/uemu

uEmu

Piccolo e carino plugin emulatore per IDA basato su unicorn.

Vedi Repository
1.2k1831 giorno faRevisionato da Kitploit

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

Panoramica

uEmu è un piccolo e carino plugin emulatore per IDA basato sul motore unicorn.

Supporta le seguenti architetture out of the box: x86, x64, ARM, ARM64, MIPS, MIPS64

A cosa è UTILE?

  • Emulare codice bare metal (bootloader, firmware embedded ecc.)
  • Emulare funzioni autonome

A cosa NON è adatto?

  • Emulare codice OS complesso (librerie dinamiche, processi ecc.)
  • Emulare codice con molte syscall

Cosa può essere migliorato?

  • Trovare un modo per emulare l'accesso a registri specifici del vendor (come MSR S3_x, X0 per ARM64)
  • Aggiungere più registri da tracciare

Installazione

  • Configurare IDAPython tramite idapyswitch
  • brew install unicorn per installare i binari di Unicorn
  • pip install unicorn per installare i binding Python di Unicorn
  • Usa File / Script file... o ALT+F7 in IDA per caricare uEmu.py

Opzionalmente uEmu può essere caricato automaticamente come plugin IDA. In tal caso, mettilo nella cartella [IDA]/Plugins e imposta USE_AS_SCRIPT a False all'interno di uEmu.py

Caratteristiche

Menu a comparsa

  • Il comando Start inizializza l'emulatore mappando tutti i segmenti e impostando Unicorn
  • Il comando Run emula le istruzioni fino al raggiungimento di un breakpoint o al verificarsi di un errore
  • Step emula una o N istruzioni (tieni premuto ALT/OPTION per specificare un numero)
  • Stop interrompe l'emulazione
  • Reset resetta il motore di emulazione e smappa tutte le regioni di memoria
  • Jump To PC salta semplicemente al PC corrente
  • Set PC sposta il PC sul cursore
  • È possibile Aggiornare il Contesto CPU manualmente o tramite file JSON (vedi sotto)
  • Show Controls mostra una finestra con i pulsanti Start/Run/Step/Stop
  • Show CPU Context mostra una finestra con i registri disponibili
  • Show CPU Extended Context mostra una finestra con i registri estesi (FP/SIMD)
  • Show Stack mostra una finestra con lo Stack corrente
  • Show Memory Range permette di visualizzare una specifica regione di memoria

Start

Avvia l'emulazione dal cursore. È necessario prima fornire il contesto CPU iniziale (vedi Aggiornare il Contesto CPU) Dopodiché tutti i segmenti del database IDA verranno mappati nell'emulatore (anche i dati inizializzati verranno copiati).

Run

Esegue il codice fino al raggiungimento di un breakpoint di codice o memoria, o fino a un evento che richiede l'azione dell'utente.

Step

Esegue un passo singolo. Tieni premuto ALT/OPTION per specificare il numero di passi da eseguire.

Stop

Quando l'emulazione è in corso, questo comando può essere usato per interrompere l'esecuzione.

Reset

Resetta l'istanza dell'emulatore e smappa tutte le regioni di memoria.

Breakpoint

Puoi usare i breakpoint IDA per indicare i punti in cui l'emulazione deve essere interrotta. Questo include breakpoint di codice e di memoria. Solitamente usati insieme al comando Run.

Azioni a runtime

Memoria non mappata

Quando l'emulatore deve accedere a una memoria non ancora mappata, il plugin mostrerà il seguente dialogo.

  • Premere SÌ per fornire un dump di memoria da caricare in memoria.

  • Premere NO per mappare una pagina vuota (0x1000) riempita di zeri
  • Premere Annulla per interrompere l'emulazione

Istruzioni sconosciute

Quando l'emulatore incontra un'istruzione sconosciuta, è possibile saltarla e ripristinare manualmente il contesto CPU.

Viste

Controls

Un semplice pannello per controllare l'esecuzione.

Contesto CPU

Contesto CPU corrente.

Ogni volta che l'emulazione si ferma, i registri modificati verranno evidenziati. I registri possono essere visualizzati in 1, 2 o 3 colonne tramite il menu a comparsa.

È possibile aggiornare il contesto CPU tramite il menu a comparsa (vedi sotto).

Contesto CPU esteso

Contesto CPU esteso corrente.

Ogni volta che l'emulazione si ferma, i registri modificati verranno evidenziati. I registri possono essere visualizzati in 1, 2 o 3 colonne tramite il menu a comparsa.

È possibile aggiornare il contesto CPU tramite il menu a comparsa (vedi sotto).

Memoria

Usa questa vista per osservare le regioni di memoria per un indirizzo e una dimensione specificati. Il commento verrà visualizzato nel titolo per comodità.

Ogni volta che l'emulazione si ferma, i blocchi di memoria modificati verranno evidenziati.

Aggiornare il Contesto CPU

I valori dei registri possono essere modificati singolarmente o tutti insieme con un file JSON tramite il menu a comparsa. Il contesto corrente può anche essere salvato in un file JSON per uso futuro.

Menu principale del plugin

Oltre a tutte le funzioni elencate nel menu a comparsa, ci sono un paio di nuovi comandi.

Mostra Memoria Mappata

Mostra tutte le regioni mappate. Usa il menu a comparsa per visualizzare la memoria di una regione particolare o esportarla in un file.

Recupera Segmenti

Questo comando tenta di sincronizzare i segmenti IDA con la memoria mappata creando nuove mappature o unendo con quelle esistenti se possibile. Questo aiuta ad aggiungere nuovi segmenti IDA all'emulatore in esecuzione senza doverlo riavviare.

Carica Progetto

Carica lo stato di uEmu da file.

Salva Progetto

Salva lo stato di uEmu in un file. Nota che vengono salvati solo i registri definiti nel plugin.

Impostazioni

  • Follow PC fa scorrere la vista IDA al PC corrente durante l'emulazione
  • Convert to Code automatically serve se i dati IDA sotto il cursore non sono codice
  • Trace instructions stampa ogni istruzione che l'emulatore sta eseguendo
  • Lazy mapping aggiunge pagine su richiesta invece di mappare tutte le regioni esistenti all'avvio

Estensioni

È anche possibile aggiungere nuove funzionalità o costruire il tuo progetto su uEmu usando il sistema di estensione. Trova la descrizione con esempio qui

  • crauEmu - estensione per lo sviluppo e l'analisi di payload per attacchi di code-reuse.
Scarica lo strumento