Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
qualcomm_baseband_scripts — Collection de scripts pour la rétro-ingénierie du firmware de bande de base / modem Qualcomm Hexagon | Kitploit
Outils/GitHubGitHub/mzakocs/qualcomm_baseband_scripts
Sécurité des Systèmes EmbarquésRétro-ingénierieSécurité MobileAnalyse de BinairesAnalyse de Micrologiciel
GitHubmzakocs/qualcomm_baseband_scripts

qualcomm_baseband_scripts

Collection de scripts pour la rétro-ingénierie du firmware de bande de base / modem Qualcomm Hexagon

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
19124il y a 3 ansVérifié par Kitploit

qualcomm_baseband_scripts

Collection de scripts pour la rétro-ingénierie du firmware baseband / modem Qualcomm

Tous les offsets/adresses dans les scripts ont été mis à jour pour le firmware Pixel 5 de mars et doivent être modifiés si vous utilisez une version différente.

Fusion

merge_modem_firmware.py fusionne tous les fichiers modem.b** (modem.b00, modem.b01, etc.) en un seul binaire monolithique nommé modem.bin. Cela rend son chargement dans IDA et Ghidra beaucoup plus facile.

Décompression

clade_extractor et dlpage_extractor décompressent les sections compressées CLADE et Delta.

clade_extractor est compilé pour x86 (ou votre architecture native) et sortira la section décompressée dans un fichier. Pour autant que je sache, il n'existe aucune information publique ni aucun code publié pour la compression CLADE de Qualcomm en dehors du brevet. CLADE a remplacé q6zip comme principale méthode de compression pour les modules en mode utilisateur et est un vrai casse-tête à rétro-ingénierer car il est principalement implémenté en matériel.

dlpage_extractor est compilé pour Hexagon et émulé dans QEMU (comme l'ont fait les travaux précédents). La mémoire décompressée devra ensuite être extraite dans GDB. Il y a aussi ici du code pour l'ancienne méthode de compression q6zip, bien qu'elle ne soit plus utilisée sur les nouveaux binaires de modem. La section delta ne contient que quelques structures de gestionnaires de commandes diag, c'est donc dans la section compressée CLADE que se trouve l'essentiel. Je ne me donnerais même pas la peine avec les nouveaux binaires, ce n'est là que pour les plus anciens.

Nouvelle fusion

Une fois que vous avez la section CLADE décompressée, vous pouvez exécuter add_decompressed_section_to_modem_bin.py pour l'ajouter à modem.bin. Cela peut être fait manuellement dans IDA et Ghidra, mais ce script rend le chargement et la sauvegarde des binaires finaux un peu plus faciles.

Rétro-ingénierie

qshrink4_qdb_ghidra_script.py décode tous les appels à msg_v4_send* en leurs chaînes de débogage respectives. Il ajoutera un commentaire en haut de chaque fonction qui les utilise. Ces chaînes de débogage sont incroyablement utiles pour la rétro-ingénierie car elles donnent toujours le nom du fichier et un certain contexte pour la fonction. Pour encore mieux, elles contiennent parfois des noms de fonctions, des noms de variables, et plus encore. Consultez le chemin de fichier qui est ouvert pour obtenir de l'aide sur la récupération du fichier qdb à partir du firmware Pixel 5. Continuez à extraire avec binwalk jusqu'à ce que vous obteniez ce qu'il vous faut.

diag_handler_locator_ghidra_script.py localise et renomme toutes les fonctions de gestionnaire de commandes diag selon un schéma de nommage <op1>_<op2>_diag_cmd_handler afin qu'elles soient plus faciles à rechercher dans Ghidra.

Crédits

Quelques scripts contiennent du code provenant d'autres sources. J'ai essayé de créditer tout le monde, mais j'ai peut-être oublié une ou deux personnes. Faites-le-moi savoir si j'ai utilisé votre code et oublié de vous créditer.

Si ce dépôt vous a aidé, mettez-lui une ⭐ !

Télécharger l’outil