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
Kam1n0-Community — Plateforme d'analyse d'assemblage évolutive pour l'indexation, la recherche de clones et la classification d'exécutables à l'aide de techniques statiques, dynamiques et d'apprentissage automatique sur plusieurs architectures. | Kitploit
Outils/GitHubGitHub/mcgill-dmas/kam1n0-community
Analyse des VulnérabilitésAnalyse de CodeRétro-ingénierieFuzzingAnalyse de BinairesApprentissage Automatique
GitHubmcgill-dmas/kam1n0-community

Kam1n0-Community

Plateforme d'analyse d'assemblage évolutive pour l'indexation, la recherche de clones et la classification d'exécutables à l'aide de techniques statiques, dynamiques et d'apprentissage automatique sur plusieurs architectures.

Voir le dépôt
62712423il y a 3 ansVé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

Qu'est-ce que Kam1n0 v2 ?

image GitHub (pre-)release Github All Releases JDK PRs Welcome

Build latest development release (Windows) Test release build (Windows)

Kam1n0 v2.x est une plateforme évolutive de gestion et d'analyse d'assembly. Elle permet à un utilisateur d'indexer d'abord une (grande) collection de binaires dans différents dépôts et de fournir divers services analytiques tels que la recherche de clones et la classification. Elle prend en charge l'accès multi-tenant et la gestion des dépôts d'assembly en utilisant le concept d'Application. Une instance d'application contient son propre dépôt exclusif et fournit un service analytique spécialisé. Compte tenu de la polyvalence des tâches de rétro-ingénierie, le serveur Kam1n0 v2.x propose actuellement trois types d'applications de recherche de clones : Asm-Clone, Sym1n0 et Asm2Vec , ainsi qu'une classification d'exécutables basée sur Asm2Vec. De nouveaux types d'applications peuvent être ajoutés ultérieurement à la plateforme.

Un utilisateur peut créer plusieurs instances d'application. Une instance d'application peut être partagée entre un groupe spécifique d'utilisateurs. L'accès en lecture-écriture au dépôt de l'application et son état d'activation/désactivation peuvent être contrôlés par le propriétaire de l'application. Le serveur Kam1n0 v2.x peut servir les applications simultanément en utilisant plusieurs pools de ressources partagées.

Kam1n0 a été développé par Steven H. H. Ding et Miles Q. Li sous la supervision de Benjamin C. M. Fung du Data Mining and Security Lab à l'Université McGill au Canada. Il a remporté le deuxième prix du Hex-Rays Plug-In Contest 2015. Si vous trouvez Kam1n0 utile, veuillez citer notre article :

  • S. H. H. Ding, B. C. M. Fung, and P. Charland. Kam1n0: MapReduce-based Assembly Clone Search for Reverse Engineering. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (SIGKDD), pages 461-470, San Francisco, CA: ACM Press, August 2016.

  • S. H. H. Ding, B. C. M. Fung, and P. Charland. Asm2Vec: boosting static representation robustness for binary clone search against code obfuscation and compiler optimization. In Proceedings of the 40th IEEE Symposium on Security and Privacy (S&P), 18 pages, San Francisco, CA: IEEE Computer Society, May 2019.

Asm-Clone

Les applications Asm-Clone tentent de résoudre le problème de recherche efficace de sous-graphes (c'est-à-dire le problème d'isomorphisme de graphes) pour les fonctions d'assembly (temps de requête moyen <1,3 s et temps d'indexation moyen <30 ms pour 2,3 millions de fonctions). Étant donné une fonction cible (celle de gauche comme illustré ci-dessous), elle peut identifier les sous-graphes clonés parmi d'autres fonctions du dépôt (celui de droite comme illustré ci-dessous).

  • Type d'application : Asm-Clone
  • Le service de recherche de clones original utilisé dans Kam1n0 v1.x.
  • Prend actuellement en charge Meta-PC, ARM, PowerPC et TMS320c6 (expérimental).
  • Prend en charge la recherche de clones de sous-graphes au sein d'une certaine famille de code d'assembly.
    • + Bonne interprétabilité du résultat : décomposition en sous-graphes.
    • + Précis pour la recherche au sein de la famille de code donnée.
    • + Utile pour différencier divers correctifs ou versions pour les gros binaires.
    • - Relativement plus sensible aux changements de jeu d'instructions, aux optimisations et à l'obfuscation.
    • - Nécessité de prédéfinir la syntaxe du langage d'assembly.
    • - Nécessité d'avoir du code d'assembly de la même famille choisie dans le dépôt.

Sym1n0

Recherche de clones sémantiques par fuzz testing différencié et résolution de contraintes. Une approche hybride dynamique-statique efficace et évolutive (temps de requête moyen <1 s et temps d'indexation moyen <100 ms pour 1,5 million de fonctions). Étant donné une fonction cible (celle de gauche comme illustré ci-dessous), elle peut identifier les sous-graphes clonés parmi d'autres fonctions du dépôt (celui de droite comme illustré ci-dessous). Prend en charge la visualisation du graphe syntaxique abstrait.

  • Type d'application : Sym1n0 (v2 uniquement)
  • Recherche de clones par exécution symbolique et exécution concrète.
  • Différenciation des fonctions en fonction de leur comportement d'E/S différent.
  • Recherche de clones effectuée sur le graphe syntaxique abstrait construit à partir du Vex IR (propulsé par LibVex).
    • + Recherche de clones entre différentes familles de code d'assembly.
      • Par exemple, binaires x86 indexés mais la requête est du code ARM.
    • + Recherche de clones de sous-graphes.
    • + Prise en charge d'un large éventail de familles via LibVex.
      • x86, AMD64, MIPS32, MIPS64, PowerPC32, PowerPC64, ARM32 et ARM64.
    • + Une approche hybride dynamique-statique efficace.
    • + Idéal pour analyser les firmwares compilés pour différents processeurs.
    • - Sensible aux manipulations lourdes de graphes (telles qu'un aplatissement complet).
    • - Sensible à la décomposition à grande échelle de l'intégrité des blocs de base.

Asm2Vec

Asm2Vec exploite l'apprentissage par représentation. Il comprend la relation sémantique lexicale du code d'assembly. Par exemple, les registres xmm* sont sémantiquement liés aux opérations vectorielles telles que addps. memcpy est similaire à strcpy. Le graphique ci-dessous présente différentes fonctions d'assembly compilées à partir du même code source de gmpz_tdiv_r_2exp dans libgmp. De gauche à droite, les fonctions d'assembly sont compilées avec les options GCC O0, GCC O3, l'obfuscateur O-LLVM Control Flow Graph, l'option Flattening et l'option LLVM obfuscator Bogus Control Flow Graph. Asm2Vec peut les identifier statiquement comme clones.

Télécharger l’outil