Analisador de Atributos e Metadados .NET
Analise código-fonte C# e VB.NET para detectar e categorizar atributos de metadados .NET. Identifica atributos relacionados à ofuscação ([Obfuscation], [SuppressIldasm], [DebuggerHidden]), atributos de segurança ([SecurityCritical], [AllowPartiallyTrustedCallers]), atributos de serialização ([Serializable], [DataContract], [DataMember]), atributos COM/Interop ([DllImport], [ComVisible]), permissões de segurança de acesso ao código e marcadores de ofuscadores personalizados (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel, CryptoObfuscator, .NET Reactor). Cada atributo inclui uma explicação detalhada do seu propósito, uma classificação de relevância, o contexto do código ao redor e o número da linha. Grátis, privado e sem cadastro.
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!
Recursos
- 7 categorias de atributos com mais de 30 padrões de detecção: verifica automaticamente atributos de 7 categorias: ofuscação ([Obfuscation], [SuppressIldasm], [Obfuscate]), segurança ([SecurityCritical], [AllowPartiallyTrustedCallers]), serialização ([Serializable], [DataContract], [DataMember]), interop COM ([DllImport], [ComVisible], [Guid]), depurador ([DebuggerHidden], [DebuggerNonUserCode]), segurança de acesso ao código ([PermissionSet], [SecurityPermission]) e marcadores de ofuscadores personalizados (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel).
- Classificações de relevância e explicações detalhadas: cada atributo detectado inclui uma classificação de relevância (alta/média/baixa/informativa) e uma explicação detalhada de seu propósito, do que faz e por que importa para a análise de ofuscação. Atributos de alta relevância como [DebuggerHidden] sinalizam medidas anti-depuração, enquanto [ConfuserEx] identifica diretamente a ferramenta de ofuscação usada.
- Saída categorizada com visualização de código anotado: os atributos são agrupados por categoria com cartões codificados por cor para verificação visual instantânea. A visualização de código anotado adiciona comentários em linha em cada linha que contém atributos detectados, mostrando a categoria e o nome do atributo diretamente no contexto do código original.
- 100% local no navegador e privado: toda a análise de atributos .NET roda inteiramente no seu navegador. Seu código C#/VB.NET, todos os atributos detectados e os resultados da análise nunca saem do seu dispositivo. Sem envios a servidores, sem chamadas de API, sem armazenamento de dados e sem rastreamento. Seguro para analisar código proprietário ou assemblies .NET potencialmente maliciosos.
Casos de Uso
- Análise de malware e backdoors: analise malware .NET descompilado em busca de atributos suspeitos. [DllImport] com funções da API Win32 indica interação com o sistema. [DebuggerHidden] e [DebuggerNonUserCode] sugerem medidas anti-depuração. [OnDeserialized] pode ocultar lógica de execução pós-exploração em callbacks de serialização.
- Identificação de técnicas anti-depuração e antianálise: identifique rapidamente atributos anti-depuração como [DebuggerHidden], [DebuggerNonUserCode] e [DebuggerStepThrough] que o código .NET ofuscado usa para evadir a análise dinâmica. [SuppressIldasm] indica uma tentativa de bloquear a desmontagem de IL, embora ofereça proteção real mínima.
- Identificação da ferramenta de ofuscação: detecte atributos de ofuscadores personalizados que identificam qual ferramenta de ofuscação .NET foi usada. [ConfuserEx] e [Obfuscar] são ferramentas de código aberto, enquanto [Dotfuscator], [SmartAssembly] e [Babel] são produtos comerciais. Conhecer o ofuscador ajuda a escolher a abordagem de desofuscação correta.
- Auditorias de segurança de aplicativos .NET: durante auditorias de segurança de aplicativos .NET, procure [SuppressIldasm], que pode indicar tentativas de esconder código dos revisores. Verifique [AllowPartiallyTrustedCallers], que pode expor assemblies a chamadores não confiáveis. Revise [SecurityCritical] e [SecuritySafeCritical] para o uso correto da transparência de segurança.
- Ferramenta educacional sobre metadados .NET: aprenda o que os diferentes atributos de metadados .NET fazem e como afetam o comportamento do código. Entenda a diferença entre [Serializable] e [DataContract], por que [DllImport] é usado para interop com Win32 e como [Obfuscation(Exclude=true)] preserva membros específicos durante a ofuscação.
- Engenharia reversa de assemblies descompilados: ao fazer engenharia reversa de assemblies .NET descompilados, use o analisador de atributos para identificar rapidamente atributos-chave que revelam a estrutura do código. [Guid] identifica interfaces COM, [DataMember] marca campos serializados e [Obfuscation] mostra o que o autor original tentou proteger ou excluir.
Perguntas frequentes
O analisador detecta 7 categorias de atributos de metadados .NET: atributos relacionados à ofuscação ([Obfuscation], [SuppressIldasm], [Obfuscate], [ObfuscateAssembly]), atributos de segurança ([SecurityCritical], [SecuritySafeCritical], [AllowPartiallyTrustedCallers], [SecurityTransparent]), atributos de serialização ([Serializable], [NonSerialized], [DataContract], [DataMember], [KnownType], [OptionalField], callbacks de serialização), atributos COM/Interop ([ComVisible], [Guid], [DllImport], [MarshalAs], [StructLayout], [InterfaceType], [ClassInterface]), atributos de depuração ([DebuggerHidden], [DebuggerNonUserCode], [DebuggerStepThrough], [DebuggerBrowsable], [DebuggerDisplay]), atributos de segurança de acesso ao código ([SecurityPermission], [PermissionSet], [FileIOPermission] etc.) e atributos de ofuscadores personalizados (ConfuserEx, Dotfuscator, Obfuscar, SmartAssembly, Babel, CryptoObfuscator, .NET Reactor).
O atributo [SuppressIldasm] impede que o desassemblador de IL (ILDASM) veja o assembly. Foi uma das primeiras medidas anti-engenharia reversa no .NET. No entanto, ferramentas modernas como dnSpy, ILSpy e dotPeek conseguem contorná-lo facilmente, portanto oferece proteção mínima contra analistas determinados. Ainda assim, sua presença é um forte indicador de que o desenvolvedor tentou deliberadamente impedir a inspeção do código.
A ferramenta procura padrões de atributos exclusivos de ofuscadores específicos. Por exemplo, o ConfuserEx deixa marcadores de atributo [ConfuserEx] no assembly. O Dotfuscator usa atributos [Dotfuscator]. O Obfuscar usa marcadores [Obfuscar]. O SmartAssembly usa padrões [SmartAssembly] ou [SmartAssembly.*]. O Babel Obfuscator usa padrões [Babel.Obfuscator]. Cada detecção inclui uma descrição do ofuscador e dos recursos de proteção que ele oferece.
[DebuggerHidden] e [DebuggerNonUserCode] são muito usados em código ofuscado para dificultar a depuração e a análise dinâmica. [DebuggerHidden] impede que pontos de interrupção sejam definidos no método e que o depurador entre nele. [DebuggerNonUserCode] faz o depurador ignorar o código durante operações de passo a passo, dificultando o rastreamento de caminhos de execução ofuscados. Sua presença em código descompilado costuma ser um forte indicador de proteções anti-análise intencionais.
Não. Esta ferramenta analisa código-fonte C# ou VB.NET e código-fonte descompilado (de dnSpy, ILSpy, dotPeek etc.). Para analisar um assembly .NET compilado, primeiro descompile-o com uma ferramenta como dnSpy ou ILSpy e depois cole o código descompilado neste analisador. A ferramenta detectará os atributos de metadados presentes na saída descompilada.
A visualização de código anotado exibe seu código-fonte C# ou VB.NET original com comentários em linha em cada linha onde um atributo de metadados foi detectado. Cada anotação inclui a categoria e o nome do atributo, como "Ofuscação: diretiva de ofuscação" ou "Ofuscador personalizado: atributo ConfuserEx". Isso facilita percorrer visualmente o código e entender quais linhas têm atributos significativos.
Os atributos são agrupados em 7 categorias (Ofuscação, Segurança, Serialização, Interop, Depurador, Segurança de acesso ao código e Ofuscador personalizado). Dentro de cada categoria, os atributos aparecem na ordem em que foram encontrados no código. As categorias são ordenadas pelo número de atributos que contêm, com a mais frequente primeiro. Cada atributo inclui sua relevância (alta/média/baixa/informativa), uma explicação detalhada, o trecho de código ao redor e o número da linha.
Com certeza. O Analisador de Atributos e Metadados .NET roda inteiramente no seu navegador. Seu código C# ou VB.NET, todos os atributos detectados, os resultados da análise e o código anotado nunca são enviados a nenhum servidor nem transmitidos pela rede. Todo o processamento acontece localmente no seu dispositivo, sem chamadas de API nem coleta de dados.
Sim — 100% gratuita, sem cadastro, sem conta e sem limites de uso. Analise quanto código .NET precisar, quantas vezes quiser. Não há níveis premium, cobranças ocultas nem limites de taxa. A ferramenta roda inteiramente no seu navegador — seu código nunca sai do seu dispositivo.