.NET-Attribut- und Metadaten-Analyse
Scannen Sie C#- und VB.NET-Quellcode, um .NET-Metadatenattribute zu erkennen und zu kategorisieren. Erkennt obfuskierungsbezogene Attribute ([Obfuscation], [SuppressIldasm], [DebuggerHidden]), Sicherheitsattribute ([SecurityCritical], [AllowPartiallyTrustedCallers]), Serialisierungsattribute ([Serializable], [DataContract], [DataMember]), COM-/Interop-Attribute ([DllImport], [ComVisible]), Berechtigungen der Codezugriffssicherheit und benutzerdefinierte Obfusker-Marker (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel, CryptoObfuscator, .NET Reactor). Jedes Attribut enthält eine ausführliche Erklärung seines Zwecks, eine Relevanzbewertung, den umgebenden Codekontext und die Zeilennummer. Kostenlos, privat und ohne Anmeldung.
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.
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!
Funktionen
- 7 Attributkategorien mit über 30 Erkennungsmustern: durchsucht automatisch Attribute in 7 Kategorien: Obfuskierung ([Obfuscation], [SuppressIldasm], [Obfuscate]), Sicherheit ([SecurityCritical], [AllowPartiallyTrustedCallers]), Serialisierung ([Serializable], [DataContract], [DataMember]), COM-Interop ([DllImport], [ComVisible], [Guid]), Debugger ([DebuggerHidden], [DebuggerNonUserCode]), Codezugriffssicherheit ([PermissionSet], [SecurityPermission]) und benutzerdefinierte Obfusker-Marker (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel).
- Relevanzbewertungen und ausführliche Erklärungen: Jedes erkannte Attribut enthält eine Relevanzbewertung (Hoch/Mittel/Niedrig/Info) und eine ausführliche Erklärung seines Zwecks, seiner Wirkung und seiner Bedeutung für die Obfuskierungsanalyse. Attribute mit hoher Relevanz wie [DebuggerHidden] markieren Anti-Debugging-Maßnahmen, während [ConfuserEx] direkt das verwendete Obfuskierungstool identifiziert.
- Kategorisierte Ausgabe mit annotierter Codeansicht: Die Attribute werden nach Kategorie gruppiert, mit farbcodierten Karten zum sofortigen visuellen Erfassen. Die annotierte Codeansicht fügt Inline-Kommentare in jeder Zeile mit erkannten Attributen hinzu und zeigt Kategorie und Attributnamen direkt im Quellcodekontext.
- 100 % browserlokal und privat: Die gesamte .NET-Attributanalyse läuft vollständig in Ihrem Browser. Ihr C#/VB.NET-Code, alle erkannten Attribute und Analyseergebnisse verlassen niemals Ihr Gerät. Keine Server-Uploads, keine API-Aufrufe, keine Datenspeicherung und kein Tracking. Sicher für die Analyse proprietären Codes oder potenziell bösartiger .NET-Assemblies.
Einsatzbereiche
- Malware- und Backdoor-Analyse: Analysieren Sie dekompilierte .NET-Malware auf verdächtige Attribute. [DllImport] mit Win32-API-Funktionen deutet auf Systeminteraktion hin. [DebuggerHidden] und [DebuggerNonUserCode] lassen auf Anti-Debugging-Maßnahmen schließen. [OnDeserialized] kann Ausführungslogik nach der Ausnutzung in Serialisierungs-Callbacks verbergen.
- Erkennen von Anti-Debugging- und Anti-Analyse-Techniken: Identifizieren Sie schnell Anti-Debugging-Attribute wie [DebuggerHidden], [DebuggerNonUserCode] und [DebuggerStepThrough], die obfuskierter .NET-Code zur Umgehung dynamischer Analyse nutzt. [SuppressIldasm] deutet auf einen Versuch hin, die IL-Disassemblierung zu blockieren, bietet jedoch nur minimalen echten Schutz.
- Identifizierung von Obfuskierungstools: Erkennen Sie Attribute benutzerdefinierter Obfusker, die verraten, welches .NET-Obfuskierungstool verwendet wurde. [ConfuserEx] und [Obfuscar] sind Open-Source-Tools, während [Dotfuscator], [SmartAssembly] und [Babel] kommerzielle Produkte sind. Die Kenntnis des Obfuskers hilft bei der Wahl des richtigen Deobfuskierungsansatzes.
- Sicherheitsaudits von .NET-Anwendungen: Suchen Sie bei Sicherheitsaudits von .NET-Anwendungen nach [SuppressIldasm], was auf Versuche hindeuten kann, Code vor Prüfern zu verbergen. Prüfen Sie [AllowPartiallyTrustedCallers], das Assemblies für nicht vertrauenswürdige Aufrufer öffnen kann. Überprüfen Sie [SecurityCritical] und [SecuritySafeCritical] auf korrekte Verwendung der Sicherheitstransparenz.
- Lehrmittel zu .NET-Metadaten: Erfahren Sie, was verschiedene .NET-Metadatenattribute bewirken und wie sie das Codeverhalten beeinflussen. Verstehen Sie den Unterschied zwischen [Serializable] und [DataContract], warum [DllImport] für Win32-Interop verwendet wird und wie [Obfuscation(Exclude=true)] bestimmte Member bei der Obfuskierung bewahrt.
- Reverse Engineering dekompilierter Assemblies: Nutzen Sie bei der Analyse dekompilierter .NET-Assemblies den Attributanalysator, um wichtige Attribute schnell zu identifizieren, die die Codestruktur offenbaren. [Guid] identifiziert COM-Schnittstellen, [DataMember] markiert serialisierte Felder und [Obfuscation] zeigt, was der ursprüngliche Autor schützen oder ausschließen wollte.
Häufig gestellte Fragen
Der Analysator erkennt 7 Kategorien von .NET-Metadatenattributen: obfuskierungsbezogene Attribute ([Obfuscation], [SuppressIldasm], [Obfuscate], [ObfuscateAssembly]), Sicherheitsattribute ([SecurityCritical], [SecuritySafeCritical], [AllowPartiallyTrustedCallers], [SecurityTransparent]), Serialisierungsattribute ([Serializable], [NonSerialized], [DataContract], [DataMember], [KnownType], [OptionalField], Serialisierungs-Callbacks), COM-/Interop-Attribute ([ComVisible], [Guid], [DllImport], [MarshalAs], [StructLayout], [InterfaceType], [ClassInterface]), Debugger-Attribute ([DebuggerHidden], [DebuggerNonUserCode], [DebuggerStepThrough], [DebuggerBrowsable], [DebuggerDisplay]), Attribute der Codezugriffssicherheit ([SecurityPermission], [PermissionSet], [FileIOPermission] usw.) und Attribute benutzerdefinierter Obfusker (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel, CryptoObfuscator, .NET Reactor).
Das Attribut [SuppressIldasm] verhindert, dass der IL-Disassembler (ILDASM) die Assembly einsehen kann. Es war eine der frühesten Anti-Reverse-Engineering-Maßnahmen in .NET. Moderne Tools wie dnSpy, ILSpy und dotPeek umgehen es jedoch problemlos, sodass es nur minimalen Schutz gegen entschlossene Analysten bietet. Sein Vorhandensein ist dennoch ein starker Hinweis darauf, dass der Entwickler die Codeeinsicht absichtlich verhindern wollte.
Das Tool sucht nach Attributmustern, die für bestimmte Obfusker charakteristisch sind. ConfuserEx hinterlässt beispielsweise [ConfuserEx]-Attributmarker in der Assembly. Dotfuscator verwendet [Dotfuscator]-Attribute. Obfuscar verwendet [Obfuscar]-Marker. SmartAssembly verwendet [SmartAssembly]- oder [SmartAssembly.*]-Muster. Babel Obfuscator verwendet [Babel.Obfuscator]-Muster. Jede Erkennung enthält eine Beschreibung des Obfuskers und der gebotenen Schutzfunktionen.
[DebuggerHidden] und [DebuggerNonUserCode] werden in obfuskiertem Code häufig verwendet, um Debugging und dynamische Analyse zu erschweren. [DebuggerHidden] verhindert, dass Haltepunkte auf der Methode gesetzt werden, und stoppt den Debugger beim Eintreten. [DebuggerNonUserCode] bewirkt, dass der Debugger den Code bei Einzelschritten überspringt, was das Nachverfolgen obfuskierter Ausführungspfade erschwert. Ihr Vorhandensein in dekompiliertem Code ist oft ein starker Hinweis auf absichtliche Anti-Analyse-Schutzmaßnahmen.
Nein. Dieses Tool analysiert C#- oder VB.NET-Quellcode und dekompilierten Quellcode (aus dnSpy, ILSpy, dotPeek usw.). Um eine kompilierte .NET-Assembly zu analysieren, dekompilieren Sie sie zunächst mit einem Tool wie dnSpy oder ILSpy und fügen Sie den dekompilierten Code dann in diesen Analysator ein. Das Tool erkennt alle Metadatenattribute, die in der dekompilierten Ausgabe vorhanden sind.
Die annotierte Codeansicht zeigt Ihren ursprünglichen C#- oder VB.NET-Quellcode mit Inline-Kommentaren in jeder Zeile, in der ein Metadatenattribut erkannt wurde. Jede Anmerkung enthält Kategorie und Namen des Attributs, etwa „Obfuskierung: Obfuskierungsdirektive“ oder „Benutzerdefinierter Obfusker: ConfuserEx-Attribut“. So lässt sich der Code visuell durchsuchen und erkennen, welche Zeilen wichtige Attribute enthalten.
Die Attribute werden in 7 Kategorien gruppiert (Obfuskierung, Sicherheit, Serialisierung, Interop, Debugger, Codezugriffssicherheit und benutzerdefinierter Obfusker). Innerhalb jeder Kategorie werden die Attribute in der Reihenfolge angezeigt, in der sie im Code gefunden wurden. Die Kategorien sind nach der Anzahl ihrer Attribute sortiert, wobei die häufigste zuerst erscheint. Jedes Attribut enthält seine Relevanz (Hoch/Mittel/Niedrig/Info), eine ausführliche Erklärung, den umgebenden Codeausschnitt und die Zeilennummer.
Absolut. Die .NET-Attribut- und Metadaten-Analyse läuft vollständig in Ihrem Browser. Ihr C#- oder VB.NET-Code, alle erkannten Attribute, Analyseergebnisse und der annotierte Code werden niemals auf einen Server hochgeladen oder über das Netzwerk übertragen. Die gesamte Verarbeitung erfolgt lokal auf Ihrem Gerät, ohne API-Aufrufe oder Datensammlung.
Ja — 100 % kostenlos, ohne Anmeldung, ohne Konto und ohne Nutzungslimits. Analysieren Sie so viel .NET-Code wie nötig, so oft Sie möchten. Es gibt keine Premium-Stufen, versteckten Kosten oder Ratenlimits. Das Tool läuft vollständig in Ihrem Browser — Ihr Code verlässt niemals Ihr Gerät.