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
Outils/GitHubGitHub/renukaselvar/libunwind_cve-2015-3239_after
Criminalistique MémoireAnalyse des VulnérabilitésExploitationRétro-ingénierieDébogueursAnalyse de Binaires
GitHubrenukaselvar/libunwind_cve-2015-3239_after

libunwind_CVE-2015-3239_After

Bibliothèque pour dérouler les piles d'appels du processeur, prenant en charge plusieurs architectures et systèmes d'exploitation, avec des instructions de construction et de tests de régression.

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
Voir le dépôt
6il y a 1 anPas encore vérifié

-- mode: Outline --

Ceci est la version 1.0 de la bibliothèque unwind. Cette bibliothèque prend en charge plusieurs combinaisons architecture/système d'exploitation :

Linux/x86-64 : Fonctionne bien. Linux/x86 : Fonctionne bien. Linux/ARM : Fonctionne bien. Linux/IA-64 : Entièrement testé et pris en charge. Linux/PARISC : Fonctionne bien, mais la bibliothèque C manque d'informations unwind. HP-UX/IA-64 : Fonctionne en grande partie mais présente des limitations sérieuses connues. Linux/AArch64 : Nouvellement ajouté. Linux/PPC64 : Nouvellement ajouté. Linux/SuperH : Nouvellement ajouté. FreeBSD/i386 : Nouvellement ajouté. FreeBSD/x86-64 : Nouvellement ajouté (l'architecture FreeBSD est connue sous le nom d'amd64).

  • Instructions générales de compilation

En général, cette bibliothèque peut être compilée et installée avec les commandes suivantes :

root@kitploit:~
$ autoreconf -i # Nécessaire uniquement pour la compilation depuis git. Dépend de libtool.
$ ./configure
$ make
$ make install prefix=PREFIX

où PREFIX est le préfixe d'installation. Par défaut, un préfixe de /usr/local est utilisé, de sorte que libunwind.a est installé dans /usr/local/lib et unwind.h dans /usr/local/include. Pour les tests, vous pouvez utiliser un préfixe de /usr/local à la place.

  • Compilation avec le compilateur Intel

** Version 8 et ultérieures

À partir de la version 8, le nom préféré pour le compilateur Intel IA-64 est "icc" (le même nom que sur x86). Ainsi, la ligne de configuration devrait ressembler à ceci :

root@kitploit:~
$ ./configure CC=icc CFLAGS="-g -O3 -ip" CXX=icc CCAS=gcc CCASFLAGS=-g \
	LDFLAGS="-L$PWD/src/.libs"
  • Compilation sur HP-UX

Pour l'instant, libunwind doit être compilé avec GCC sur HP-UX.

libunwind doit être configuré et installé sur HP-UX comme ceci :

root@kitploit:~
$ ./configure CFLAGS="-g -O2 -mlp64" CXXFLAGS="-g -O2 -mlp64"

Attention : Le déroulement (unwinding) des binaires 32 bits (ILP32) n'est pas pris en charge pour le moment.

** Solution de contournement pour les anciennes versions de GCC

GCC v3.0 et GCC v3.2 sont livrés avec une version défectueuse de sys/types.h. La solution de contournement consiste à exécuter les commandes suivantes avant de lancer "configure" :

root@kitploit:~
$ mkdir $top_dir/include/sys
$ cp /usr/include/sys/types.h $top_dir/include/sys

GCC v3.3.2 ou version ultérieure a été corrigé et ne nécessite pas cette solution de contournement.

  • Compilation pour PowerPC64 / Linux

Pour compiler pour power64, vous devez utiliser :

$ ./configure CFLAGS="-g -O2 -m64" CXXFLAGS="-g -O2 -m64"

Si votre processeur prend en charge les registres altivec : $ ./configure CFLAGS="-g -O2 -m64 -maltivec" CXXFLAGS="-g -O2 -m64 -maltivec"

Pour vérifier si votre processeur prend en charge les registres vectoriels (altivec) : cat /proc/cpuinfo | grep altivec et devrait afficher quelque chose comme : cpu : PPC970, altivec supported

Si libunwind ne semble pas fonctionner (échec du backtracing), essayez de le compiler avec -O0, sans optimisations. Il existe certains problèmes de compilateur selon la version de votre gcc.

  • Compilation sur FreeBSD

Les instructions générales de compilation s'appliquent. Pour compiler et exécuter plusieurs tests, vous avez besoin de la bibliothèque libexecinfo disponible dans les ports en tant que devel/libexecinfo.

Le développement du port a été effectué sur FreeBSD 8.0-STABLE. La bibliothèque a été compilée avec le compilateur système qui est une version modifiée de gcc 4.2.1, ainsi qu'avec gcc 4.4.3.

  • Tests de régression

Après avoir compilé la bibliothèque, vous pouvez exécuter une série de tests de régression avec :

root@kitploit:~
$ make check

** Résultats attendus sur IA-64 Linux

Sauf si vous disposez d'une bibliothèque C et d'un compilateur très récents, il est actuellement attendu que les tests suivants échouent sur IA-64 Linux :

root@kitploit:~
Gtest-init		(devrait réussir à partir de glibc-2.3.x/gcc-3.4)
Ltest-init		(devrait réussir à partir de glibc-2.3.x/gcc-3.4)
test-ptrace		(devrait réussir à partir de glibc-2.3.x/gcc-3.4)
run-ia64-test-dyn1	(devrait réussir à partir de glibc-2.3.x)

Cela ne signifie pas que libunwind ne peut pas être utilisé avec des compilateurs ou bibliothèques C plus anciens, cela signifie simplement que pour certains cas particuliers, le déroulement (unwinding) échouera. Comme ce sont des cas particuliers, il est peu probable que les applications les déclenchent.

Remarque : Si vous obtenez beaucoup d'erreurs dans Gia64-test-nat et Lia64-test-nat, c'est presque certainement le signe d'un assembleur ancien. L'assembleur GNU avait l'habitude de coder incorrectement les décalages relatifs au pointeur de pile précédent. Ce bug a été corrigé le 21-Sep-2004, donc tout assembleur ultérieur fonctionnera correctement.

** Résultats attendus sur x86 Linux

Les tests suivants devraient échouer sur x86 Linux :

root@kitploit:~
Gtest-resume-sig	(ne parvient pas à obtenir SIGUSR2)
Ltest-resume-sig	(de même)
Gtest-dyn1		(aucune prise en charge des informations de déroulement dynamique pour le moment)
Ltest-dyn1		(aucune prise en charge des informations de déroulement dynamique pour le moment)
test-setjmp		(longjmp() pas encore implémenté)
run-check-namespace	(pas encore de _Ux86_getcontext)
test-ptrace

** Résultats attendus sur x86-64 Linux

Les tests suivants devraient échouer sur x86-64 Linux :

root@kitploit:~
Gtest-dyn1		(aucune prise en charge des informations de déroulement dynamique pour le moment)
Ltest-dyn1		(aucune prise en charge des informations de déroulement dynamique pour le moment)
Gtest-init (voir http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18743)
Ltest-init		(de même)
test-async-sig		(plante à cause de mauvaises informations de déroulement ?)
test-setjmp		(longjmp() pas encore implémenté)
run-check-namespace	(pas encore de _Ux86_64_getcontext)
run-ptrace-mapper	(??? à investiguer)
run-ptrace-misc	(voir http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18748
		 et http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18749)

** Résultats attendus sur PARISC Linux

Attention : GCC v3.4 ou plus récent est nécessaire sur PA-RISC Linux. Les versions antérieures du compilateur ne parvenaient pas à générer l'en-tête de programme de gestion des exceptions (GNU_EH_FRAME) nécessaire au déroulement.

Les tests suivants devraient échouer sur x86-64 Linux :

root@kitploit:~
Gtest-bt   (backtrace tronqué à kill() en raison d'un manque d'informations de déroulement)
Ltest-bt   (de même)
Gtest-resume-sig  (Gresume.c:my_rt_sigreturn() est incorrect d'une certaine manière)
Ltest-resume-sig  (de même)
Gtest-init (de même)
Ltest-init (de même)
Gtest-dyn1 (aucune prise en charge des informations de déroulement dynamique pour le moment)
Ltest-dyn1 (aucune prise en charge des informations de déroulement dynamique pour le moment)
test-setjmp		(longjmp() pas encore implémenté)
run-check-namespace	(la chaîne d'outils ne prend pas encore en charge HIDDEN)

** Résultats attendus sur HP-UX

"make check" n'est actuellement pas pris en charge pour HP-UX. Vous pouvez essayer de l'exécuter, mais la plupart des tests échoueront (et certains pourraient ne pas se terminer). Les seuls programmes de test qui sont connus pour fonctionner à ce stade sont :

root@kitploit:~
 tests/bt
 tests/Gperf-simple
 tests/test-proc-info
 tests/test-static-link
 tests/Gtest-init
 tests/Ltest-init
 tests/Gtest-resume-sig
 tests/Ltest-resume-sig

** Résultats attendus sur PPC64 Linux

"make check" devrait s'exécuter avec un maximum de 10 tests échoués sur 24.

  • Tests de performance

Cette distribution inclut quelques tests de performance simples qui donnent une idée du coût de base de diverses opérations de libunwind. Après avoir compilé la bibliothèque, vous pouvez exécuter ces tests avec les commandes suivantes :

$ cd tests $ make perf

  • Contacter les développeurs

Veuillez adresser toutes les questions concernant cette bibliothèque à :

root@kitploit:~
[email protected]

Vous pouvez le faire en envoyant un courrier à [email protected] avec le corps suivant :

root@kitploit:~
subscribe libunwind-devel

ou vous pouvez vous abonner et gérer votre abonnement via l'interface web à l'adresse :

root@kitploit:~
https://savannah.nongnu.org/mail/?group=libunwind
Télécharger l’outil