Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
libunwind_CVE-2015-3239 — Libreria C per lo stack unwinding e la generazione di backtrace, con supporto per multiple architetture e sistemi operativi, incluse istruzioni per la compilazione e i test di regressione. | Kitploit
Strumenti/GitHubGitHub/renukaselvar/libunwind_cve-2015-3239
Memory ForensicsAnalisi delle VulnerabilitàExploitReverse EngineeringDebuggerAnalisi di Binari
GitHubrenukaselvar/libunwind_cve-2015-3239

libunwind_CVE-2015-3239

Libreria C per lo stack unwinding e la generazione di backtrace, con supporto per multiple architetture e sistemi operativi, incluse istruzioni per la compilazione e i test di regressione.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
51 anno faNon ancora revisionato

-- mode: Outline --

Questa è la versione 1.0 della libreria unwind. Questa libreria supporta diverse combinazioni architettura/sistema operativo:

Linux/x86-64: Funziona bene. Linux/x86: Funziona bene. Linux/ARM: Funziona bene. Linux/IA-64: Completamente testato e supportato. Linux/PARISC: Funziona bene, ma la libreria C manca di unwind-info. HP-UX/IA-64: Funziona per lo più ma ha alcune limitazioni serie note. Linux/AArch64: Aggiunto di recente. Linux/PPC64: Aggiunto di recente. Linux/SuperH: Aggiunto di recente. FreeBSD/i386: Aggiunto di recente. FreeBSD/x86-64: Aggiunto di recente (l'architettura FreeBSD è nota come amd64).

Istruzioni Generali di Build

In generale, questa libreria può essere compilata e installata con i seguenti comandi:

root@kitploit:~
$ autoreconf -i # Necessario solo per compilare da git. Dipende da libtool.
$ ./configure
$ make
$ make install prefix=PREFIX

dove PREFIX è il prefisso di installazione. Per impostazione predefinita viene utilizzato un prefisso di /usr/local, in modo che libunwind.a venga installato in /usr/local/lib e unwind.h venga installato in /usr/local/include. Per i test, potresti voler utilizzare un prefisso di /usr/local invece.

Compilazione con il compilatore Intel

** Versione 8 e successive

A partire dalla versione 8, il nome preferito per il compilatore Intel IA-64 è "icc" (lo stesso nome di x86). Pertanto, la riga di configure dovrebbe essere simile a questa:

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

Compilazione su HP-UX

Per il momento, libunwind deve essere compilato con GCC su HP-UX.

libunwind dovrebbe essere configurato e installato su HP-UX in questo modo:

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

Avvertenza: Lo srotolamento di binari a 32 bit (ILP32) non è supportato al momento.

** Workaround per versioni precedenti di GCC

GCC v3.0 e GCC v3.2 sono forniti con una versione difettosa di sys/types.h. Il workaround consiste nell'eseguire i seguenti comandi prima di eseguire "configure":

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

GCC v3.3.2 o successivi sono stati corretti e non richiedono questo workaround.

Compilazione per PowerPC64 / Linux

Per compilare per power64 dovresti usare:

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

Se il tuo power supporta i registri altivec: $ ./configure CFLAGS="-g -O2 -m64 -maltivec" CXXFLAGS="-g -O2 -m64 -maltivec"

Per verificare se il tuo processore supporta i registri vettoriali (altivec): cat /proc/cpuinfo | grep altivec e dovresti vedere qualcosa come: cpu : PPC970, altivec supported

Se libunwind sembra non funzionare (fallimento del backtracing), prova a compilarlo con -O0, senza ottimizzazioni. Ci sono alcuni problemi del compilatore a seconda della versione del tuo gcc.

Compilazione su FreeBSD

Si applicano le istruzioni generali di compilazione. Per compilare ed eseguire diversi test, è necessaria la libreria libexecinfo disponibile nelle porte come devel/libexecinfo.

Lo sviluppo della porta è stato fatto su FreeBSD 8.0-STABLE. La libreria è stata compilata con il compilatore di sistema che è una versione modificata di gcc 4.2.1, così come con gcc 4.4.3.

Test di Regressione

Dopo aver compilato la libreria, puoi eseguire una serie di test di regressione con:

root@kitploit:~
$ make check

** Risultati attesi su IA-64 Linux

A meno che tu non abbia una libreria C e un compilatore molto recenti, è attualmente previsto il fallimento dei seguenti test su IA-64 Linux:

root@kitploit:~
Gtest-init		(dovrebbe passare a partire da glibc-2.3.x/gcc-3.4)
Ltest-init		(dovrebbe passare a partire da glibc-2.3.x/gcc-3.4)
test-ptrace		(dovrebbe passare a partire da glibc-2.3.x/gcc-3.4)
run-ia64-test-dyn1	(dovrebbe passare a partire da glibc-2.3.x)

Questo non significa che libunwind non possa essere utilizzato con compilatori o librerie C più vecchi, significa solo che per alcuni casi particolari, lo srotolamento fallirà. Dato che sono casi limite, è improbabile che le applicazioni li incontrino.

Nota: Se ottieni molti errori in Gia64-test-nat e Lia64-test-nat, è quasi sicuramente un segno di un assemblatore vecchio. L'assemblatore GNU codificava erroneamente gli offset relativi al puntatore dello stack precedente. Questo bug è stato corretto il 21-Set-2004, quindi qualsiasi assemblatore successivo andrà bene.

** Risultati attesi su x86 Linux

I seguenti test dovrebbero fallire su x86 Linux:

root@kitploit:~
Gtest-resume-sig	(non riesce a ottenere SIGUSR2)
Ltest-resume-sig	(allo stesso modo)
Gtest-dyn1		(nessun supporto per unwind-info dinamico ancora)
Ltest-dyn1		(nessun supporto per unwind-info dinamico ancora)
test-setjmp		(longjmp() non ancora implementato)
run-check-namespace	(nessun _Ux86_getcontext ancora)
test-ptrace

** Risultati attesi su x86-64 Linux

I seguenti test dovrebbero fallire su x86-64 Linux:

root@kitploit:~
Gtest-dyn1		(nessun supporto per unwind-info dinamico ancora)
Ltest-dyn1		(nessun supporto per unwind-info dinamico ancora)
Gtest-init (vedi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18743)
Ltest-init		(allo stesso modo)
test-async-sig		(si blocca a causa di unwind-info errato?)
test-setjmp		(longjmp() non ancora implementato)
run-check-namespace	(nessun _Ux86_64_getcontext ancora)
run-ptrace-mapper	(??? da indagare)
run-ptrace-misc	(vedi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18748
		 e http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18749)

** Risultati attesi su PARISC Linux

Avvertenza: GCC v3.4 o successivo è necessario su PA-RISC Linux. Versioni precedenti del compilatore non generavano l'intestazione del programma per la gestione delle eccezioni (GNU_EH_FRAME) necessaria per lo srotolamento.

I seguenti test dovrebbero fallire su x86-64 Linux:

root@kitploit:~
Gtest-bt   (backtrace troncato a kill() a causa della mancanza di unwind-info)
Ltest-bt   (allo stesso modo)
Gtest-resume-sig  (Gresume.c:my_rt_sigreturn() è in qualche modo errato)
Ltest-resume-sig  (allo stesso modo)
Gtest-init (allo stesso modo)
Ltest-init (allo stesso modo)
Gtest-dyn1 (nessun supporto per unwind-info dinamico ancora)
Ltest-dyn1 (nessun supporto per unwind-info dinamico ancora)
test-setjmp		(longjmp() non ancora implementato)
run-check-namespace	(la toolchain non supporta ancora HIDDEN)

** Risultati attesi su HP-UX

"make check" non è attualmente supportato per HP-UX. Puoi provare a eseguirlo, ma la maggior parte dei test fallirà (e alcuni potrebbero non terminare). I soli programmi di test che si sa funzionano al momento sono:

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

** Risultati attesi su PPC64 Linux

"make check" dovrebbe essere eseguito con non più di 10 test falliti su 24.

Test di Prestazione

Questa distribuzione include alcuni semplici test di prestazione che danno un'idea del costo base di varie operazioni di libunwind. Dopo aver compilato la libreria, puoi eseguire questi test con i seguenti comandi:

$ cd tests $ make perf

Contattare gli Sviluppatori

Per favore, indirizza tutte le domande riguardanti questa libreria a:

root@kitploit:~
[email protected]

Puoi farlo inviando una mail a [email protected] con un corpo di:

root@kitploit:~
subscribe libunwind-devel

oppure puoi iscriverti e gestire la tua iscrizione tramite l'interfaccia web all'indirizzo:

root@kitploit:~
https://savannah.nongnu.org/mail/?group=libunwind
Scarica lo strumento