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

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

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

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

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

Категории

Все категории
Loading categories
qualcomm_baseband_scripts — Набор скриптов для реверс-инжиниринга прошивок baseband / модема Qualcomm Hexagon | Kitploit
Инструменты/GitHubGitHub/mzakocs/qualcomm_baseband_scripts
Безопасность встроенных системОбратная инженерияМобильная безопасностьАнализ Бинарных ФайловАнализ Прошивок
GitHubmzakocs/qualcomm_baseband_scripts

qualcomm_baseband_scripts

Набор скриптов для реверс-инжиниринга прошивок baseband / модема Qualcomm Hexagon

Репозиторий

Популярное

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

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

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

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

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

qualcomm_baseband_scripts

Набор скриптов для реверс-инжиниринга прошивки модема Qualcomm.

Все смещения/адреса в скриптах обновлены для мартовской прошивки Pixel 5, и их нужно изменить при использовании другой версии.

Объединение

merge_modem_firmware.py объединяет все файлы modem.b** (modem.b00, modem.b01 и т. д.) в единый монолитный бинарный файл с именем modem.bin. Это значительно упрощает загрузку в IDA и Ghidra.

Декомпрессия

clade_extractor и dlpage_extractor декомпрессируют сжатые секции CLADE и Delta.

clade_extractor компилируется под x86 (или вашу родную архитектуру) и выводит распакованную секцию в файл. Насколько мне известно, публичной информации или кода по сжатию CLADE от Qualcomm нет, кроме патента. CLADE заменил q6zip в качестве основного метода сжатия пользовательских модулей, и его сложно реверсить, так как он в основном реализован в железе.

dlpage_extractor компилируется для Hexagon и эмулируется в QEMU (как это делалось в предыдущих работах). Затем распакованную память нужно дампнуть в GDB. Здесь также есть код для старого метода сжатия q6zip, хотя он больше не используется в новых бинарных файлах модема. В секции Delta всего пара структур обработчиков diag-команд, так что основная суть находится в сжатой секции CLADE. Я бы даже не заморачивался с ней на новых бинарных файлах — она здесь только для старых.

Повторное объединение

После получения распакованной секции CLADE вы можете запустить add_decompressed_section_to_modem_bin.py, чтобы добавить её в modem.bin. Это можно сделать вручную в IDA и Ghidra, но этот скрипт немного упрощает загрузку и резервное копирование итоговых бинарных файлов.

Реверс-инжиниринг

qshrink4_qdb_ghidra_script.py декодирует все вызовы msg_v4_send* в соответствующие отладочные строки. Он добавляет комментарий в начало каждой функции, которая их использует. Эти отладочные строки невероятно полезны для реверса, так как всегда содержат имя файла и некоторый контекст функции. Более того, иногда в них есть имена функций, имена переменных и многое другое. Посмотрите путь к открываемому файлу — там подсказка, как получить файл qdb из прошивки Pixel 5. Просто продолжайте извлекать binwalk, пока не получите нужное.

diag_handler_locator_ghidra_script.py находит и переименовывает все функции-обработчики diag-команд в схему именования <op1>_<op2>_diag_cmd_handler, чтобы их было проще искать в Ghidra.

Благодарности

В некоторых скриптах используется код из других источников. Я старался указать авторство везде, но мог забыть одного-двух. Пожалуйста, сообщите, если я использовал ваш код и забыл указать вас.

Если этот репозиторий помог вам, поставьте ⭐!

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