Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
ASM-Obfuscator — Ofusca assembly x86-64 com injeção de instruções, código lixo, ofuscação de constantes e descriptografia em tempo de execução para dificultar a engenharia reversa e a anti-análise. | Kitploit
Ferramentas/GitHubGitHub/gmh5225/asm-obfuscator
Ferramentas DefensivasEngenharia ReversaDepuradoresAnálise de Binários
GitHubgmh5225/asm-obfuscator

ASM-Obfuscator

Ofusca assembly x86-64 com injeção de instruções, código lixo, ofuscação de constantes e descriptografia em tempo de execução para dificultar a engenharia reversa e a anti-análise.

Ver Repositório
763há 3 anosAinda não revisado

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

ASM-Obfuscator

Obfuscador avançado de assembly x86-64. License

Descrição

O Obfuscador de Código Assembly é uma ferramenta poderosa e versátil projetada para aumentar a segurança do seu código assembly x86-64. Ele protege seus projetos contra engenharia reversa e análise, empregando uma ampla gama de técnicas de ofuscação e medidas anti-análise.

Funcionalidades

  • Injeção de Instruções: Injeta sequências de bytes personalizadas antes de cada instrução assembly para confundir desmontadores.

  • Aleatoriedade: Introduz aleatoriedade na estrutura do código, tornando-o menos previsível.

  • Detecção de Debuggers: Detecta a presença de debuggers durante a execução do código e emprega medidas anti-debug.

  • Técnicas Anti-Análise: Confunde ferramentas de análise dinâmica com ramificações condicionais e verificações de tempo.

  • Descriptografia Dinâmica: Criptografa e descriptografa dinamicamente seções de código em tempo de execução, aumentando a complexidade.

  • Descompressão Dinâmica: Comprime e descomprime dinamicamente seções de código, ocultando a verdadeira natureza do código.

  • Ofuscação de Constantes: Ofusca constantes e valores de dados usando técnicas como XOR e manipulação de bits.

  • Renomeação de Variáveis: Renomeia variáveis e registradores, tornando o código menos legível para humanos.

  • Inserção de Código Lixo: Insere partições de código lixo para obscurecer ainda mais a base de código.

Funcionamento

1. Injeção de Instruções

O núcleo do processo de ofuscação envolve a injeção de sequências de bytes personalizadas antes de cada instrução assembly no arquivo de código. Essas sequências de bytes, projetadas estrategicamente, têm a intenção de confundir desmontadores e analistas. Vamos examinar esse processo em detalhes:

Instrução Original:

4005d2:   55                      push   rbp

Em memória (hex):

0x55

Após a Injeção:

400665:   eb 01                jmp    400668 <main+0x3>
400667:   b0 55                mov    al,0x55
400669:   eb 01                jmp    40066c <main+0x7>

Em memória (hex):

0xEB, 0x01, 0xB0, 0x55

Aqui está uma análise da transformação:

  • A instrução original PUSH RBP é montada como 0x55. O ofuscador insere os bytes 0xEB, 0x01, 0xB0 antes dela.

  • O resultado é uma sequência de instruções que, quando desmontada, pode parecer completamente diferente do código original. Isso torna desafiador para a engenharia reversa entender o verdadeiro propósito do código.

2. Aleatoriedade

Introduz elementos de aleatoriedade no código. Envolve técnicas como permutação de instruções, troca de operandos e substituição de opcodes.

3. Detecção de Debuggers

Incorpora mecanismos para detectar a presença de debuggers durante a execução do código. Possui verificações em tempo de execução para identificar artefatos relacionados a debuggers e acionar medidas anti-análise.

4. Técnicas Anti-Análise

Integra várias medidas anti-análise, como ramificações condicionais e verificações de tempo. Por exemplo, pode inserir saltos condicionais e loops de atraso para retardar o processo de análise.

5. Descriptografia Dinâmica

Emprega técnicas de descriptografia dinâmica. Criptografa certas seções de código e as descriptografa em tempo de execução usando uma chave secreta. Esse processo de descriptografia ocorre dinamicamente durante a execução do código.

6. Descompressão Dinâmica

Comprime seções específicas de código e as descomprime em tempo real quando executadas.

7. Ofuscação de Constantes

Usa técnicas como XOR, manipulação de bits e operações aritméticas para ofuscar constantes. Isso garante que os valores constantes não sejam facilmente reconhecíveis.

8. Renomeação de Variáveis

A ferramenta renomeia variáveis e registradores, tornando o código menos legível. O processo envolve substituir nomes de variáveis por strings geradas aleatoriamente ou identificadores numéricos.

9. Inserção de Código Lixo

Para obscurecer ainda mais o código, o ofuscador insere partições de código lixo em locais estratégicos. Esse código lixo consiste em instruções irrelevantes que não afetam a lógica do programa, mas servem para poluir a base de código.

Exemplo de Inserção de Código Lixo:

; Original Code
mov eax, 1

; After Junk Code Insertion
mov ebx, 2
sub ecx, ecx
add edx, edx

Em memória (hex):

0x89, 0xD8, 0x31, 0xC9, 0x01, 0xD2

O código lixo inserido é projetado para desviar a atenção e fazer o código parecer mais complicado.

10. Detecção de UPX Falso

Também incorpora um recurso para detectar cabeçalhos UPX falsos. Ele examina o código em busca de sinais de adulteração nos cabeçalhos UPX, garantindo a integridade do executável.

Antes da Transformação (Código Original):

section .text
global _start

_start:
    ; Calculate the sum of the first 10 natural numbers
    mov ecx, 10        ; Initialize loop counter
    mov eax, 0         ; Initialize sum to 0

loop_start:
    add eax, ecx       ; Add current value of ECX to EAX (sum)
    loop loop_start    ; Decrement ECX and loop if not zero

    ; Exit program
    mov eax, 1         ; SYS_exit
    int 0x80           ; Invoke syscall

Representação Hexadecimal (Código Original):

31 C9                 xor    ecx,ecx
B8 00 00 00 00        mov    eax,0x0
EB 0E                 jmp    0x1c
01 C8                 add    eax,ecx
E2 FB                 loop   0x11
B8 01 00 00 00        mov    eax,0x1
CD 80                 int    0x80

Após a Transformação (Código Ofuscado):

section .text
global _start

_start:
    ; Calculate the sum of the first 10 natural numbers
    mov eax, 0x1
    add eax, 0x2
    add eax, 0x3
    add eax, 0x4
    add eax, 0x5
    add eax, 0x6
    add eax, 0x7
    add eax, 0x8
    add eax, 0x9
    add eax, 0xa

    ; Exit program
    mov eax, 0x1
    int 0x80

Representação Hexadecimal (Código Ofuscado):

B8 01 00 00 00        mov    eax,0x1
83 C0 02              add    eax,0x2
83 C0 03              add    eax,0x3
83 C0 04              add    eax,0x4
83 C0 05              add    eax,0x5
83 C0 06              add    eax,0x6
83 C0 07              add    eax,0x7
83 C0 08              add    eax,0x8
83 C0 09              add    eax,0x9
83 C0 0A              add    eax,0xa
B8 01 00 00 00        mov    eax,0x1
CD 80                 int    0x80

No código ofuscado, tornamos a lógica original do programa menos aparente adicionando instruções ADD redundantes e usando valores hexadecimais como operandos imediatos.

Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.

Contribuindo

Contribuições são bem-vindas!

Suporte

Para problemas, solicitações de recursos ou consultas gerais, por favor crie uma issue.

Aviso Legal

Esta ferramenta destina-se a fins educacionais e éticos.

Baixar ferramenta