Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
libunwind_CVE-2015-3239 — Biblioteca multiarquitetura para desenrolar (unwinding) pilhas de chamadas de programas, possibilitando depuração de baixo nível, análise de falhas e pesquisa de segurança em sistemas Linux, FreeBSD e HP-UX. | Kitploit
Ferramentas/GitHubGitHub/renukaselvar/libunwind_cve-2015-3239
Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoEngenharia ReversaDepuradoresAnálise de Binários
GitHubrenukaselvar/libunwind_cve-2015-3239

libunwind_CVE-2015-3239

Biblioteca multiarquitetura para desenrolar (unwinding) pilhas de chamadas de programas, possibilitando depuração de baixo nível, análise de falhas e pesquisa de segurança em sistemas Linux, FreeBSD e HP-UX.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
há 1 anoAinda não revisado

-- mode: Outline --

Esta é a versão 1.0 da biblioteca unwind. Esta biblioteca suporta várias combinações de arquitetura/sistema operacional:

Linux/x86-64: Funciona bem. Linux/x86: Funciona bem. Linux/ARM: Funciona bem. Linux/IA-64: Totalmente testada e suportada. Linux/PARISC: Funciona bem, mas a biblioteca C carece de informações unwind. HP-UX/IA-64: Funciona na maior parte, mas sabe-se que tem algumas limitações sérias. Linux/AArch64: Adicionada recentemente. Linux/PPC64: Adicionada recentemente. Linux/SuperH: Adicionada recentemente. FreeBSD/i386: Adicionada recentemente. FreeBSD/x86-64: Adicionada recentemente (a arquitetura FreeBSD é conhecida como amd64).

  • Instruções Gerais de Compilação

Em geral, esta biblioteca pode ser compilada e instalada com os seguintes comandos:

root@kitploit:~
$ autoreconf -i # Necessário apenas para compilar a partir do git. Depende do libtool.
$ ./configure
$ make
$ make install prefix=PREFIX

onde PREFIX é o prefixo de instalação. Por padrão, um prefixo de /usr/local é usado, de modo que libunwind.a é instalado em /usr/local/lib e unwind.h é instalado em /usr/local/include. Para testes, você pode querer usar um prefixo de /usr/local em seu lugar.

  • Compilando com o compilador Intel

** Versão 8 e posteriores

A partir da versão 8, o nome preferido para o compilador Intel IA-64 é "icc" (mesmo nome que no x86). Assim, a linha de configure deve ser assim:

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

Por enquanto, o libunwind deve ser compilado com GCC no HP-UX.

O libunwind deve ser configurado e instalado no HP-UX assim:

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

Aviso: O desenrolamento de binários de 32 bits (ILP32) não é suportado no momento.

** Solução alternativa para versões antigas do GCC

GCC v3.0 e GCC v3.2 vêm com uma versão ruim de sys/types.h. A solução alternativa é executar os seguintes comandos antes de executar "configure":

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

GCC v3.3.2 ou posterior foram corrigidos e não requerem esta solução alternativa.

  • Compilando para PowerPC64 / Linux

Para compilar para power64 você deve usar:

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

Se o seu power suporta registradores altivec: $ ./configure CFLAGS="-g -O2 -m64 -maltivec" CXXFLAGS="-g -O2 -m64 -maltivec"

Para verificar se o seu processador tem suporte para registradores vetoriais (altivec): cat /proc/cpuinfo | grep altivec e deve ter algo assim: cpu : PPC970, altivec supported

Se o libunwind parece não funcionar (o backtracing falha), tente compilá-lo com -O0, sem otimizações. Existem alguns problemas de compilador dependendo da versão do seu gcc.

  • Compilando no FreeBSD

As instruções gerais de compilação se aplicam. Para compilar e executar vários testes, você precisa da biblioteca libexecinfo disponível nos ports como devel/libexecinfo.

O desenvolvimento do port foi feito no FreeBSD 8.0-STABLE. A biblioteca foi compilada com o compilador do sistema que é uma versão modificada do gcc 4.2.1, assim como o gcc 4.4.3.

  • Testes de Regressão

Após compilar a biblioteca, você pode executar um conjunto de testes de regressão com:

root@kitploit:~
$ make check

** Resultados esperados no IA-64 Linux

A menos que você tenha uma biblioteca C e um compilador muito recentes instalados, é esperado atualmente que os seguintes testes falhem no IA-64 Linux:

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

Isso não significa que o libunwind não possa ser usado com compiladores mais antigos ou bibliotecas C, significa apenas que para certos casos extremos, o desenrolamento falhará. Como são casos extremos, é improvável que as aplicações os acionem.

Nota: Se você obtiver muitos erros em Gia64-test-nat e Lia64-test-nat, é quase certamente um sinal de um montador antigo. O montador GNU costumava codificar deslocamentos relativos ao ponteiro de pilha anterior incorretamente. Este bug foi corrigido em 21-Set-2004, portanto, qualquer montador posterior estará ok.

** Resultados esperados no x86 Linux

Os seguintes testes devem falhar no x86 Linux:

root@kitploit:~
Gtest-resume-sig	(falha ao obter SIGUSR2)
Ltest-resume-sig	(da mesma forma)
Gtest-dyn1		(sem suporte a informações unwind dinâmicas ainda)
Ltest-dyn1		(sem suporte a informações unwind dinâmicas ainda)
test-setjmp		(longjmp() ainda não implementado)
run-check-namespace	(_Ux86_getcontext ainda não existe)
test-ptrace

** Resultados esperados no x86-64 Linux

Os seguintes testes devem falhar no x86-64 Linux:

root@kitploit:~
Gtest-dyn1		(sem suporte a informações unwind dinâmicas ainda)
Ltest-dyn1		(sem suporte a informações unwind dinâmicas ainda)
Gtest-init (veja http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18743)
Ltest-init		(da mesma forma)
test-async-sig		(quebra devido a informações unwind ruins?)
test-setjmp		(longjmp() ainda não implementado)
run-check-namespace	(_Ux86_64_getcontext ainda não existe)
run-ptrace-mapper	(??? investigar)
run-ptrace-misc	(veja http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18748
		 e http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18749)

** Resultados esperados no PARISC Linux

Aviso: GCC v3.4 ou mais novo é necessário no PA-RISC Linux. Versões anteriores do compilador falharam em gerar o cabeçalho de programa de tratamento de exceções (GNU_EH_FRAME) necessário para o desenrolamento.

Os seguintes testes devem falhar no x86-64 Linux:

root@kitploit:~
Gtest-bt   (backtrace truncado em kill() devido à falta de informações unwind)
Ltest-bt   (da mesma forma)
Gtest-resume-sig  (Gresume.c:my_rt_sigreturn() está errado de alguma forma)
Ltest-resume-sig  (da mesma forma)
Gtest-init (da mesma forma)
Ltest-init (da mesma forma)
Gtest-dyn1 (sem suporte a informações unwind dinâmicas ainda)
Ltest-dyn1 (sem suporte a informações unwind dinâmicas ainda)
test-setjmp		(longjmp() ainda não implementado)
run-check-namespace	(a cadeia de ferramentas não suporta HIDDEN ainda)

** Resultados esperados no HP-UX

"make check" atualmente não é suportado para HP-UX. Você pode tentar executá-lo, mas a maioria dos testes falhará (e alguns podem não terminar). Os únicos programas de teste que se sabe funcionarem neste momento são:

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 no PPC64 Linux

"make check" deve ser executado com não mais que 10 de 24 testes falhando.

  • Testes de Desempenho

Esta distribuição inclui alguns testes de desempenho simples que dão uma ideia do custo básico de várias operações do libunwind. Após compilar a biblioteca, você pode executar estes testes com os seguintes comandos:

$ cd tests $ make perf

  • Contatando os Desenvolvedores

Por favor, direcione todas as perguntas sobre esta biblioteca para:

root@kitploit:~
[email protected]

Você pode fazer isso enviando um e-mail para [email protected] com um corpo de:

root@kitploit:~
subscribe libunwind-devel

ou você pode se inscrever e gerenciar sua inscrição através da interface web em:

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