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
woody-woodpacker — Empacotador de binário ELF que criptografa seções de código e injeta um stub de descriptografia em tempo de execução para executáveis Linux de 64 bits, demonstrando técnicas de injeção de código e manipulação de binários. | Kitploit
Ferramentas/GitLabGitLab/aurh1l-42-projects/woody-woodpacker
Ferramentas de Criptografia/DescriptografiaEngenharia ReversaAnálise de BináriosAprendizado e EducaçãoExploração de Binários
GitLabaurh1l-42-projects/woody-woodpacker

woody-woodpacker

Empacotador de binário ELF que criptografa seções de código e injeta um stub de descriptografia em tempo de execução para executáveis Linux de 64 bits, demonstrando técnicas de injeção de código e manipulação de binários.

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á 8 mesesAinda não revisado

Woody-Woodpacker

42 Project C ELF

Um projeto da escola 42 que implementa um empacotador binário para executáveis ELF de 64 bits. O empacotador criptografa as seções de código do executável e injeta uma rotina de descriptografia que é executada em tempo de execução.

🎯 Sobre

Woody-Woodpacker é um programa que recebe um binário ELF de 64 bits como entrada e cria uma nova versão criptografada chamada woody. Quando executado, o binário woody:

  1. Descriptografa a si mesmo em tempo de execução
  2. Imprime "....WOODY...." na saída padrão como prova de injeção
  3. Executa normalmente com o comportamento do binário original

Este projeto explora:

  • Formatos de arquivos binários (estrutura ELF)
  • Técnicas de injeção de código
  • Algoritmos de criptografia/descriptografia
  • Programação de baixo nível em C
  • Conceitos de engenharia reversa

⚙️ Como Funciona

Processo de Empacotamento

root@kitploit:~
Original Binary → [Woody-Woodpacker] → Encrypted Binary (woody)

Binário Original → [Woody-Woodpacker] → Binário Criptografado (woody)

  1. Analisar cabeçalho ELF - Ler e analisar a estrutura do arquivo ELF
  2. Localizar seções de código - Identificar segmentos/seções a serem criptografados
  3. Criptografar código - Aplicar algoritmo de criptografia ao código
  4. Injetar stub de descriptografia - Adicionar rotina de descriptografia ao binário
  5. Modificar ponto de entrada - Redirecionar execução para o stub de descriptografia
  6. Escrever novo binário - Criar o executável woody

Processo de Execução

root@kitploit:~
./woody → Decrypt code → Print "....WOODY...." → Execute original program

./woody → Descriptografar código → Imprimir "....WOODY...." → Executar programa original

🔧 Pré-requisitos

  • GCC ou Clang compilador
  • Make
  • Sistema operacional Linux (para suporte a binários ELF)
  • Conhecimento básico de:
    • Programação em C
    • Formato de arquivo ELF
    • Linguagem Assembly (x86-64)

🚀 Instalação

root@kitploit:~
# Clone the repository
git clone https://gitlab.com/Aurh1l/woody-woodpacker.git
cd woody-woodpacker

# Compile the project
make

# The woody_woodpacker executable is now ready
./woody_woodpacker

💻 Uso

Uso Básico

root@kitploit:~
./woody_woodpacker <binary_file>

Isso cria um novo arquivo chamado woody no diretório atual.

Exemplo

root@kitploit:~
# Pack a binary
./woody_woodpacker /bin/ls

# Execute the packed binary
./woody
# Output: ....WOODY....
# [then normal ls output]

Verificação

root@kitploit:~
# Compare original and packed binary behavior
/bin/ls -la
./woody -la

# Both should produce the same output (after "....WOODY....")

🔍 Detalhes Técnicos

Estrutura do Arquivo ELF

O empacotador manipula os seguintes componentes ELF:

  • Cabeçalho ELF - Cabeçalho principal do arquivo contendo metadados
  • Cabeçalhos de Programa - Informações de segmento para carregamento
  • Cabeçalhos de Seção - Informações de seção para vinculação
  • Segmentos de Código - Seção .text contendo código executável

Algoritmo de Criptografia

O projeto normalmente usa um método de criptografia simples como:

  • RC4 - Cifra de fluxo

Técnica de Injeção

Infecção por Preenchimento de Segmento (método Silvio Cesare):

  1. Aumentar o tamanho do segmento no cabeçalho do programa
  2. Injetar stub de descriptografia na área de preenchimento
  3. Modificar o ponto de entrada para saltar para o stub
  4. O stub descriptografa o código e salta para o ponto de entrada original

Layout de Memória

root@kitploit:~
┌─────────────────────────┐
│   ELF Header            │
├─────────────────────────┤
│   Program Headers       │
├─────────────────────────┤
│   Decryption Stub       │ ← Injected code
├─────────────────────────┤
│   Encrypted .text       │ ← Original code (encrypted)
├─────────────────────────┤
│   Other sections        │
├─────────────────────────┤
│   Section Headers       │
└─────────────────────────┘

📝 Licença

Este projeto faz parte do currículo da escola 42 e é destinado apenas para fins educacionais.

⚠️ Aviso Legal

Esta ferramenta foi criada para fins educacionais como parte do currículo da escola 42. Use com responsabilidade e apenas em binários que você possui ou tem permissão para modificar. Os autores não são responsáveis por qualquer uso indevido deste software.

Baixar ferramenta