Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
Outils/GitHubGitHub/seekbytes/ptxninja
Analyse StatiqueAnalyse de CodeRétro-ingénierieUtilitaires et FrameworksSécurité Matériel et IoTAnalyse de Binaires
GitHubseekbytes/ptxninja

ptxNinja

Plugin Binary Ninja pour le reverse engineering de PTX -- l'architecture de jeu d'instructions virtuelle des GPU basés sur CUDA.

Voir le dépôt
62412il y a 6 moisVérifié par Kitploit

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

ptxNinja

Auteur : Nicolò Altamura

Explorez le code PTX via Binary Ninja

Description

ptxNinja est un plugin d'architecture pour Binary Ninja ciblant PTX, le langage de l'architecture virtuelle des GPU basés sur CUDA. Cela vous permet de :

  • explorer les binaires PTX en intégrant des analyses déjà disponibles
  • naviguer à travers les kernels et fonctions GPU
  • intégrer PTX dans vos outils automatisés existants grâce à Binary Ninja

Mécanisme d'attention rétro-ingénierie (PTX)

Installation

Le plugin peut être installé via le gestionnaire de plugins de Binary Ninja.

Pour une installation manuelle, suivez ces étapes dans le dossier des plugins de Binary Ninja :

root@kitploit:~
git clone https://github.com/seekbytes/ptxninja.git
cd ptxninja

# optionally: use a virtual environment
python -m venv ptxninja-env
source ptxninja-env/bin/activate

# install requirements
pip install ptx-parser

Si vous utilisez un environnement virtuel, vous devrez définir manuellement le chemin site-packages dans les paramètres de Binary Ninja.

Exemples

Si vous ne savez pas par où commencer, ou si vous n'avez jamais vu de fichier PTX, vous pouvez consulter quelques kernels d'exemple dans le répertoire examples/. Ceux-ci incluent :

  • attention.ptx — kernel du mécanisme d'attention
  • elu.ptx — fonction d'activation ELU (Exponential Linear Unit)
  • gele.ptx — fonction d'activation GELU (Gaussian Error Linear Unit)
  • gemm.ptx — Multiplication Matricielle Générale
  • histogram.ptx — kernel de calcul d'histogramme
  • layernorm.ptx — kernel de Normalisation de Couche
  • matrix.ptx — opérations matricielles
  • multi_tensor.ptx — opérations multi-tenseurs
  • reduce_sum.ptx — kernel de somme par réduction parallèle
  • relu.ptx — fonction d'activation ReLU
  • softmax.ptx — fonction d'activation Softmax

Limitations

PTX est basé sur un langage au format texte et la sortie de nvdisasm/cuobjdump contient déjà beaucoup d'informations insérées dans les binaires. Traiter du texte nécessite de construire une grammaire précise pour tester le parseur, cependant il existe certaines limites :

  • les labels sont occasionnellement mal associés à leur instruction cible, ce qui peut entraîner une visualisation incorrecte du flux de contrôle dans Binary Ninja
  • les déclarations globales déclarées en dehors de la portée des fonctions ne sont pas prises en charge
  • l'espace mémoire alloué en dehors des fonctions n'est pas mappé
  • toutes les opérations atomiques (atom) ne sont pas entièrement prises en charge
  • les noms de symboles ne sont pas démanglés — l'embellissement par cuobjdump/cufilt n'est pas encore appliqué

Contact

Pour plus d'informations, contactez Nicolò Altamura (@nicolodev).

Télécharger l’outil