Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
libunwind_CVE-2015-3239 — C-Bibliothek für Stack-Unwinding und Backtrace-Erzeugung, die mehrere Architekturen und Betriebssysteme unterstützt, mit Anweisungen zum Erstellen und für Regressionstests. | Kitploit
Tools/GitHubGitHub/renukaselvar/libunwind_cve-2015-3239
SpeicherforensikSchwachstellenanalyseExploitationReverse EngineeringDebuggerBinäranalyse
GitHubrenukaselvar/libunwind_cve-2015-3239

libunwind_CVE-2015-3239

C-Bibliothek für Stack-Unwinding und Backtrace-Erzeugung, die mehrere Architekturen und Betriebssysteme unterstützt, mit Anweisungen zum Erstellen und für Regressionstests.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
18vor 1 JahrNoch nicht geprüft

-- mode: Outline --

Dies ist Version 1.0 der Unwind-Bibliothek. Diese Bibliothek unterstützt mehrere Architektur/Betriebssystem-Kombinationen:

Linux/x86‑64: Funktioniert gut. Linux/x86: Funktioniert gut. Linux/ARM: Funktioniert gut. Linux/IA‑64: Vollständig getestet und unterstützt. Linux/PARISC: Funktioniert gut, aber die C‑Bibliothek fehlt Unwind-Informationen. HP‑UX/IA‑64: Funktioniert größtenteils, hat aber bekannte ernsthafte Einschränkungen. Linux/AArch64: Neu hinzugefügt. Linux/PPC64: Neu hinzugefügt. Linux/SuperH: Neu hinzugefügt. FreeBSD/i386: Neu hinzugefügt. FreeBSD/x86‑64: Neu hinzugefügt (FreeBSD‑Architektur ist als amd64 bekannt).

  • Allgemeine Build-Anleitung

Im Allgemeinen kann diese Bibliothek mit den folgenden Befehlen erstellt und installiert werden:

$ autoreconf -i # Nur für Build aus Git nötig. Hängt von libtool ab.
$ ./configure
$ make
$ make install prefix=PREFIX

wobei PREFIX das Installationspräfix ist. Standardmäßig wird ein Präfix von /usr/local verwendet, sodass libunwind.a in /usr/local/lib und unwind.h in /usr/local/include installiert werden. Für Testzwecke können Sie ein Präfix von /usr/local verwenden.

  • Bauen mit dem Intel-Compiler

** Version 8 und neuer

Ab Version 8 lautet der bevorzugte Name für den IA‑64 Intel‑Compiler „icc“ (gleicher Name wie auf x86). Daher sollte die configure-Zeile wie folgt aussehen:

$ ./configure CC=icc CFLAGS="-g -O3 -ip" CXX=icc CCAS=gcc CCASFLAGS=-g \
	LDFLAGS="-L$PWD/src/.libs"
  • Bauen auf HP‑UX

Vorläufig muss libunwind auf HP‑UX mit GCC gebaut werden.

libunwind sollte auf HP‑UX wie folgt konfiguriert und installiert werden:

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

Achtung: Das Entwinden von 32‑Bit‑Binärdateien (ILP32) wird derzeit nicht unterstützt.

** Workaround für ältere GCC‑Versionen

GCC v3.0 und GCC v3.2 werden mit einer fehlerhaften Version von sys/types.h ausgeliefert. Der Workaround besteht darin, vor dem Ausführen von „configure“ die folgenden Befehle auszuführen:

$ mkdir $top_dir/include/sys
$ cp /usr/include/sys/types.h $top_dir/include/sys

GCC v3.3.2 oder neuer wurden korrigiert und benötigen diesen Workaround nicht.

  • Bauen für PowerPC64 / Linux

Für das Bauen für power64 sollten Sie verwenden:

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

Wenn Ihr Power Altivec-Register unterstützt: $ ./configure CFLAGS="-g -O2 -m64 -maltivec" CXXFLAGS="-g -O2 -m64 -maltivec"

Um zu prüfen, ob Ihr Prozessor Vektorregister (Altivec) unterstützt: cat /proc/cpuinfo | grep altivec und sollte etwa Folgendes anzeigen: cpu : PPC970, altivec supported

Wenn libunwind nicht zu funktionieren scheint (Backtracing schlägt fehl), versuchen Sie, es mit -O0, ohne Optimierungen, zu kompilieren. Es gibt einige Compilerprobleme, je nach Version Ihres gcc.

  • Bauen auf FreeBSD

Die allgemeine Bauanleitung gilt. Um mehrere Tests zu bauen und auszuführen, benötigen Sie die Bibliothek libexecinfo, die in den Ports als devel/libexecinfo verfügbar ist.

Die Entwicklung des Ports wurde auf FreeBSD 8.0‑STABLE durchgeführt. Die Bibliothek wurde mit dem Systemcompiler gebaut, einer modifizierten Version von gcc 4.2.1, sowie mit gcc 4.4.3.

  • Regressionstests

Nach dem Bau der Bibliothek können Sie eine Reihe von Regressionstests mit folgendem Befehl ausführen:

$ make check

** Erwartete Ergebnisse auf IA‑64 Linux

Sofern Sie keine sehr aktuelle C‑Bibliothek und keinen sehr aktuellen Compiler installiert haben, wird derzeit erwartet, dass die folgenden Tests auf IA‑64 Linux fehlschlagen:

Gtest-init		(sollte ab glibc‑2.3.x/gcc‑3.4 bestehen)
Ltest-init		(sollte ab glibc‑2.3.x/gcc‑3.4 bestehen)
test-ptrace		(sollte ab glibc‑2.3.x/gcc‑3.4 bestehen)
run-ia64-test-dyn1	(sollte ab glibc‑2.3.x bestehen)

Dies bedeutet nicht, dass libunwind nicht mit älteren Compilern oder C‑Bibliotheken verwendet werden kann, sondern nur dass das Entwinden in bestimmten Randfällen fehlschlägt. Da es sich um Randfälle handelt, ist es unwahrscheinlich, dass Anwendungen sie auslösen.

Hinweis: Wenn Sie viele Fehler in Gia64-test-nat und Lia64-test-nat erhalten, ist dies fast sicher ein Zeichen für einen alten Assembler. Der GNU‑Assembler kodierte Offsets relativ zum vorherigen Stack‑Pointer fälschlicherweise. Dieser Fehler wurde am 21. Sep. 2004 behoben, daher ist jeder neuere Assembler in Ordnung.

** Erwartete Ergebnisse auf x86 Linux

Die folgenden Tests werden voraussichtlich auf x86 Linux fehlschlagen:

Gtest-resume-sig	(kann SIGUSR2 nicht empfangen)
Ltest-resume-sig	(ebenso)
Gtest-dyn1		(noch keine Unterstützung für dynamische Unwind-Informationen)
Ltest-dyn1		(noch keine Unterstützung für dynamische Unwind-Informationen)
test-setjmp		(longjmp() noch nicht implementiert)
run-check-namespace	(noch kein _Ux86_getcontext)
test-ptrace

** Erwartete Ergebnisse auf x86‑64 Linux

Die folgenden Tests werden voraussichtlich auf x86‑64 Linux fehlschlagen:

Gtest-dyn1		(noch keine Unterstützung für dynamische Unwind-Informationen)
Ltest-dyn1		(noch keine Unterstützung für dynamische Unwind-Informationen)
Gtest-init (siehe http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18743)
Ltest-init		(ebenso)
test-async-sig		(stürzt ab wegen schlechter Unwind-Informationen?)
test-setjmp		(longjmp() noch nicht implementiert)
run-check-namespace	(noch kein _Ux86_64_getcontext)
run-ptrace-mapper	(??? untersuchen)
run-ptrace-misc	(siehe http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18748
		 und http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18749)

** Erwartete Ergebnisse auf PARISC Linux

Achtung: GCC v3.4 oder neuer wird auf PA‑RISC Linux benötigt. Frühere Versionen des Compilers erzeugten nicht den für das Entwinden benötigten Exception-Handling-Programmheader (GNU_EH_FRAME).

Die folgenden Tests werden voraussichtlich auf x86‑64 Linux fehlschlagen:

Gtest-bt   (Backtrace bei kill() abgeschnitten wegen fehlender Unwind-Informationen)
Ltest-bt   (ebenso)
Gtest-resume-sig  (Gresume.c:my_rt_sigreturn() ist irgendwie falsch)
Ltest-resume-sig  (ebenso)
Gtest-init (ebenso)
Ltest-init (ebenso)
Gtest-dyn1 (noch keine Unterstützung für dynamische Unwind-Informationen)
Ltest-dyn1 (noch keine Unterstützung für dynamische Unwind-Informationen)
test-setjmp		(longjmp() noch nicht implementiert)
run-check-namespace	(Toolchain unterstützt HIDDEN noch nicht)

** Erwartete Ergebnisse auf HP‑UX

„make check“ wird derzeit für HP‑UX nicht unterstützt. Sie können es versuchen, aber die meisten Tests werden fehlschlagen (und einige werden möglicherweise nicht beendet). Die einzigen Testprogramme, die derzeit bekanntermaßen funktionieren, sind:

 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

** Erwartete Ergebnisse auf PPC64 Linux

„make check“ sollte mit nicht mehr als 10 von 24 fehlgeschlagenen Tests durchlaufen.

  • Leistungstests

Dieses Paket enthält einige einfache Leistungstests, die eine Vorstellung von den grundlegenden Kosten verschiedener libunwind-Operationen geben. Nach dem Bau der Bibliothek können Sie diese Tests mit den folgenden Befehlen ausführen:

$ cd tests $ make perf

  • Kontakt zu den Entwicklern

Bitte richten Sie alle Fragen zu dieser Bibliothek an:

[email protected]

Sie können dies tun, indem Sie eine Mail an [email protected] mit folgendem Inhalt senden:

subscribe libunwind-devel

oder Sie können sich über die Weboberfläche unter folgender Adresse anmelden und Ihr Abonnement verwalten:

https://savannah.nongnu.org/mail/?group=libunwind
Tool herunterladen