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
qiling — Un vero framework di emulazione binaria strumentabile. | Kitploit
Strumenti/GitHubGitHub/qilingframework/qiling
Frameworks per Penetration TestingAnalisi Dinamica (Sandboxing)ExploitReverse EngineeringDebuggerFuzzingAnalisi MalwareAnalisi di BinariApprendimento e FormazioneAnalisi del Firmware
GitHubqilingframework/qiling

qiling

6.1k7963 mesi 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

Un vero framework di emulazione binaria strumentabile.

Vedi RepositorySito web

Documentation Status Downloads Chat on Telegram


Casi d'uso, blog e lavori correlati di Qiling

Qiling è un framework avanzato di emulazione binaria, con le seguenti caratteristiche:

  • Emula multi-piattaforma: Windows, macOS, Linux, Android, BSD, UEFI, DOS, MBR.
  • Emula multi-architetture: 8086, X86, X86_64, ARM, ARM64, MIPS, RISC-V, PowerPC.
  • Supporta molteplici formati di file: PE, Mach-O, ELF, COM, MBR.
  • Supporta driver Windows (.sys), moduli kernel Linux (.ko) e kernel macOS (.kext) tramite Demigod.
  • Emula e mette in sandbox il codice in un ambiente isolato.
  • Fornisce una sandbox completamente configurabile.
  • Fornisce API approfondite per memoria, registri, livello del sistema operativo e filesystem.
  • Strumentazione a grana fine: permette hook a vari livelli (istruzione/blocco base/accesso memoria/eccezione/syscall/IO/ecc.)
  • Fornisce API a livello di macchina virtuale come salvare e ripristinare lo stato di esecuzione corrente.
  • Supporta capacità di debug cross-architettura e cross-piattaforma.
  • Debugger integrato con capacità di debug inverso.
  • Permette patch dinamico a caldo del codice in esecuzione, incluse le librerie caricate.
  • Vero framework in Python, che rende facile costruire strumenti di analisi di sicurezza personalizzati sopra di esso.

Qiling si è anche fatto strada in varie conferenze internazionali.

2022:

  • Black Hat, EU
  • Black Hat, MEA

2021:

  • Black Hat, USA
  • Hack In The Box, Amsterdam
  • Black Hat, Asia

2020:

  • Black Hat, Europe
  • Black Hat, USA
  • Black Hat, USA (Demigod)
  • Black Hat, Asia
  • Hack In The Box, Lockdown 001
  • Hack In The Box, Lockdown 002
  • Hack In The Box, Cyberweek
  • Nullcon

2019:

  • DEFCON, USA
  • Hitcon
  • Zeronights

Qiling è supportato da Unicorn Engine.

Visita il nostro sito web per maggiori informazioni.


Licenza

Questo programma è software libero; puoi ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation; sia la versione 2 della Licenza, o (a tua scelta) qualsiasi versione successiva.


Qiling vs. altri Emulatori

Esistono molti emulatori open-source, ma i due progetti più vicini a Qiling sono Unicorn e QEMU user mode. Questa sezione spiega le principali differenze di Qiling rispetto a essi.

Qiling vs. Unicorn engine

Costruito sopra Unicorn, ma Qiling e Unicorn sono due animali diversi.

  • Unicorn è solo un emulatore di CPU, quindi si concentra sull'emulazione delle istruzioni della CPU, che può comprendere la memoria dell'emulatore. Oltre a ciò, Unicorn non è a conoscenza di concetti di livello superiore, come librerie dinamiche, chiamate di sistema, gestione I/O o formati eseguibili come PE, Mach-O o ELF. Di conseguenza, Unicorn può emulare solo istruzioni macchina grezze, senza contesto del sistema operativo (OS).
  • Qiling è progettato come un framework di livello superiore, che sfrutta Unicorn per emulare le istruzioni della CPU, ma può comprendere il sistema operativo: ha caricatori di formati eseguibili (per PE, Mach-O e ELF attualmente), linker dinamici (così possiamo caricare e rilocare librerie condivise), gestori di syscall e I/O. Per questo motivo, Qiling può eseguire binari eseguibili senza richiedere il loro sistema operativo nativo.
Qiling vs. QEMU user mode

QEMU user mode fa una cosa simile al nostro emulatore, ovvero emulare interi binari eseguibili in modo cross-architettura. Tuttavia, Qiling offre alcune importanti differenze rispetto a QEMU user mode:

  • Qiling è un vero framework di analisi, che ti permette di costruire i tuoi strumenti di analisi dinamica sopra (in Python). Nel frattempo, QEMU è solo uno strumento, non un framework.
  • Qiling può eseguire strumentazione dinamica e può persino applicare patch a caldo al codice durante l'esecuzione. QEMU non fa nessuna delle due cose.
  • Non solo funziona in modo cross-architettura, Qiling è anche cross-piattaforma. Ad esempio, puoi eseguire un file ELF Linux su Windows. Al contrario, QEMU user mode esegue solo binari dello stesso sistema operativo, come ELF Linux su Linux, a causa del modo in cui inoltra le syscall dal codice emulato al sistema operativo nativo.
  • Qiling supporta più piattaforme, tra cui Windows, macOS, Linux e BSD. QEMU user mode può gestire solo Linux e BSD.

Installazione

Si prega di consultare il file guida all'installazione per come installare Qiling Framework.


Esempi

L'esempio seguente mostra come utilizzare Qiling framework nel modo più diretto per emulare un eseguibile Windows.

root@kitploit:~
from qiling import Qiling

if __name__ == "__main__":
    # initialize Qiling instance, specifying the executable to emulate and the emulated system root.
    # note that the current working directory is assumed to be Qiling home
    ql = Qiling([r'examples/rootfs/x86_windows/bin/x86_hello.exe'], r'examples/rootfs/x86_windows')

    # start emulation
    ql.run()
  • L'esempio seguente mostra come un crackme Windows può essere patchato dinamicamente per fargli visualizzare sempre la finestra di dialogo "Congratulazioni".
root@kitploit:~
from qiling import Qiling

def force_call_dialog_func(ql: Qiling):
    # get DialogFunc address from current stack frame
    lpDialogFunc = ql.stack_read(-8)

    # setup stack memory for DialogFunc
    ql.stack_push(0)
    ql.stack_push(1001)     # IDS_APPNAME
    ql.stack_push(0x111)    # WM_COMMAND
    ql.stack_push(0)

    # push return address
    ql.stack_push(0x0401018)

    # resume emulation from DialogFunc address
    ql.arch.regs.eip = lpDialogFunc


if __name__ == "__main__":
    # initialize Qiling instance
    ql = Qiling([r'rootfs/x86_windows/bin/Easy_CrackMe.exe'], r'rootfs/x86_windows')

    # NOP out some code
    ql.patch(0x004010B5, b'\x90\x90')
    ql.patch(0x004010CD, b'\x90\x90')
    ql.patch(0x0040110B, b'\x90\x90')
    ql.patch(0x00401112, b'\x90\x90')

    # hook at an address with a callback
    ql.hook_address(force_call_dialog_func, 0x00401016)
    ql.run()

Il video YouTube qui sotto mostra come funziona l'esempio sopra.

Emulazione del firmware del router ARM su host Ubuntu x64

Qiling Framework applica patch a caldo ed emula /usr/bin/httpd di un router ARM su un host Ubuntu x86_64.

Tutorial Qiling: Emulazione e Fuzzing del firmware di un router ARM

Plugin IDA Pro di Qiling: Strumentazione e Decifratura del Segreto di Mirai

Questo video mostra come il plugin IDA Pro di Qiling può far funzionare IDA Pro con il motore di strumentazione di Qiling.

Plugin IDA Pro di Qiling: Strumentazione e Decifratura del Segreto di Mirai

Demo del server GDB con IDA Pro

Risoluzione di una semplice sfida CTF con Qiling Framework e IDA Pro

Risoluzione di una semplice sfida CTF con Qiling Framework e IDA Pro

Emulazione MBR

Qiling Framework emula MBR

Emulazione MBR con Qiling


Qltool

Qiling fornisce anche uno strumento amichevole chiamato qltool per emulare rapidamente shellcode e binari eseguibili.

Con qltool, è possibile eseguire facilmente:

Con shellcode:

root@kitploit:~
$ ./qltool code --os linux --arch arm --format hex -f examples/shellcodes/linarm32_tcp_reverse_shell.hex

Con file binario:

root@kitploit:~
$ ./qltool run -f examples/rootfs/x8664_linux/bin/x8664_hello --rootfs  examples/rootfs/x8664_linux/

Con binario e debugger GDB abilitato:

root@kitploit:~
$ ./qltool run -f examples/rootfs/x8664_linux/bin/x8664_hello --gdb 127.0.0.1:9999 --rootfs examples/rootfs/x8664_linux

Con raccolta di copertura del codice (solo UEFI per ora):

root@kitploit:~
$ ./qltool run -f examples/rootfs/x8664_efi/bin/TcgPlatformSetupPolicy --rootfs examples/rootfs/x8664_efi --coverage-format drcov --coverage-file TcgPlatformSetupPolicy.cov

Con output JSON (principalmente Windows):

root@kitploit:~
$ ./qltool run -f examples/rootfs/x86_windows/bin/x86_hello.exe --rootfs  examples/rootfs/x86_windows/ --console False --json

Contatti

Ottieni le ultime informazioni dal nostro sito web https://www.qiling.io

Contattaci via email [email protected], tramite Twitter @qiling_io.


Sviluppatori principali, Contributori chiave e altro

Si prega di fare riferimento a CREDITS.md.

Scarica lo strumento