Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/qilingframework/qiling
Фреймворки для пентестаДинамический анализ (песочница)ЭксплуатацияОбратная инженерияОтладчикиФаззингАнализ вредоносных программАнализ Бинарных ФайловОбучение и ОбразованиеАнализ ПрошивокТоп в Анализ Прошивок №19
6.1k79671 день назадПроверено Kitploit
GitHubqilingframework/qiling

qiling

Полноценный инструментируемый фреймворк для эмуляции двоичного кода

РепозиторийСайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Documentation Status Downloads Chat on Telegram


Сценарии использования Qiling, блог и связанные работы

Qiling — это продвинутый фреймворк для эмуляции бинарных файлов, обладающий следующими возможностями:

  • Эмуляция нескольких платформ: Windows, macOS, Linux, Android, BSD, UEFI, DOS, MBR.
  • Эмуляция нескольких архитектур: 8086, X86, X86_64, ARM, ARM64, MIPS, RISC-V, PowerPC.
  • Поддержка множества форматов файлов: PE, Mach-O, ELF, COM, MBR.
  • Поддержка драйверов Windows (.sys), модулей ядра Linux (.ko) и macOS (.kext) через Demigod.
  • Эмуляция и изоляция кода в изолированной среде.
  • Полностью настраиваемая песочница.
  • Детализированные API на уровне памяти, регистров, ОС и файловой системы.
  • Тонкая инструментация: возможность установки хуков на различных уровнях (инструкция/базовый блок/доступ к памяти/исключение/системный вызов/ввод-вывод и т.д.).
  • API уровня виртуальной машины, такие как сохранение и восстановление текущего состояния выполнения.
  • Поддержка отладки с перекрёстной архитектурой и платформой.
  • Встроенный отладчик с возможностью обратной отладки.
  • Динамическое «горячее» патчирование выполняемого кода на лету, включая загруженные библиотеки.
  • Полноценный фреймворк на Python, упрощающий создание собственных инструментов анализа безопасности.
  • Qiling также был представлен на различных международных конференциях.

    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 работает на базе Unicorn Engine.

    Посетите наш веб-сайт для получения дополнительной информации.


    Лицензия

    Эта программа является свободным программным обеспечением; вы можете распространять и/или изменять её в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения; либо версии 2 Лицензии, либо (по вашему выбору) любой более поздней версии.


    Qiling против других эмуляторов

    Существует множество эмуляторов с открытым исходным кодом, но два проекта, наиболее близкие к Qiling: Unicorn и QEMU user mode. В этом разделе объясняются основные различия между Qiling и ними.

    Qiling против Unicorn engine

    Построенный на основе Unicorn, но Qiling и Unicorn — это две разные сущности.

    • Unicorn — это просто эмулятор ЦП, поэтому он фокусируется на эмуляции инструкций ЦП, которые могут понимать память эмулятора. Помимо этого, Unicorn не знает о концепциях более высокого уровня, таких как динамические библиотеки, системные вызовы, обработка ввода-вывода или исполняемые форматы, такие как PE, Mach-O или ELF. В результате Unicorn может эмулировать только сырые машинные инструкции без контекста операционной системы (ОС).
    • Qiling спроектирован как фреймворк более высокого уровня, использующий Unicorn для эмуляции инструкций ЦП, но понимающий ОС: в нём есть загрузчики исполняемых форматов (для PE, Mach-O и ELF в настоящее время), динамические компоновщики (чтобы мы могли загружать и перемещать общие библиотеки), обработчики системных вызовов и ввода-вывода. По этой причине Qiling может запускать исполняемые двоичные файлы без необходимости в их родной ОС.
    Qiling против QEMU user mode

    Режим пользователя QEMU делает нечто подобное нашему эмулятору, а именно эмулирует целые исполняемые двоичные файлы кроссплатформенным способом. Однако Qiling предлагает несколько важных отличий от QEMU user mode:

    • Qiling — это настоящий фреймворк для анализа, который позволяет создавать на его основе собственные инструменты динамического анализа (на Python). В то же время QEMU — это просто инструмент, а не фреймворк.
    • Qiling может выполнять динамическую инструментацию и даже «горячее» патчирование кода во время выполнения. QEMU не умеет ни того, ни другого.
    • Qiling не только работает с разными архитектурами, но и является кроссплатформенным. Например, вы можете запустить файл ELF для Linux в среде Windows. Напротив, режим пользователя QEMU запускает только двоичные файлы той же ОС, например, Linux ELF на Linux, из-за способа перенаправления системных вызовов из эмулируемого кода в родную ОС.
    • Qiling поддерживает больше платформ, включая Windows, macOS, Linux и BSD. Режим пользователя QEMU может обрабатывать только Linux и BSD.

    Установка

    Пожалуйста, обратитесь к руководству по установке для получения информации о том, как установить Qiling Framework.


    Примеры

    Приведённый ниже пример демонстрирует наиболее простой способ использования Qiling framework для эмуляции исполняемого файла 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()
    
    • Следующий пример показывает, как crackme для Windows может быть динамически пропатчен, чтобы всегда отображать диалог «Congratulation».
    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()
    

    На видео ниже показано, как работает приведённый выше пример.

    Эмуляция прошивки маршрутизатора ARM на хосте Ubuntu x64

    Qiling Framework «горяче» патчит и эмулирует /usr/bin/httpd маршрутизатора ARM на хосте Ubuntu x86_64.

    Qiling Tutorial: Emulating and Fuzz ARM router firmware

    Плагин IDA Pro для Qiling: Инструментация и расшифровка секрета Mirai

    На этом видео показано, как плагин IDA Pro для Qiling позволяет запускать IDA Pro с движком инструментации Qiling.

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

    Демонстрация GDB sever с IDA Pro

    Решение простой задачи CTF с помощью Qiling Framework и IDA Pro.

    Solving a simple CTF challenge with Qiling Framework and IDA Pro

    Эмуляция MBR

    Qiling Framework эмулирует MBR

    Qiling DEMO: Emulating MBR


    Qltool

    Qiling также предоставляет удобный инструмент под названием qltool для быстрой эмуляции шеллкода и исполняемых двоичных файлов.

    С помощью qltool можно легко выполнять:

    С шеллкодом:

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

    С двоичным файлом:

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

    С двоичным файлом и включённым отладчиком GDB:

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

    Со сбором покрытия кода (только для UEFI на данный момент):

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

    С выводом в JSON (в основном для Windows):

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

    Контакты

    Получайте последнюю информацию на нашем веб-сайте https://www.qiling.io

    Свяжитесь с нами по электронной почте [email protected], через Twitter @qiling_io.


    Основные разработчики, ключевые участники и прочее

    Пожалуйста, обратитесь к CREDITS.md.

    Скачать инструмент