Sobre o projeto

Trace (também conhecido como T次方) é uma extensão open-source para navegador Chrome, focada no rastreamento de comportamento de sites e análise profunda de debugging frontend. Principais capacidades: - **Rastreamento de Cookies**: Registra operações de configuração e leitura de Cookies pelo site. - **Rastreamento de Eventos**: Monitora o registro e disparo de eventos na página. - **Rastreamento de Objetos**: Através do método hookProxy, rastreia a maioria das chamadas de propriedades e métodos dos objetos window e document. - **Injeção de Scripts**: Injeta dinamicamente código JavaScript personalizado na página atual. - **Interceptação de Requisições**: Bloqueio refinado de requisições de rede baseado em expressões regulares, com efeito global, suprir as limitações do Network Request Blocking nativo do Chrome. - **Rastreamento de Variáveis**: Registra strings geradas em tempo de execução e suas informações de localização, auxiliando na identificação da origem dos dados; combinado com desabilitação de cache e breakpoints, permite capturar dados de URL críticos antes do redirecionamento. - **Desofuscação JS**: Utiliza técnicas como parsing AST para tentar reverter o código ofuscado. - **流转 de Respostas**: Reencaminha o corpo da resposta da página para um endereço especificado; combinado com plugin Babel, permite modificação arbitrária da resposta, teoricamente capaz de realizar operações avançadas como desofuscação automática. A extensão também expõe interfaces como `Proxiable`, `DocProxiable` e `hookProxy` ao ambiente de execução, permitindo proxy e hook direto nos objetos-alvo via Console. O método de instalação suporta: instalação pela Chrome Web Store, arrastar e soltar o arquivo CRX, ou baixar o código-fonte e carregar via Developer Mode com Load unpacked. A extensão possui uma página Popup para liga RÁpida e uma página Options com configurações detalhadas. Observação: ao habilitar funções como rastreamento de variáveis, desofuscação e流转 de respostas, o Chrome exibirá um aviso de debugging que não pode ser fechado durante o período ativo; as configurações precisam ser salvas e reativadas por aba específica para surtir efeito. O projeto utiliza o compilador Babel e o framework Pico CSS, sob licença MIT.