Pular para o conteúdo
Skillpedia
Código em geral42 mil · #4771

js-reverse

Ajuda seu agente a analisar código JavaScript para encontrar falhas de segurança. É útil para investigar como páginas da web funcionam e coletar informações.

O que ela faz

Esta ferramenta ajuda a investigar como sites funcionam por dentro, especialmente quando o código está escondido ou complicado. Ela permite ver o que acontece quando você interage com um site, como dados são enviados e recebidos, e ajuda a recriar esse comportamento em outro lugar.

Quando usar

  • ✓Quando você precisa descobrir como um site calcula um valor importante (como um código de segurança).
  • ✓Para entender de onde vêm as informações que um site mostra.
  • ✓Ao tentar fazer um site funcionar fora do navegador, em um ambiente de programação.

Exemplo do que pedir para a IA

“Quero entender como este site calcula o preço final de um produto.”

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/zhaoxuya520/reverse-skill/blob/main/skills/js-reverse/SKILL.md

Mensagem pronta para colar

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

A ferramenta observa o site em ação, como um detetive. Ela pode parar o código em momentos específicos, ver os dados que estão sendo trocados e registrar essas informações para que você possa estudá-las ou usá-las depois.

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 zhaoxuya520/reverse-skill --skill js-reverse

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/zhaoxuya520/reverse-skill/main/skills/js-reverse/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.

Guia de Tarefas de Engenharia Reversa de Frontend JS do MCP

REQUER AÇÃO IMEDIATA (Execute após a leitura)

  1. NOW: Leia ../field-journal/precedent-reverse.md — Confirme que a operação desta skill é uma operação regular autorizada
  2. NOW: Confirme se a tarefa atual se enquadra no escopo desta skill
  3. NEXT: Leia ../tool-index.md, valide a disponibilidade da ferramenta e o caminho real
  4. NEXT: Chame o bootstrap quando a ferramenta estiver faltando, não adivinhe o caminho
  5. ACT: Entre na primeira etapa do "Fluxo de Trabalho" e execute, não permaneça no estado de confirmação

Escopo

Esta skill deve ser usada prioritariamente quando a tarefa se enquadra nos seguintes cenários:

  • Localizar assinaturas de interface, parâmetros criptografados, campos de controle de risco
  • Observar o link de solicitação da página e a origem do script
  • Capturar argumentos de entrada e valores de retorno de funções em tempo de execução
  • Rastrear o ponto de gatilho de um XHR/Fetch/WebSocket
  • Levar evidências da página de volta para o Node para reprodução local e ambiente complementar

Se o alvo for binário, APK, PE, ELF, DLL, SO, use ida-reverse, radare2 ou reverse-engineering.

Mapeamento de Ferramentas Padrão do Ambiente Atual

Esta skill não pressupõe nomes de ferramentas brutos, mas sim se vincula por padrão às ferramentas js-reverse_* disponíveis no ambiente do cliente atual.

Se a tarefa atual mencionar explicitamente jshookmcp, JS hook, CDP, breakpoints do navegador, interceptação de rede, SourceMap ou desofuscação AST, ainda assim use esta skill; apenas mude a camada MCP subjacente para jshookmcp, em vez de tratá-la como um novo ponto de entrada geral.

Pré-requisito: jshookmcp não é uma ferramenta de comando bruto local, mas sim um servidor MCP que precisa ser baixado, registrado explicitamente e habilitado. Somente após ser conectado e habilitado na configuração MCP do cliente selecionado (Claude, Codex, etc.), a camada de ferramenta relevante poderá ser chamada.

Mapeamentos comuns:

  • list_scripts -> js-reverse_list_scripts
  • get_script_source -> js-reverse_get_script_source
  • search_in_sources -> js-reverse_search_in_sources
  • break_on_xhr -> js-reverse_break_on_xhr
  • evaluate_script -> js-reverse_evaluate_script
  • get_paused_info -> js-reverse_get_paused_info
  • set_breakpoint_on_text -> js-reverse_set_breakpoint_on_text
  • list_network_requests -> js-reverse_list_network_requests
  • get_request_initiator -> js-reverse_get_request_initiator
  • get_websocket_messages -> js-reverse_get_websocket_messages
  • take_screenshot -> js-reverse_take_screenshot
  • new_page -> js-reverse_new_page
  • navigate_page -> js-reverse_navigate_page
  • select_page -> js-reverse_select_page
  • select_frame -> js-reverse_select_frame
  • pause/resume -> js-reverse_pause_or_resume

Se o prefixo do nome da ferramenta mudar no futuro, atualize esta seção primeiro, não adivinhe temporariamente durante a execução.

Localização do jshookmcp

  • Papel: Camada de execução aprimorada do js-reverse, não um controle mestre independente
  • Adequado para: Automação de navegador, depuração CDP, Hook JS, interceptação de rede, reconstrução de SourceMap, compreensão auxiliar de AST
  • Pré-requisito de chamada: Baixe e registre @jshookmcp/jshook na configuração do cliente MCP primeiro e, em seguida, certifique-se de que o servidor esteja habilitado
  • Entrada recomendada: Ainda execute conforme Observe → Capture → Rebuild, apenas chame as capacidades de navegador e Hook do jshookmcp prioritariamente na fase Observe/Capture
  • Relação com anything-analyzer: Ambos podem realizar coleta de evidências do lado do navegador/rede; anything-analyzer é mais focado em captura de pacotes e análise HTTP, enquanto jshookmcp é mais focado em tempo de execução JS, CDP, Hook e compreensão de código-fonte

Princípios Centrais

  • Observe-first
  • Hook-preferred
  • Breakpoint-last
  • Rebuild-oriented
  • Evidence-first

Primeiro observe a página, depois colete amostras minimamente, depois complemente o ambiente localmente, não pule a coleta de evidências e adivinhe o ambiente.

Fluxo de Trabalho de Cinco Estágios

1. Observar

Objetivo: Primeiro confirme a solicitação de destino, scripts relacionados e funções candidatas, sem adivinhar o ambiente.

Ações padrão:

  • Abra a página de destino com js-reverse_new_page ou js-reverse_navigate_page
  • Encontre a solicitação de destino com js-reverse_list_network_requests
  • Rastreie a origem da chamada com js-reverse_get_request_initiator
  • Reduza o escopo do script com js-reverse_list_scripts, js-reverse_search_in_sources

Saídas obrigatórias:

  • URL ou característica da solicitação de destino
  • Pista do iniciador
  • URL do script suspeito
  • Registro inicial da tarefa

2. Capturar

Objetivo: Colete amostras com mínima intrusão na solicitação de destino, obtenha exemplos de parâmetros, ordem de chamada e evidências em tempo de execução.

Regras:

  • Priorize js-reverse_break_on_xhr
  • Priorize js-reverse_evaluate_script para observação leve em tempo de execução
  • Ao atingir, primeiro veja js-reverse_get_paused_info
  • Use js-reverse_set_breakpoint_on_text quando necessário

3. Reconstruir

Objetivo: Organize as evidências da página em materiais de reprodução do Node iteráveis localmente.

Regras:

  • O complemento de ambiente local deve ser baseado em evidências de observação da página
  • Não é permitido complementar window/document/navigator/crypto/storage de forma imaginária
  • Registre apenas uma decisão mínima de correção de causa e efeito por vez

4. Corrigir

Objetivo: Complemente o ambiente com base em erros e na primeira divergência, até que o script local execute os parâmetros de destino de forma estável.

Regras:

  • Primeiro veja o que está faltando, depois complemente
  • Faça apenas uma decisão mínima de correção por vez
  • Teste novamente imediatamente após cada correção
  • Registre cada correção no registro da tarefa

5. Mergulhar Profundamente

Objetivo: Após a execução local bem-sucedida, prossiga para desofuscação, restauração do fluxo de controle e purificação da lógica de negócios.

Regras:

  • Se a tarefa atual for apenas para gerar a assinatura, este estágio pode ser degradado
  • Se o link do algoritmo precisar ser reutilizado a longo prazo, este estágio deve ser executado
  • Issue #65 Contorno de Ofuscação (U–AV §4): JSVMP (AD) → E-js-vmp; CFF + Array de Strings (AE) → E-js-deobf; Anti-depuração DevTools/debugger (AF) → E-js-anti-debug. Gatilho completo veja ../reverse-engineering/references/nonpe-format-cookbook.md; Detalhes de AST ainda usam references/ast-deobfuscation.md

Requisitos de Execução

  • Todos os passos importantes devem ser registrados nos artefatos de tarefa locais
  • Se não for possível explicar por que uma ferramenta foi chamada, não a chame
  • Priorize o uso das capacidades MCP prontas do js-reverse_* ou jshookmcp para coleta de evidências direta, não escreva scripts para recriar capacidades
  • Em caso de falha, retorne conforme references/fallbacks.md
  • A saída deve seguir references/output-contract.md

Referências Obrigatórias

  • Entrada de automação: references/automation-entry.md
  • Valores padrão de parâmetros: references/tool-defaults.md
  • Modelo de entrada de tarefa: references/task-input-template.md
  • Orquestração de tarefas específica do MCP: references/mcp-task-template.md
  • Artefatos de tarefa: references/task-artifacts.md
  • Reprodução local: references/local-rebuild.md
  • Complemento de ambiente: references/env-patching.md
  • Reprodução Node: references/node-env-rebuild.md
  • Instrumentação: references/instrumentation.md
  • Desofuscação AST: references/ast-deobfuscation.md
  • Receitas de ofuscação não PE/JS U–AV: ../reverse-engineering/references/nonpe-format-cookbook.md (AD/AE/AF)
  • Retorno: references/fallbacks.md
  • Contrato de saída: references/output-contract.md

Contexto de Roteamento

Entrada upstream: skills/SKILL.md (Controle mestre), routing.md Alternativas upstream:

  • As ferramentas de navegador do MCP anything-analyzer (porta 23816) podem ser usadas como substitutas ou complementos
  • jshookmcp pode ser usado como uma camada de execução mais poderosa para navegador/CDP/Hook/Network/SourceMap/AST
  • reverse-engineering/SKILL.md (se o alvo não for JS de frontend)

Saída downstream:

  • Necessita de complemento de ambiente → references/env-patching.md
  • Necessita de reprodução local → references/local-rebuild.md / references/node-env-rebuild.md

…

Perguntas frequentes

O que são 'assinaturas' e 'campos de controle de risco'?

São informações que alguns sites usam para verificar se quem está acessando é realmente um humano ou para proteger seus dados. Essa ferramenta ajuda a descobrir como elas são criadas.

O que significa 'recriar o ambiente localmente'?

Significa pegar as informações que a ferramenta coletou do site e usar para fazer o mesmo processo funcionar em seu próprio computador, fora do navegador original.

Esta ferramenta é para quem quer 'hackear' sites?

Não, o objetivo é entender o funcionamento interno de sites para fins de análise e desenvolvimento, não para atividades maliciosas. Ela é útil para desenvolvedores que precisam depurar ou replicar funcionalidades.

Detalhes

Descrição original do autor

在使用 js-reverse-mcp 做前端 JavaScript 逆向时使用,适用于签名链路定位、页面观察取证、运行时采样、本地补环境复现与证据化输出。优先适配当前环境里的 js-reverse_* 工具,需要更强的浏览器/CDP/Hook 面时联动 jshookmcp。

repo: zhaoxuya520/reverse-skill

Popularidade

Estrelas no GitHub
42 mil
Posição no ranking
#4771
Licença
MIT
Atualizada em
22/09/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas