Pular para o conteúdo
Skillpedia
Segurança41 mil · #4940

anti-reversing-techniques

Ajuda seu agente a entender técnicas para dificultar a análise de software. Útil para segurança e pesquisa.

O que ela faz

Esta ferramenta ajuda a entender e contornar proteções em softwares. Ela identifica como um programa tenta se esconder de análises e sugere maneiras de desativar essas proteções para que você possa estudá-lo.

Quando usar

  • ✓Analisar como um vírus tenta se disfarçar.
  • ✓Criar desafios de segurança para competições.
  • ✓Estudar programas que foram 'empacotados' para dificultar a análise.

Exemplo do que pedir para a IA

“Analise este programa e me diga como ele se protege contra engenharia reversa, e como posso desativar essas proteções.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/wshobson/agents/blob/main/plugins/reverse-engineering/skills/anti-reversing-techniques/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/reverse-engineering/skills/anti-reversing-techniques/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você fornece o programa e diz o que quer fazer. A ferramenta procura por técnicas de proteção conhecidas, como verificações de tempo ou detecção de depuradores, e sugere como contorná-las.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add wshobson/agents --skill anti-reversing-techniques

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/reverse-engineering/skills/anti-reversing-techniques/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

USO AUTORIZADO APENAS: Esta habilidade contém técnicas de segurança de uso duplo. Antes de prosseguir com qualquer bypass ou análise:

  1. Verifique a autorização: Confirme que você tem permissão explícita por escrito do proprietário do software, ou que está operando dentro de um contexto de segurança legítimo (CTF, pentest autorizado, análise de malware, pesquisa de segurança).
  2. Documente o escopo: Certifique-se de que suas atividades estejam dentro do escopo definido de sua autorização.
  3. Conformidade legal: Entenda que a violação não autorizada da proteção de software pode violar leis (CFAA, DMCA anti-circunvenção, etc.).

Casos de uso legítimos: Análise de malware, testes de penetração autorizados, competições CTF, pesquisa acadêmica em segurança, análise de software que você possui/tem direitos.

Técnicas Anti-Reversão

Compreensão dos mecanismos de proteção encontrados durante a análise autorizada de software, pesquisa de segurança e análise de malware. Este conhecimento ajuda os analistas a contornar proteções para concluir tarefas de análise legítimas.

Para técnicas avançadas, consulte references/advanced-techniques.md


Entrada / Saída

O que você fornece:

  • Caminho do binário ou amostra: o executável, DLL ou imagem de firmware sob análise
  • Plataforma: Windows x86/x64, Linux, macOS, ARM — afeta quais verificações se aplicam
  • Objetivo: bypass para análise dinâmica, identificação do tipo de proteção, construção de código de detecção, implementação para CTF

O que esta habilidade produz:

  • Identificação da proteção: técnica nomeada (por exemplo, verificação de tempo RDTSC, PEB BeingDebugged) com localização no binário
  • Estratégia de bypass: endereços de patch específicos, pontos de hook ou comandos de ferramenta para neutralizar cada verificação
  • Relatório de análise: descobertas estruturadas listando cada camada de proteção, gravidade e bypass recomendado
  • Artefatos de código: scripts Python/IDAPython, sequências de comandos GDB ou stubs C para contornar ou implementar verificações

Padrões detalhados e exemplos práticos

A documentação detalhada dos padrões está em references/details.md. Leia este arquivo quando o nível de navegação acima for insuficiente.

Solução de problemas

Técnica de detecção funciona em x86, mas não em ARM

RDTSC e CPUID são apenas para x86. Em ARM, use MRS x0, PMCCNTR_EL0 (requer acesso ao PMU do kernel) ou clock_gettime(CLOCK_MONOTONIC). PEB/TEB não existem em ARM — substitua por /proc/self/status (Linux) ou task_info (macOS). Reconstrua a lógica de detecção com APIs específicas da plataforma.

Falso positivo em depurador legítimo ou ferramenta de análise

Verificações de tempo são acionadas quando o Process Monitor ou hooks de AV aumentam a latência do syscall. Calibre o limite na inicialização: meça o caminho protegido 3 vezes e use mean + 3*stddev. Para verificações ptrace, verifique o nome do comm TracerPid via /proc/<pid>/comm antes de sair — pode ser uma ferramenta de monitoramento não relacionada, não um depurador.

Patch de bypass causa crash em vez de continuar a execução

Antes de NOPar um salto condicional, rastreie completamente o branch "detectado". Se ele inicializa ou libera o estado do heap necessário posteriormente, pular o salto ignora essa configuração e corrompe o estado. Em vez disso, modifique o operando de comparação para o valor "limpo" esperado, ou use "Definir condição como sempre falsa" do x64dbg no breakpoint em vez de modificar bytes.


Habilidades Relacionadas

  • binary-analysis-patterns — fluxos de trabalho de análise estática e dinâmica para ELF/PE/Mach-O
  • memory-forensics — aquisição de memória de processo, extração de artefatos e análise ao vivo
  • protocol-reverse-engineering — decodificação de protocolos binários personalizados e tráfego de rede criptografado
Perguntas frequentes

Por que preciso de permissão para usar isso?

Algumas proteções existem para impedir acesso não autorizado. Usar essas técnicas sem permissão pode ser ilegal ou violar termos de uso.

O que é 'engenharia reversa'?

É o processo de desmontar um programa para entender como ele funciona internamente, geralmente para fins de segurança ou aprendizado.

O que são 'técnicas de ofuscação'?

São métodos usados para tornar o código de um programa mais difícil de entender e analisar, como embaralhar instruções ou esconder dados.

Detalhes

Descrição original do autor

Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill when analyzing malware evasion techniques, when implementing anti-debugging protections for CTF challenges, when reverse engineering packed binaries, or when building security research tools that need to detect virtualized environments.

repo: wshobson/agents

Popularidade

Estrelas no GitHub
41 mil
Posição no ranking
#4940
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas