Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
qiling — Ein echtes instrumentierbares Binary-Emulations-Framework | Kitploit
Tools/GitHubGitHub/qilingframework/qiling
Penetrationstest-FrameworksDynamische Analyse (Sandboxing)ExploitationReverse EngineeringDebuggerFuzzingMalware-AnalyseBinäranalyseLernen & BildungFirmware-Analyse
GitHubqilingframework/qiling

qiling

6.1k796vor 3 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ein echtes instrumentierbares Binary-Emulations-Framework

Repository anzeigenWebseite

Documentation Status Downloads Chat on Telegram


Qilings Anwendungsfall, Blog und verwandte Arbeiten

Qiling ist ein fortschrittliches Binary-Emulations-Framework mit den folgenden Funktionen:

  • Emuliert mehrere Plattformen: Windows, macOS, Linux, Android, BSD, UEFI, DOS, MBR.
  • Emuliert mehrere Architekturen: 8086, X86, X86_64, ARM, ARM64, MIPS, RISC-V, PowerPC.
  • Unterstützt mehrere Dateiformate: PE, Mach-O, ELF, COM, MBR.
  • Unterstützt Windows-Treiber (.sys), Linux-Kernel-Module (.ko) und macOS-Kernel (.kext) über Demigod.
  • Emuliert und sandboxt Code in einer isolierten Umgebung.
  • Bietet eine vollständig konfigurierbare Sandbox.
  • Bietet detaillierte APIs auf Speicher-, Register-, Betriebssystem- und Dateisystemebene.
  • Feingranulare Instrumentierung: ermöglicht Hooks auf verschiedenen Ebenen (Instruktion/Basic-Block/Speicherzugriff/Ausnahme/Syscall/IO/usw.)
  • Bietet APIs auf virtueller Maschinenebene, wie das Speichern und Wiederherstellen des aktuellen Ausführungszustands.
  • Unterstützt plattform- und architekturübergreifende Debugging-Fähigkeiten.
  • Integrierter Debugger mit Reverse-Debugging-Fähigkeit.
  • Ermöglicht dynamisches Hot-Patching von laufendem Code, einschließlich geladener Bibliotheken.
  • Echtes Framework in Python, das es einfach macht, darauf maßgeschneiderte Sicherheitsanalysetools zu erstellen.

Qiling hat auch seinen Weg zu verschiedenen internationalen Konferenzen gefunden.

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 wird von der Unicorn Engine unterstützt.

Besuchen Sie unsere Website für weitere Informationen.


Lizenz

Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren; entweder gemäß Version 2 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version.


Qiling im Vergleich zu anderen Emulatoren

Es gibt viele Open-Source-Emulatoren, aber die beiden Projekte, die Qiling am nächsten kommen, sind Unicorn und QEMU user mode. In diesem Abschnitt werden die Hauptunterschiede von Qiling zu diesen erläutert.

Qiling vs. Unicorn Engine

Auf Unicorn aufbauend, aber Qiling und Unicorn sind zwei verschiedene Paar Schuhe.

  • Unicorn ist nur ein CPU-Emulator, konzentriert sich also auf die Emulation von CPU-Instruktionen und kann den Emulator-Speicher verstehen. Darüber hinaus kennt Unicorn keine höheren Konzepte wie dynamische Bibliotheken, Systemaufrufe, I/O-Behandlung oder ausführbare Formate wie PE, Mach-O oder ELF. Daher kann Unicorn nur rohe Maschineninstruktionen ohne Betriebssystemkontext emulieren.
  • Qiling ist als Framework auf höherer Ebene konzipiert, das Unicorn zur Emulation von CPU-Instruktionen nutzt, aber auch das Betriebssystem versteht: Es verfügt über Lader für ausführbare Formate (derzeit für PE, Mach-O und ELF), dynamische Linker (um gemeinsam genutzte Bibliotheken zu laden und zu verschieben) sowie Syscall- und I/O-Handler. Aus diesem Grund kann Qiling ausführbare Binärdateien ohne ihr natives Betriebssystem ausführen.
Qiling vs. QEMU user mode

Der QEMU-Benutzermodus macht etwas Ähnliches wie unser Emulator, nämlich die Emulation ganzer ausführbarer Binärdateien auf architekturübergreifende Weise. Allerdings bietet Qiling einige wichtige Unterschiede zum QEMU-Benutzermodus:

  • Qiling ist ein echtes Analyse-Framework, mit dem Sie Ihre eigenen dynamischen Analysetools darauf aufbauen können (in Python). QEMU hingegen ist nur ein Werkzeug, kein Framework.
  • Qiling kann dynamische Instrumentierung durchführen und sogar Code zur Laufzeit hot-pachen. QEMU kann keines von beidem.
  • Qiling ist nicht nur architekturübergreifend, sondern auch plattformübergreifend. Sie können beispielsweise eine Linux-ELF-Datei unter Windows ausführen. Im Gegensatz dazu führt der QEMU-Benutzermodus nur Binärdateien desselben Betriebssystems aus, wie Linux-ELF unter Linux, aufgrund der Art und Weise, wie er Syscalls von emuliertem Code an das native Betriebssystem weiterleitet.
  • Qiling unterstützt mehr Plattformen, darunter Windows, macOS, Linux und BSD. Der QEMU-Benutzermodus kann nur Linux und BSD verarbeiten.

Installation

Bitte lesen Sie die Setup-Anleitung zur Installation des Qiling Frameworks.


Beispiele

Das folgende Beispiel zeigt, wie man das Qiling Framework auf die einfachste Weise verwendet, um eine Windows-ausführbare Datei zu emulieren.

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()
  • Das folgende Beispiel zeigt, wie ein Windows-Crackme dynamisch gepatcht werden kann, um stets den „Gratulation“-Dialog anzuzeigen.
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()

Das folgende YouTube-Video zeigt, wie das obige Beispiel funktioniert.

Emulieren von ARM-Router-Firmware auf einem Ubuntu x64-Host

Qiling Framework hot-patchet und emuliert das /usr/bin/httpd eines ARM-Routers auf einem x86_64-Ubuntu-Host.

Qiling Tutorial: Emulating and Fuzz ARM router firmware

Qilings IDA-Pro-Plugin: Instrumentieren und Entschlüsseln von Mirais Geheimnis

Dieses Video demonstriert, wie das IDA-Pro-Plugin von Qiling es IDA Pro ermöglicht, mit der Qiling-Instrumentierungs-Engine zu laufen.

Qiling's IDA Pro Plugin: Instrument and Decrypt Mirai's Secret

GDB-Server mit IDA-Pro-Demo

Lösen einer einfachen CTF-Herausforderung mit Qiling Framework und IDA Pro

Solving a simple CTF challenge with Qiling Framework and IDA Pro

Emulieren von MBR

Qiling Framework emuliert MBR

Qiling DEMO: Emulating MBR


Qltool

Qiling bietet auch ein benutzerfreundliches Tool namens qltool, um schnell Shellcode und ausführbare Binärdateien zu emulieren.

Mit qltool kann eine einfache Ausführung durchgeführt werden:

Mit Shellcode:

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

Mit Binärdatei:

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

Mit Binärdatei und aktiviertem GDB-Debugger:

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

Mit Code-Coverage-Erfassung (derzeit nur UEFI):

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

Mit JSON-Ausgabe (hauptsächlich Windows):

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

Kontakt

Die neuesten Informationen erhalten Sie auf unserer Website https://www.qiling.io

Kontaktieren Sie uns per E-Mail an [email protected] oder über Twitter @qiling_io.


Hauptentwickler, Hauptbeitragende usw.

Bitte beachten Sie die CREDITS.md.

Tool herunterladen