Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
dotNIET — Plugin do IDA Pro que importa símbolos resolvidos em tempo de execução em binários .NET Native, analisando o SharedLibrary.dll e seu PDB para restaurar imports ausentes para análise. | Kitploit
Ferramentas/GitHubGitHub/synacktiv/dotniet
Análise EstáticaEngenharia ReversaAnálise de Binários
GitHubsynacktiv/dotniet

dotNIET

Plugin do IDA Pro que importa símbolos resolvidos em tempo de execução em binários .NET Native, analisando o SharedLibrary.dll e seu PDB para restaurar imports ausentes para análise.

Ver Repositório
112112há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
vladimir    

.NIET

Alt text

.NIET é um plugin para IDA Pro. Sua finalidade é importar símbolos ausentes (geralmente alguns milhares) que são resolvidos em tempo de execução por binários compilados com .NET Native. Esses símbolos residem em SharedLibrary.dll e não são exportados por ela.

.NIET foi testado no IDA Pro 7.5 usando python 3.8 nas seguintes plataformas:

  • Windows
  • Linux

Este plugin atualmente suporta as seguintes versões do .NET Native framework:

  • 1.3
  • 1.6
  • 1.7
  • 2.2

Por favor, crie uma issue se você encontrar outra versão.

Instalação

Copie estes elementos para o diretório de plugins do seu IDA Pro:

root@kitploit:~
dotNIET_plugin.py
dotNIET\

Dependências

.NIET depende do pefile para analisar diretórios de recursos.

pefile pode ser instalado da seguinte forma:

root@kitploit:~
pip install pefile

Requisitos

Como os símbolos são importados de SharedLibrary.dll, este arquivo deve ser fornecido ao .NIET juntamente com seu pdb (sua localização é procurada pelo plugin dentro de _NT_SYMBOL_PATH).

Helpers são implementados para identificar versões do .NET Native framework e verificar se o pdb de SharedLibrary.dll existe no caminho de símbolos configurado.

Uso

Alt text

O .NIET pode ser iniciado usando o atalho Alt-Shift-N ou através do menu Edit/Plugins.

Ao iniciar, o plugin tenta identificar a versão do .NET Native framework do binário atual. Tudo o que você precisa fazer é selecionar SharedLibrary.dll na versão correta e clicar em Run.

O .NIET identificará a versão do .NET Native framework da dll alvo e exibirá uma mensagem se as versões não forem as mesmas. Os números de versão Major e Minor geralmente são os únicos que importam.

Funcionamento

O .NIET procura pela tabela de descritores de importação personalizados do .NET Native na seção .rdata. Para isso, ele lê em offsets específicos de uma estrutura Custom Header e então analisa um array de ordinais.

Esse array de ordinais aponta para várias localizações dentro das entradas da tabela personalizada de SharedLibrary.dll.

A resolução de símbolos é alcançada iniciando uma instância headless do IDA Pro através de seu binário idat para analisar o pdb de SharedLibrary.dll.

Convenção de nomenclatura dos símbolos importados

Os símbolos são importados como estão, se possível, mas alguns casos extremos podem ser encontrados:

  • às vezes, endereços importados são apenas símbolos jmpstubs para offsets ou instruções jmp únicas para símbolos. Seus nomes de símbolo são substituídos pelo .NIET pelo nome da função alvo, precedido por jmp_
  • alguns endereços resolvidos pelo runtime do .NET Native apontam para símbolos após múltiplas desreferências. Se o .NIET não conseguir encontrar um símbolo em um endereço importado, ele tenta desreferenciar até encontrar um. deref_X é anexado a esse nome de símbolo, se encontrado, com X sendo o número de desreferências.
  • alguns endereços apontam para offsets dentro de uma tabela EETableSection. Sendo novo no .NET Native, não faço ideia do que isso é (ainda?), então esses endereços são rotulados como EETableSection_XXX, sendo XXX os offsets de EETableSection dentro de SharedLibrary.dll

Limitações conhecidas

  • Não funciona (ainda) na versão do IDA Pro para macOS
  • O .NIET é bastante lento, pois exige analisar o pdb de binários bastante grandes
  • a opção "restore .idata" (tipo uma opção "desfazer") apenas remove a definição dos símbolos importados. Como o IDA propaga nomes automaticamente durante a importação, você provavelmente precisará executar a análise automática novamente se quiser remover todos os vestígios dos símbolos importados. Uma alternativa poderia ser criar um snapshot do banco de dados antes de executar o plugin.
  • O .NIET analisa símbolos apenas do módulo SharedLibrary.dll, embora a rotina original responsável pela resolução de símbolos provavelmente ofereça a possibilidade de analisar outros módulos (não sei se isso realmente ocorre além do módulo SharedLibrary.dll)

Solução de problemas

O logfile do idat é definido como %tmpdir%/dotNIETlogs.txt

Por que esse nome

Porque fazer engenharia reversa do .NET Native é um pesadelo

Baixar ferramenta