Décodeur de pile d'appels .NET obfusquée
Décodez les traces de pile .NET obfusquées de ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly et bien d'autres. L'outil détecte automatiquement le type d'obfuscateur à partir des motifs de nommage, analyse chaque frame et fournit un mappeur de symboles interactif pour renommer manuellement. Tout le traitement est local et privé - gratuit, sans inscription.
Paste an obfuscated .NET stack trace to decode obfuscated class and method names. The tool automatically detects which obfuscator was used (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, or Babel.NET) based on naming patterns. Rename obfuscated symbols manually in the mapping table and see the deobfuscated trace update live.
Paste an obfuscated .NET stack trace above to decode it. The tool automatically detects the obfuscator type, parses each frame, and lets you manually rename obfuscated symbols. Click any example below the input area to try it with different obfuscation patterns.
Pourquoi utiliser notre décodeur de pile d'appels .NET obfusquée ?
- Désobfuscation instantanée des traces de pile .NET : décodez instantanément les traces de pile .NET obfusquées en collant votre trace et en laissant l'outil détecter les motifs d'obfuscateurs de ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly et autres. Chaque ligne est analysée et annotée, avec les noms de classes et de méthodes obfusqués mis en évidence pour une identification facile. Renommez manuellement n'importe quel symbole en un clic.
- Traitement sécurisé et privé des traces de pile .NET : toute la désobfuscation des traces de pile se fait entièrement dans votre navigateur. Vos traces obfusquées, données de correspondance et sortie désobfusquée ne quittent jamais votre appareil. Aucune donnée téléchargée, aucun suivi, aucune inscription - confidentialité totale pour votre travail de débogage .NET propriétaire.
- Décodeur de traces de pile en ligne - sans installation : utilisez le décodeur de traces de pile .NET directement dans n'importe quel navigateur moderne, sans téléchargement, plugin IDE ou outil. Comprend une visionneuse interactive de traces avec analyse ligne par ligne, détection d'obfuscateur avec score de confiance, renommage manuel des symboles avec aperçu en direct et export de la sortie désobfusquée.
- Compatible avec tous les principaux obfuscateurs .NET : prend en charge les traces de pile de ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel.NET et .NET Reactor. Détecte les motifs de nommage comme les noms de classes et de méthodes à une lettre (a, b, A, B), les noms préfixés d'un trait de soulignement (_a, _b), les suffixes numériques (a_0, a_1) et les identifiants hachés. Le moteur de détection note chaque motif pour identifier l'outil d'obfuscation probable.
Cas d'usage courants du décodeur de pile d'appels .NET
- Débogage des rapports de plantage .NET obfusqués : lorsqu'une application .NET plante en production, la trace de pile contient des noms de classes et de méthodes obfusqués comme a.a() ou Class1.Method1(). Les développeurs utilisent le décodeur pour identifier les chemins de code réellement en échec, ce qui permet de déboguer sans disposer de la correspondance du code source d'origine.
- Analyse de bibliothèques .NET obfusquées tierces : les chercheurs en sécurité et les développeurs travaillant avec des bibliothèques .NET tierces rencontrent souvent des références d'assembly obfusquées dans les traces de pile. Le décodeur aide à identifier les motifs d'appel, à comprendre le comportement de la bibliothèque et à résoudre les problèmes d'intégration sans désosser tout le binaire.
- Réponse aux incidents et analyse forensique : lors d'enquêtes sur des incidents de sécurité impliquant des malwares .NET ou des applications compromises, les analystes utilisent le décodeur pour analyser les traces obfusquées issues des journaux d'événements, des vidages de plantage et des outils de supervision. Les traces décodées révèlent le flux d'exécution, aidant à identifier les vecteurs d'attaque et les composants touchés.
- Analyse des plantages dans les pipelines CI/CD : dans les pipelines CI/CD automatisés, les traces obfusquées des builds de production peuvent être capturées et décodées pour identifier les régressions. Le décodeur aide à faire correspondre les traces obfusquées à des identifiants significatifs, permettant aux équipes d'isoler précisément les modifications de code à l'origine des échecs de build ou des erreurs d'exécution.
- Intégration avec les outils APM et de suivi des erreurs : les outils de surveillance des performances applicatives (APM) comme Sentry, Application Insights et Datadog capturent des traces obfusquées des builds de production. Les développeurs collent ces traces dans le décodeur pour comprendre quelles fonctionnalités, modules ou fonctions génèrent des erreurs, ce qui aide à prioriser les corrections selon l'impact réel.
- Outil pédagogique pour l'analyse de l'obfuscation .NET : les formateurs en sécurité et les formateurs .NET utilisent le décodeur pour enseigner aux étudiants les techniques d'obfuscation et la rétro-ingénierie. Les étudiants peuvent coller des traces obfusquées, voir comment différents motifs d'obfuscation (ConfuserEx vs Dotfuscator vs Obfuscar) produisent des conventions de nommage distinctes et apprendre à décoder chacune d'elles.
Qu'est-ce que la désobfuscation de traces de pile .NET ?
La désobfuscation de traces de pile .NET est le processus consistant à reconvertir les noms de classes et de méthodes obfusqués des traces d'exception .NET en identifiants lisibles et significatifs. Lorsque des applications .NET sont obfusquées avec des outils comme ConfuserEx, Dotfuscator ou Obfuscar, tous les noms de métadonnées sont systématiquement remplacés par de courts identifiants sans signification. Une trace de pile qui lisait à l'origine MyApp.Services.UserService.Authenticate() peut devenir a.a() ou _0._1().
Notre décodeur de traces de pile .NET analyse les traces obfusquées, détecte l'obfuscateur utilisé d'après les motifs de nommage et fournit une interface interactive pour renommer manuellement les symboles obfusqués. Bien que la restauration automatique des noms d'origine soit impossible sans le fichier de correspondance de l'obfuscateur, le décodeur réduit considérablement l'effort nécessaire pour comprendre les rapports de plantage et les journaux obfusqués.
Comment fonctionne notre décodeur de pile d'appels .NET
- 1. Collez votre trace de pile : copiez une trace de pile .NET obfusquée depuis vos journaux d'erreurs, rapports de plantage ou outil APM et collez-la dans la zone de saisie. Le décodeur prend en charge tous les formats standard de traces d'exception .NET, y compris les traces multilinges avec informations InnerException et TargetSite. Des traces d'exemple illustrent différents motifs d'obfuscation.
- 2. Analysez et détectez l'obfuscateur : l'outil analyse la trace de pile ligne par ligne, en extrayant tous les noms d'espaces de noms, de classes et de méthodes. Le moteur de détection d'obfuscation analyse les motifs de nommage, la longueur des identifiants et les caractéristiques structurelles pour identifier l'obfuscateur probablement utilisé. Chaque détection inclut un score de confiance. La trace analysée s'affiche dans un tableau interactif indiquant le numéro de ligne, le nom obfusqué et les motifs détectés.
- 3. Renommez et exportez : cliquez sur n'importe quel nom obfusqué de la trace pour lui attribuer un remplacement significatif. La table de correspondance enregistre tous vos renommages et les applique de manière cohérente sur toute la trace. La sortie désobfusquée se met à jour en direct au fur et à mesure des renommages. Copiez la trace désobfusquée ou exportez la table de correspondance en JSON pour la réutiliser avec des traces du même build.
Les motifs de nommage d'obfuscation .NET expliqués
- Noms à une lettre (ConfuserEx) : les classes et méthodes sont renommées en une seule lettre minuscule : a.a(), b.a(), c.b(). La première lettre représente la classe, la seconde la méthode. Lorsque les lettres sont épuisées, des noms à deux lettres sont utilisés (aa.ab()).
- Motif Dotfuscator : utilise des noms de classes à une lettre avec des suffixes numériques sur les méthodes : A.a(), A.a_0(), B.b(). Dotfuscator conserve la casse avec des majuscules pour les classes et des minuscules pour les méthodes.
- Motif Obfuscar : noms entièrement en minuscules sans structure d'espace de noms : class_a.method_a(), class_b.method_b(). Obfuscar utilise aussi les noms de classes d'affichage générées par le compilateur <>c et <>9 pour les fermetures lambda.
- Motif SmartAssembly : identifiants plus longs hachés avec des traits de soulignement comme _003A_Class._003A_Method() ou Class_0.Method_0(). SmartAssembly utilise aussi des échappements Unicode encodés dans les noms de métadonnées, les faisant apparaître comme du texte illisible dans les traces de pile.
- Motifs mixtes et personnalisés : certains obfuscateurs combinent des techniques ou utilisent des schémas de nommage personnalisés. Le décodeur détecte plusieurs signatures de motifs par entrée et indique l'obfuscateur le plus probable d'après la distribution globale des motifs.
Confidentialité, sécurité et disponibilité
L'outil décodeur de pile d'appels .NET est 100 % gratuit et sans inscription. Toute l'analyse et la désobfuscation des traces de pile sont effectuées localement dans votre navigateur en JavaScript - vos traces obfusquées, données de correspondance et sortie désobfusquée ne quittent jamais votre appareil. Il n'y a aucune limite d'utilisation ni restriction de taille de fichier. L'outil prend en charge la détection automatique de l'obfuscateur avec score de confiance, l'analyse interactive ligne par ligne, le renommage manuel des symboles avec une table de correspondance persistante appliquée à toute la trace, l'aperçu en direct de la sortie désobfusquée, l'export de la table de correspondance en JSON et des exemples prédéfinis montrant différents motifs d'obfuscation. Utilisez-le autant de fois que nécessaire pour décoder vos traces de pile .NET.
Foire aux questions
Un décodeur de pile d'appels .NET obfusquée reconvertit les noms de classes et de méthodes obfusqués des traces de pile .NET en une forme lisible. Lorsque des applications .NET sont obfusquées avec des outils comme ConfuserEx ou Dotfuscator, les noms de classes et de méthodes sont remplacés par de courts identifiants sans signification. Cet outil aide à décoder ces noms, à détecter quel obfuscateur a été utilisé et à permettre un renommage manuel.
Le décodeur de traces de pile prend en charge tous les principaux obfuscateurs .NET, notamment ConfuserEx, Dotfuscator Community/Pro, Obfuscar, SmartAssembly, Babel.NET et .NET Reactor. Le moteur de détection analyse les motifs de nommage pour identifier l'obfuscateur probablement utilisé, avec un score de confiance pour chaque détection.
Sans accès au fichier de correspondance de l'obfuscateur, les noms d'origine ne peuvent pas être restaurés automatiquement. Le décodeur fournit toutefois des outils de renommage manuel qui vous permettent d'attribuer des noms significatifs aux identifiants obfusqués et de construire une table de correspondance persistante exportable en JSON pour réutilisation.
Tous les formats standard de traces d'exception .NET sont pris en charge, y compris les traces d'applications Console, ASP.NET, ASP.NET Core, WPF, Windows Forms, Xamarin, Unity et .NET MAUI. Les traces de Sentry, Application Insights, Datadog et ELMAH sont également prises en charge.
Absolument. Tout le traitement se fait entièrement dans votre navigateur. Vos traces de pile, données de correspondance et sortie désobfusquée ne sont jamais envoyées à un serveur. Aucun compte n'est nécessaire. Vous pouvez traiter en toute sécurité du code propriétaire ou confidentiel.
Le moteur de détection analyse les motifs de nommage de la trace de pile. ConfuserEx produit des noms d'une seule lettre (a, b, c). Dotfuscator utilise des classes en majuscules avec des méthodes en minuscules et des suffixes numériques. Obfuscar produit des noms entièrement en minuscules avec des traits de soulignement. SmartAssembly utilise des identifiants hachés avec des séquences Unicode encodées.
Oui. Toutefois, chaque build obfusqué génère des noms obfusqués uniques. La table de correspondance que vous construisez est propre à une version de build. Pour décoder des traces d'une autre version, vous devrez créer une nouvelle table de correspondance pour cette version.
Le motif a.a() est la convention de nommage d'obfuscation .NET la plus courante. La première lettre (a) représente le nom de la classe et la seconde (a) le nom de la méthode. a.a() pourrait donc signifier ClassA.MethodA(). Ces motifs sont utilisés par ConfuserEx, Dotfuscator et de nombreux autres obfuscateurs .NET.
Oui - 100 % gratuit, sans inscription, sans compte et sans limite d'utilisation. Décodez autant de traces de pile que nécessaire, autant de fois que vous le souhaitez. Toutes les fonctionnalités, y compris la détection d'obfuscateur, le renommage manuel, les tables de correspondance et l'export, sont disponibles sans restriction.