Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
libunwind_CVE-2015-3239 — Biblioteca en C para el desenrollado de pila y la generación de backtraces, compatible con múltiples arquitecturas y sistemas operativos, con instrucciones de compilación y pruebas de regresión. | Kitploit
Herramientas/GitHubGitHub/renukaselvar/libunwind_cve-2015-3239
Forensia de MemoriaAnálisis de VulnerabilidadesExplotaciónIngeniería InversaDepuradoresAnálisis de Binarios
GitHubrenukaselvar/libunwind_cve-2015-3239

libunwind_CVE-2015-3239

Biblioteca en C para el desenrollado de pila y la generación de backtraces, compatible con múltiples arquitecturas y sistemas operativos, con instrucciones de compilación y pruebas de regresión.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
5hace 1 añoAún no revisado

-- mode: Outline --

Esta es la versión 1.0 de la librería unwind. Esta librería soporta varias combinaciones de arquitectura/sistema operativo:

Linux/x86-64: Funciona bien. Linux/x86: Funciona bien. Linux/ARM: Funciona bien. Linux/IA-64: Probado y soportado completamente. Linux/PARISC: Funciona bien, pero la librería C carece de unwind-info. HP-UX/IA-64: Funciona mayormente pero se sabe que tiene algunas limitaciones serias. Linux/AArch64: Recién añadido. Linux/PPC64: Recién añadido. Linux/SuperH: Recién añadido. FreeBSD/i386: Recién añadido. FreeBSD/x86-64: Recién añadido (la arquitectura FreeBSD se conoce como amd64).

  • Instrucciones generales de compilación

En general, esta librería se puede compilar e instalar con los siguientes comandos:

root@kitploit:~
$ autoreconf -i # Solo necesario para compilar desde git. Depende de libtool.
$ ./configure
$ make
$ make install prefix=PREFIX

donde PREFIX es el prefijo de instalación. Por defecto, se usa un prefijo de /usr/local, de modo que libunwind.a se instala en /usr/local/lib y unwind.h se instala en /usr/local/include. Para pruebas, puede que desee usar un prefijo de /usr/local en su lugar.

  • Compilación con el compilador Intel

** Versión 8 y posteriores

A partir de la versión 8, el nombre preferido para el compilador Intel IA-64 es "icc" (el mismo nombre que en x86). Por lo tanto, la línea de configure debería verse así:

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

Por ahora, libunwind debe compilarse con GCC en HP-UX.

libunwind debería configurarse e instalarse en HP-UX así:

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

Advertencia: Actualmente no se soporta el desenrollado de binarios de 32 bits (ILP32).

** Solución para versiones antiguas de GCC

GCC v3.0 y GCC v3.2 incluyen una versión defectuosa de sys/types.h. La solución es ejecutar los siguientes comandos antes de ejecutar "configure":

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

GCC v3.3.2 o posteriores han sido corregidos y no requieren esta solución.

  • Compilación para PowerPC64 / Linux

Para compilar para power64 debe usar:

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

Si su power soporta registros altivec: $ ./configure CFLAGS="-g -O2 -m64 -maltivec" CXXFLAGS="-g -O2 -m64 -maltivec"

Para verificar si su procesador tiene soporte para registros vectoriales (altivec): cat /proc/cpuinfo | grep altivec y debería tener algo como esto: cpu : PPC970, altivec supported

Si libunwind parece no funcionar (el backtrace falla), intente compilarlo con -O0, sin optimizaciones. Hay algunos problemas del compilador dependiendo de la versión de su gcc.

  • Compilación en FreeBSD

Se aplican las instrucciones generales de compilación. Para compilar y ejecutar varias pruebas, necesita la librería libexecinfo disponible en ports como devel/libexecinfo.

El desarrollo del port se realizó en FreeBSD 8.0-STABLE. La librería se compiló con el compilador del sistema, que es una versión modificada de gcc 4.2.1, así como con gcc 4.4.3.

  • Pruebas de regresión

Después de compilar la librería, puede ejecutar un conjunto de pruebas de regresión con:

root@kitploit:~
$ make check

** Resultados esperados en IA-64 Linux

A menos que tenga una librería C y un compilador muy recientes instalados, se espera que actualmente las siguientes pruebas fallen en IA-64 Linux:

root@kitploit:~
Gtest-init		(debería pasar a partir de glibc-2.3.x/gcc-3.4)
Ltest-init		(debería pasar a partir de glibc-2.3.x/gcc-3.4)
test-ptrace		(debería pasar a partir de glibc-2.3.x/gcc-3.4)
run-ia64-test-dyn1	(debería pasar a partir de glibc-2.3.x)

Esto no significa que libunwind no pueda usarse con compiladores más antiguos o librerías C antiguas, solo significa que para ciertos casos límite, el desenrollado fallará. Como son casos límite, es poco probable que las aplicaciones los activen.

Nota: Si obtiene muchos errores en Gia64-test-nat y Lia64-test-nat, es casi seguro una señal de un ensamblador antiguo. El ensamblador GNU solía codificar incorrectamente los desplazamientos relativos al puntero de pila anterior. Este error se corrigió el 21-Sep-2004, por lo que cualquier ensamblador posterior funcionará bien.

** Resultados esperados en x86 Linux

Se espera que las siguientes pruebas fallen en x86 Linux:

root@kitploit:~
Gtest-resume-sig	(falla al obtener SIGUSR2)
Ltest-resume-sig	(igualmente)
Gtest-dyn1		(aún no hay soporte para información de desenrollado dinámico)
Ltest-dyn1		(aún no hay soporte para información de desenrollado dinámico)
test-setjmp		(longjmp() aún no implementado)
run-check-namespace	(aún no hay _Ux86_getcontext)
test-ptrace

** Resultados esperados en x86-64 Linux

Se espera que las siguientes pruebas fallen en x86-64 Linux:

root@kitploit:~
Gtest-dyn1		(aún no hay soporte para información de desenrollado dinámico)
Ltest-dyn1		(aún no hay soporte para información de desenrollado dinámico)
Gtest-init (ver http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18743)
Ltest-init		(igualmente)
test-async-sig		(se bloquea debido a mala información de desenrollado?)
test-setjmp		(longjmp() aún no implementado)
run-check-namespace	(aún no hay _Ux86_64_getcontext)
run-ptrace-mapper	(??? investigar)
run-ptrace-misc	(ver http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18748
		 y http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18749)

** Resultados esperados en PARISC Linux

Advertencia: Se necesita GCC v3.4 o más reciente en PA-RISC Linux. Las versiones anteriores del compilador no lograban generar el encabezado de programa de manejo de excepciones (GNU_EH_FRAME) necesario para el desenrollado.

Se espera que las siguientes pruebas fallen en x86-64 Linux:

root@kitploit:~
Gtest-bt   (backtrace truncado en kill() debido a falta de unwind-info)
Ltest-bt   (igualmente)
Gtest-resume-sig  (Gresume.c:my_rt_sigreturn() está mal de alguna manera)
Ltest-resume-sig  (igualmente)
Gtest-init (igualmente)
Ltest-init (igualmente)
Gtest-dyn1 (aún no hay soporte para información de desenrollado dinámico)
Ltest-dyn1 (aún no hay soporte para información de desenrollado dinámico)
test-setjmp		(longjmp() aún no implementado)
run-check-namespace	(la cadena de herramientas no soporta HIDDEN aún)

** Resultados esperados en HP-UX

Actualmente "make check" no es compatible con HP-UX. Puede intentar ejecutarlo, pero la mayoría de las pruebas fallarán (y algunas pueden no terminar). Los únicos programas de prueba que se sabe que funcionan en este momento son:

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

** Resultados esperados en PPC64 Linux

"make check" debería ejecutarse con no más de 10 de 24 pruebas fallidas.

  • Pruebas de rendimiento

Esta distribución incluye algunas pruebas de rendimiento simples que dan una idea del costo básico de varias operaciones de libunwind. Después de compilar la librería, puede ejecutar estas pruebas con los siguientes comandos:

$ cd tests $ make perf

  • Contacto con los desarrolladores

Dirija todas las preguntas sobre esta librería a:

root@kitploit:~
[email protected]

Puede hacerlo enviando un correo a [email protected] con un cuerpo de:

root@kitploit:~
subscribe libunwind-devel

o puede suscribirse y gestionar su suscripción a través de la interfaz web en:

root@kitploit:~
https://savannah.nongnu.org/mail/?group=libunwind
Descargar herramienta