Перейти к содержимому
Aback Tools Logo

Анализатор атрибутов и метаданных .NET

Сканируйте исходный код C# и VB.NET, чтобы находить и классифицировать атрибуты метаданных .NET. Определяет атрибуты, связанные с обфускацией ([Obfuscation], [SuppressIldasm], [DebuggerHidden]), атрибуты безопасности ([SecurityCritical], [AllowPartiallyTrustedCallers]), атрибуты сериализации ([Serializable], [DataContract], [DataMember]), атрибуты COM/Interop ([DllImport], [ComVisible]), разрешения безопасности доступа к коду и маркеры сторонних обфускаторов (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel, CryptoObfuscator, .NET Reactor). Для каждого атрибута приводится подробное объяснение его назначения, оценка значимости, окружающий контекст кода и номер строки. Бесплатно, конфиденциально и без регистрации.

.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!

Возможности

  • 7 категорий атрибутов с более чем 30 шаблонами обнаружения: автоматически сканирует атрибуты по 7 категориям: обфускация ([Obfuscation], [SuppressIldasm], [Obfuscate]), безопасность ([SecurityCritical], [AllowPartiallyTrustedCallers]), сериализация ([Serializable], [DataContract], [DataMember]), COM-взаимодействие ([DllImport], [ComVisible], [Guid]), отладчик ([DebuggerHidden], [DebuggerNonUserCode]), безопасность доступа к коду ([PermissionSet], [SecurityPermission]) и маркеры сторонних обфускаторов (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel).
  • Оценки значимости и подробные объяснения: для каждого обнаруженного атрибута приводится оценка значимости (высокая/средняя/низкая/информационная) и подробное объяснение его назначения, действий и важности для анализа обфускации. Атрибуты высокой значимости, такие как [DebuggerHidden], указывают на меры против отладки, а [ConfuserEx] прямо определяет использованный инструмент обфускации.
  • Категоризированный вывод с аннотированным видом кода: атрибуты группируются по категориям с цветными карточками для мгновенного визуального просмотра. Аннотированный вид кода добавляет встроенные комментарии в каждую строку с обнаруженными атрибутами, показывая категорию и название атрибута прямо в контексте исходного кода.
  • 100 % локально в браузере и конфиденциально: весь анализ атрибутов .NET выполняется полностью в вашем браузере. Ваш код C#/VB.NET, все обнаруженные атрибуты и результаты анализа никогда не покидают устройство. Без загрузки на сервер, без вызовов API, без хранения данных и без отслеживания. Безопасно для анализа проприетарного кода и потенциально вредоносных сборок .NET.

Сценарии использования

  • Анализ вредоносного ПО и бэкдоров: анализируйте декомпилированное вредоносное ПО .NET на подозрительные атрибуты. [DllImport] с функциями Win32 API указывает на взаимодействие с системой. [DebuggerHidden] и [DebuggerNonUserCode] говорят о мерах против отладки. [OnDeserialized] может скрывать логику выполнения после эксплуатации в колбэках сериализации.
  • Выявление методов защиты от отладки и анализа: быстро находите атрибуты против отладки, такие как [DebuggerHidden], [DebuggerNonUserCode] и [DebuggerStepThrough], которые обфусцированный код .NET использует для обхода динамического анализа. [SuppressIldasm] указывает на попытку заблокировать дизассемблирование IL, хотя даёт минимальную реальную защиту.
  • Определение инструмента обфускации: обнаруживайте атрибуты сторонних обфускаторов, указывающие, какой инструмент обфускации .NET применялся. [ConfuserEx] и [Obfuscar] - инструменты с открытым исходным кодом, а [Dotfuscator], [SmartAssembly] и [Babel] - коммерческие продукты. Знание обфускатора помогает выбрать правильный подход к деобфускации.
  • Аудит безопасности приложений .NET: во время аудита безопасности приложений .NET ищите [SuppressIldasm], который может указывать на попытки скрыть код от проверяющих. Проверяйте [AllowPartiallyTrustedCallers], который может открывать сборки недоверенным вызывающим сторонам. Анализируйте [SecurityCritical] и [SecuritySafeCritical] на корректное использование прозрачности безопасности.
  • Обучающий инструмент по метаданным .NET: узнайте, что делают разные атрибуты метаданных .NET и как они влияют на поведение кода. Поймите разницу между [Serializable] и [DataContract], зачем [DllImport] используется для взаимодействия с Win32 и как [Obfuscation(Exclude=true)] сохраняет отдельные члены при обфускации.
  • Обратная разработка декомпилированных сборок: при обратной разработке декомпилированных сборок .NET используйте анализатор атрибутов, чтобы быстро находить ключевые атрибуты, раскрывающие структуру кода. [Guid] определяет COM-интерфейсы, [DataMember] помечает сериализуемые поля, а [Obfuscation] показывает, что автор пытался защитить или исключить.

Часто задаваемые вопросы

Анализатор обнаруживает 7 категорий атрибутов метаданных .NET: атрибуты, связанные с обфускацией ([Obfuscation], [SuppressIldasm], [Obfuscate], [ObfuscateAssembly]); атрибуты безопасности ([SecurityCritical], [SecuritySafeCritical], [AllowPartiallyTrustedCallers], [SecurityTransparent]); атрибуты сериализации ([Serializable], [NonSerialized], [DataContract], [DataMember], [KnownType], [OptionalField], колбэки сериализации); атрибуты COM/Interop ([ComVisible], [Guid], [DllImport], [MarshalAs], [StructLayout], [InterfaceType], [ClassInterface]); атрибуты отладчика ([DebuggerHidden], [DebuggerNonUserCode], [DebuggerStepThrough], [DebuggerBrowsable], [DebuggerDisplay]); атрибуты безопасности доступа к коду ([SecurityPermission], [PermissionSet], [FileIOPermission] и др.) и атрибуты сторонних обфускаторов (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel, CryptoObfuscator, .NET Reactor).

Атрибут [SuppressIldasm] не позволяет дизассемблеру IL (ILDASM) просматривать сборку. Это была одна из первых мер против обратной разработки в .NET. Однако современные инструменты вроде dnSpy, ILSpy и dotPeek легко его обходят, поэтому он даёт минимальную защиту от целеустремлённых аналитиков. Тем не менее его наличие - сильный признак того, что разработчик намеренно пытался помешать изучению кода.

Инструмент ищет шаблоны атрибутов, характерные для конкретных обфускаторов. Например, ConfuserEx оставляет в сборке маркеры атрибута [ConfuserEx]. Dotfuscator использует атрибуты [Dotfuscator]. Obfuscar - маркеры [Obfuscar]. SmartAssembly - шаблоны [SmartAssembly] или [SmartAssembly.*]. Babel Obfuscator - шаблоны [Babel.Obfuscator]. Каждое обнаружение сопровождается описанием обфускатора и предоставляемых им функций защиты.

[DebuggerHidden] и [DebuggerNonUserCode] часто используются в обфусцированном коде, чтобы затруднить отладку и динамический анализ. [DebuggerHidden] не позволяет ставить точки останова на метод и запрещает отладчику входить в него. [DebuggerNonUserCode] заставляет отладчик пропускать код при пошаговом выполнении, что усложняет трассировку обфусцированных путей выполнения. Их наличие в декомпилированном коде часто является сильным признаком намеренных мер антианализа.

Нет. Этот инструмент анализирует исходный код C# или VB.NET и декомпилированный исходный код (из dnSpy, ILSpy, dotPeek и др.). Чтобы проанализировать скомпилированную сборку .NET, сначала декомпилируйте её инструментом вроде dnSpy или ILSpy, а затем вставьте декомпилированный код в этот анализатор. Инструмент найдёт все атрибуты метаданных, присутствующие в декомпилированном выводе.

Аннотированный вид кода отображает ваш исходный код C# или VB.NET со встроенными комментариями в каждой строке, где обнаружен атрибут метаданных. Каждая аннотация включает категорию и название атрибута, например «Обфускация: директива обфускации» или «Сторонний обфускатор: атрибут ConfuserEx». Так легко визуально просматривать код и понимать, в каких строках есть значимые атрибуты.

Атрибуты группируются в 7 категорий (обфускация, безопасность, сериализация, Interop, отладчик, безопасность доступа к коду и сторонний обфускатор). Внутри каждой категории атрибуты отображаются в порядке их появления в коде. Категории сортируются по количеству содержащихся в них атрибутов: самая распространённая идёт первой. Для каждого атрибута указаны его релевантность (высокая/средняя/низкая/информационная), подробное объяснение, окружающий фрагмент кода и номер строки.

Безусловно. Анализатор атрибутов и метаданных .NET работает полностью в вашем браузере. Ваш код C# или VB.NET, все обнаруженные атрибуты, результаты анализа и аннотированный код никогда не загружаются на сервер и не передаются по сети. Вся обработка выполняется локально на вашем устройстве без вызовов API и сбора данных.

Да — на 100 % бесплатный, без регистрации, аккаунта и ограничений на использование. Анализируйте столько кода .NET, сколько нужно, сколько угодно раз. Никаких премиум-тарифов, скрытых платежей и ограничений по частоте. Инструмент работает полностью в вашем браузере — ваш код никогда не покидает устройство.