Aller au contenu
Aback Tools Logo

Analyseur d'Attributs et Métadonnées .NET

Analysez du code source C# et VB.NET pour détecter et classer les attributs de métadonnées .NET. Identifie les attributs liés à l'obfuscation ([Obfuscation], [SuppressIldasm], [DebuggerHidden]), les attributs de sécurité ([SecurityCritical], [AllowPartiallyTrustedCallers]), les attributs de sérialisation ([Serializable], [DataContract], [DataMember]), les attributs COM/Interop ([DllImport], [ComVisible]), les autorisations de sécurité d'accès au code et les marqueurs d'obfuscateurs personnalisés (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel, CryptoObfuscator, .NET Reactor). Chaque attribut inclut une explication détaillée de son rôle, une note d'importance, le contexte du code environnant et le numéro de ligne. Gratuit, confidentiel et sans inscription.

.NET Attribute & Metadata Analyzer

Scan C# or VB.NET source code to detect and categorize metadata attributes. Identifies obfuscation-related attributes ([Obfuscation], [SuppressIldasm], [DebuggerHidden]), security attributes, serialization attributes, COM interop attributes, and custom obfuscator markers (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel). Each attribute includes a detailed explanation of its purpose and relevance to obfuscation analysis.

Examples:

Paste C# or VB.NET source code above and click Analyze Attributes to detect and categorize metadata attributes. The analyzer identifies obfuscation-related attributes, security attributes, serialization attributes, COM interop attributes, debugger attributes, and custom obfuscator markers. Each detection includes a detailed explanation. Try loading an example to see how it works!

Fonctionnalités

  • 7 catégories d'attributs avec plus de 30 motifs de détection : analyse automatiquement les attributs de 7 catégories : obfuscation ([Obfuscation], [SuppressIldasm], [Obfuscate]), sécurité ([SecurityCritical], [AllowPartiallyTrustedCallers]), sérialisation ([Serializable], [DataContract], [DataMember]), interop COM ([DllImport], [ComVisible], [Guid]), débogueur ([DebuggerHidden], [DebuggerNonUserCode]), sécurité d'accès au code ([PermissionSet], [SecurityPermission]) et marqueurs d'obfuscateurs personnalisés (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel).
  • Notes d'importance et explications détaillées : chaque attribut détecté inclut une note d'importance (Haute/Moyenne/Basse/Info) et une explication détaillée de son rôle, de son effet et de son intérêt pour l'analyse d'obfuscation. Les attributs de haute importance comme [DebuggerHidden] signalent des mesures anti-débogage, tandis que [ConfuserEx] identifie directement l'outil d'obfuscation utilisé.
  • Sortie catégorisée avec vue de code annotée : les attributs sont regroupés par catégorie avec des cartes colorées pour un repérage visuel instantané. La vue de code annotée ajoute des commentaires en ligne sur chaque ligne contenant des attributs détectés, affichant la catégorie et le nom de l'attribut directement dans le contexte du code d'origine.
  • 100 % local dans le navigateur et confidentiel : toute l'analyse d'attributs .NET s'exécute entièrement dans votre navigateur. Votre code C#/VB.NET, tous les attributs détectés et les résultats d'analyse ne quittent jamais votre appareil. Aucun envoi à un serveur, aucun appel d'API, aucun stockage de données et aucun suivi. Sûr pour analyser du code propriétaire ou des assemblies .NET potentiellement malveillants.

Cas d'usage

  • Analyse de malwares et de portes dérobées : analysez du malware .NET décompilé à la recherche d'attributs suspects. [DllImport] avec des fonctions de l'API Win32 indique une interaction avec le système. [DebuggerHidden] et [DebuggerNonUserCode] suggèrent des mesures anti-débogage. [OnDeserialized] peut dissimuler une logique d'exécution post-exploitation dans des callbacks de sérialisation.
  • Identification des techniques anti-débogage et anti-analyse : repérez rapidement les attributs anti-débogage comme [DebuggerHidden], [DebuggerNonUserCode] et [DebuggerStepThrough] que le code .NET obfusqué utilise pour échapper à l'analyse dynamique. [SuppressIldasm] indique une tentative de bloquer le désassemblage IL, bien qu'il n'offre qu'une protection réelle minimale.
  • Identification des outils d'obfuscation : détectez les attributs d'obfuscateurs personnalisés qui identifient l'outil d'obfuscation .NET utilisé. [ConfuserEx] et [Obfuscar] sont des outils open source, tandis que [Dotfuscator], [SmartAssembly] et [Babel] sont des produits commerciaux. Connaître l'obfuscateur aide à choisir la bonne approche de désobfuscation.
  • Audits de sécurité des applications .NET : lors d'audits de sécurité d'applications .NET, recherchez [SuppressIldasm], qui peut indiquer des tentatives de dissimulation de code aux relecteurs. Vérifiez [AllowPartiallyTrustedCallers], qui peut exposer des assemblies à des appelants non approuvés. Examinez [SecurityCritical] et [SecuritySafeCritical] pour un bon usage de la transparence de sécurité.
  • Outil pédagogique sur les métadonnées .NET : apprenez ce que font les différents attributs de métadonnées .NET et comment ils influencent le comportement du code. Comprenez la différence entre [Serializable] et [DataContract], pourquoi [DllImport] sert à l'interop Win32 et comment [Obfuscation(Exclude=true)] préserve certains membres lors de l'obfuscation.
  • Ingénierie inverse d'assemblies décompilés : lors de l'ingénierie inverse d'assemblies .NET décompilés, utilisez l'analyseur d'attributs pour identifier rapidement les attributs clés révélant la structure du code. [Guid] identifie les interfaces COM, [DataMember] marque les champs sérialisés et [Obfuscation] montre ce que l'auteur original a tenté de protéger ou d'exclure.

Foire aux questions

L'analyseur détecte 7 catégories d'attributs de métadonnées .NET : les attributs liés à l'obfuscation ([Obfuscation], [SuppressIldasm], [Obfuscate], [ObfuscateAssembly]), les attributs de sécurité ([SecurityCritical], [SecuritySafeCritical], [AllowPartiallyTrustedCallers], [SecurityTransparent]), les attributs de sérialisation ([Serializable], [NonSerialized], [DataContract], [DataMember], [KnownType], [OptionalField], callbacks de sérialisation), les attributs COM/Interop ([ComVisible], [Guid], [DllImport], [MarshalAs], [StructLayout], [InterfaceType], [ClassInterface]), les attributs de débogage ([DebuggerHidden], [DebuggerNonUserCode], [DebuggerStepThrough], [DebuggerBrowsable], [DebuggerDisplay]), les attributs de sécurité d'accès au code ([SecurityPermission], [PermissionSet], [FileIOPermission], etc.) et les attributs d'obfuscateurs personnalisés (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel, CryptoObfuscator, .NET Reactor).

L'attribut [SuppressIldasm] empêche le désassembleur IL (ILDASM) de consulter l'assembly. C'était l'une des premières mesures anti-ingénierie inverse dans .NET. Toutefois, des outils modernes comme dnSpy, ILSpy et dotPeek le contournent facilement, il n'offre donc qu'une protection minimale contre des analystes déterminés. Sa présence reste un fort indice que le développeur a délibérément tenté d'empêcher l'inspection du code.

L'outil recherche des motifs d'attributs propres à des obfuscateurs spécifiques. Par exemple, ConfuserEx laisse des marqueurs d'attribut [ConfuserEx] dans l'assembly. Dotfuscator utilise des attributs [Dotfuscator]. Obfuscar utilise des marqueurs [Obfuscar]. SmartAssembly utilise des motifs [SmartAssembly] ou [SmartAssembly.*]. Babel Obfuscator utilise des motifs [Babel.Obfuscator]. Chaque détection inclut une description de l'obfuscateur et des fonctions de protection qu'il apporte.

[DebuggerHidden] et [DebuggerNonUserCode] sont couramment utilisés dans du code obfusqué pour gêner le débogage et l'analyse dynamique. [DebuggerHidden] empêche de placer des points d'arrêt sur la méthode et empêche le débogueur d'y entrer. [DebuggerNonUserCode] amène le débogueur à ignorer le code lors des opérations de pas à pas, ce qui complique le suivi des chemins d'exécution obfusqués. Leur présence dans du code décompilé est souvent un fort indice de protections anti-analyse intentionnelles.

Non. Cet outil analyse du code source C# ou VB.NET et du code source décompilé (issu de dnSpy, ILSpy, dotPeek, etc.). Pour analyser un assembly .NET compilé, décompilez-le d'abord avec un outil comme dnSpy ou ILSpy, puis collez le code décompilé dans cet analyseur. L'outil détectera les attributs de métadonnées présents dans la sortie décompilée.

La vue de code annotée affiche votre code source C# ou VB.NET d'origine avec des commentaires en ligne sur chaque ligne où un attribut de métadonnées a été détecté. Chaque annotation inclut la catégorie et le nom de l'attribut, comme « Obfuscation : directive d'obfuscation » ou « Obfuscateur personnalisé : attribut ConfuserEx ». Il est ainsi facile de parcourir le code visuellement et de repérer les lignes contenant des attributs importants.

Les attributs sont regroupés en 7 catégories (Obfuscation, Sécurité, Sérialisation, Interop, Débogueur, Sécurité d'accès au code et Obfuscateur personnalisé). Au sein de chaque catégorie, les attributs apparaissent dans l'ordre où ils ont été trouvés dans le code. Les catégories sont triées selon le nombre d'attributs qu'elles contiennent, la plus fréquente apparaissant en premier. Chaque attribut inclut sa pertinence (Haute/Moyenne/Basse/Info), une explication détaillée, l'extrait de code environnant et le numéro de ligne.

Absolument. L'analyseur d'attributs et de métadonnées .NET s'exécute entièrement dans votre navigateur. Votre code C# ou VB.NET, tous les attributs détectés, les résultats d'analyse et le code annoté ne sont jamais envoyés à un serveur ni transmis sur le réseau. Tout le traitement se fait localement sur votre appareil, sans appel d'API ni collecte de données.

Oui — 100 % gratuit, sans inscription, sans compte et sans limites d'utilisation. Analysez autant de code .NET que nécessaire, aussi souvent que vous le souhaitez. Aucune offre premium, aucun frais caché, aucune limitation de débit. L'outil s'exécute entièrement dans votre navigateur — votre code ne quitte jamais votre appareil.