À propos du projet

Trace (également appelée T次方) est une extension open source pour le navigateur Chrome, spécialisée dans le traçage du comportement des sites web et le debuggage approfondi des applications frontales. Ses principales fonctionnalités incluent : - **Suivi des cookies** : enregistre les opérations de définition et de lecture des cookies effectuées par le site. - **Suivi des événements** : écoute l'enregistrement et la activation des événements de la page. - **Suivi des objets** : utilise la méthode `hookProxy` pour tracer la plupart des appels aux propriétés et méthodes des objets `window` et `document`. - **Injection de scripts** : injecte dynamiquement du code JavaScript personnalisé dans la page active. - **Interception des requêtes** : bloque finement les requêtes réseau grâce à des expressions régulières, avec une portée globale, comblant ainsi les lacunes du blocage natif des requêtes de Chrome Network. - **Suivi des variables** : enregistre les chaînes de caractères produites lors de l'exécution ainsi que leurs informations de position, afin d'aider à localiser l'origine des données. Couplé à la désactivation du cache et aux points d'arrêt, il permet de capturer les données URL critiques avant une redirection. - **Déobfuscation JS** : tente de restaurer le code obfusqué grâce à des traitements tels que l'analyse AST. - **Modification du flux des réponses** : renvoie le corps de la réponse de la page vers une adresse spécifiée. Combiné à un plugin Babel, il rend possible toute modification de la réponse, permettant théoriquement des opérations avancées comme la déobfuscation automatique. L'extension expose également des interfaces telles que `Proxiable`, `DocProxiable` et `hookProxy` dans son environnement d'exécution, ce qui facilite le proxy Hook direct d'objets cibles depuis la console. L'installation peut se faire via le Chrome Web Store, par chargement du fichier CRX par glisser-déposer, ou en téléchargeant le code source et en l'activant via le mode Développeur avec l'option Charger l'extension non empaquetée. L'extension comprend une page Popup pour un accès rapide et une page Options pour les réglages détaillés. Il convient de noter que les fonctionnalités de traçage des variables, de déobfuscation et de modification des flux de réponses affichent une notification de débogage Chrome persistante lors de leur activation ; cette notification ne peut pas être fermée pendant leur utilisation, et les paramètres doivent être enregistrés puis réactivés spécifiquement pour chaque onglet pour prendre effet. Le projet utilise le compilateur Babel et le framework Pico CSS, et est distribué sous licence MIT.