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
PowerShellArsenal — Um Módulo PowerShell Dedicado à Engenharia Reversa | Kitploit
Ferramentas/GitHubGitHub/mattifestation/powershellarsenal
Análise EstáticaAnálise Dinâmica (Sandboxing)Ferramentas de Criptografia/DescriptografiaForensia de MemóriaEngenharia ReversaDepuradoresAnálise ForenseAnálise de MalwareAnálise de Binários
GitHubmattifestation/powershellarsenal

PowerShellArsenal

Um Módulo PowerShell Dedicado à Engenharia Reversa

9002056há 5 anosRevisado pelo Kitploit
Ver Repositório

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

PowerShellArsenal é um módulo PowerShell usado para auxiliar um engenheiro reverso. O módulo pode ser usado para desmontar código gerenciado e não gerenciado, realizar análise de malware .NET, analisar/extrair memória, analisar formatos de arquivo e estruturas de memória, obter informações internas do sistema, etc. O PowerShellArsenal é composto pelas seguintes ferramentas:

Desmontagem

Desmonte código nativo e gerenciado.

Get-CSDisassembly

Desmonta um array de bytes usando o framework de desmontagem Capstone Engine.

Get-ILDisassembly

Desmonta um array de bytes MSIL bruto passado de um objeto MethodInfo de maneira similar ao Ildasm.

Análise de Malware

Ferramentas úteis ao realizar análise de malware.

New-FunctionDelegate

Fornece um wrapper executável para uma função X86 ou X86_64.

Invoke-LoadLibrary

Carrega uma DLL no processo atual do PowerShell.

New-DllExportFunction

Cria um delegate wrapper executável em torno de uma função exportada não gerenciada.

Get-HostsFile

Analisa um arquivo HOSTS.

New-HostsFileEntry

Substitui ou anexa uma entrada a um arquivo HOSTS.

Remove-HostsFileEntry

Remove uma entrada ou série de entradas de um arquivo HOSTS.

Get-AssemblyStrings

Exibe todas as strings de um executável .NET.

Get-AssemblyResources

Extrai recursos gerenciados de um assembly .NET

Remove-AssemblySuppressIldasmAttribute

Remove o atributo SuppressIldasmAttribute de um assembly .NET.

Get-AssemblyImplementedMethods

Retorna todos os métodos em um assembly que são implementados em MSIL.

Ferramentas de Memória

Inspecionar e analisar memória de processos

Get-ProcessStrings

Exibe todas as strings imprimíveis da memória em modo de usuário de um processo.

Get-VirtualMemoryInfo

Um wrapper para kernel32!VirtualQueryEx

Get-ProcessMemoryInfo

Recupera informações de memória virtual para cada conjunto único de páginas na memória do usuário. Esta função é semelhante ao comando !vadump do WinDbg.

Get-StructFromMemory

Marshals dados de um bloco de memória não gerenciado em um processo arbitrário para um objeto gerenciado recém-alocado do tipo especificado.

Analisadores

Analisar formatos de arquivo e estruturas em memória.

Get-PE

Um analisador de PE em disco e em memória e despejador de processo.

Find-ProcessPEs

Encontra executáveis portáteis na memória independentemente de terem sido carregados de forma legítima.

Get-LibSymbols

Exibe informações simbólicas de arquivos LIB do Windows.

Get-ObjDump

Exibe informações sobre arquivos objeto (OBJ) do Windows.

Internos do Windows

Obter e analisar informações de baixo nível do sistema operacional Windows.

Get-NtSystemInformation

Um utilitário que chama e analisa a saída da função ntdll!NtQuerySystemInformation. Este utilitário pode ser usado para consultar informações internas do SO que normalmente não são visíveis para um usuário.

Get-PEB

Retorna o bloco de ambiente do processo (PEB) de um processo.

Register-ProcessModuleTrace

Inicia um rastreamento de módulos de processo carregados

Get-ProcessModuleTrace

Exibe os módulos de processo que foram carregados desde a chamada para Register-ProcessModuleTrace

Unregister-ProcessModuleTrace

Para o rastreamento de módulo de processo em execução

Get-SystemInfo

Um wrapper para kernel32!GetSystemInfo

Diversos

Funções auxiliares diversas

Get-Member

Uma função proxy usada para estender o cmdlet Get-Member interno. Adiciona o parâmetro '-Private' permitindo exibir membros .NET não públicos

Get-Strings

Despeja strings de arquivos em Unicode e Ascii. Este cmdlet replica a funcionalidade do strings.exe da Sysinternals.

ConvertTo-String

Converte os bytes de um arquivo em uma string que tem um mapeamento 1 para 1 de volta para os bytes originais do arquivo. ConvertTo-String é útil para realizar expressões regulares binárias.

Get-Entropy

Calcula a entropia de um arquivo ou array de bytes.

Lib

Bibliotecas necessárias para algumas funções de RE.

Capstone

O binding C# do mecanismo de desmontagem Capstone.

De4dot

Uma poderosa biblioteca de desofuscação .NET e análise de PE .NET.

PSReflect

Um módulo usado para definir facilmente enums, structs e funções Win32 na memória.

Formatters

Arquivos ps1xml usados para formatar a saída de várias funções do PowerShellArsenal.

Licença

O módulo PowerShellArsenal e todos os scripts individuais estão sob a licença BSD 3-Clause a menos que explicitamente indicado de outra forma.

Uso

Consulte a ajuda baseada em comentários em cada script individual para obter informações detalhadas de uso.

Para instalar este módulo, coloque toda a pasta PowerShellArsenal em um de seus diretórios de módulos. Os caminhos padrão dos módulos do PowerShell estão listados na variável de ambiente $Env:PSModulePath.

O caminho padrão por usuário do módulo é: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" O caminho padrão do módulo em nível de computador é: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

Para usar o módulo, digite Import-Module PowerShellArsenal

Para ver os comandos importados, digite Get-Command -Module PowerShellArsenal

Se você estiver usando PowerShell v3 e quiser remover o irritante aviso 'Você realmente deseja executar scripts baixados da Internet', depois de colocar o PowerShellArsenal em seu caminho de módulo, execute o seguinte one-liner: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerShellArsenal) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

Para obter ajuda em cada comando individual, Get-Help é seu amigo.

Nota: As ferramentas contidas neste módulo foram projetadas para serem executadas individualmente. Incluí-las em um módulo simplesmente contribui para uma maior portabilidade.

Guia de Estilo de Script

Para todos os contribuidores e futuros contribuidores do PowerShellArsenal, peço que sigam este guia de estilo ao escrever seus scripts/módulos.

  • Evite Write-Host a todo custo. Funções/cmdlets do PowerShell não são utilitários de linha de comando! Pull requests contendo código que use Write-Host não serão considerados. Você deve gerar objetos personalizados. Para mais informações sobre criação de objetos personalizados, leia estes artigos:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • Se você quiser exibir informações de depuração relevantes na tela, use Write-Verbose. O usuário pode simplesmente adicionar '-Verbose'.

  • Sempre forneça uma ajuda descritiva baseada em comentários para cada script. Além disso, certifique-se de incluir seu nome e uma licença BSD 3-Clause (a menos que haja circunstâncias atenuantes que impeçam a aplicação da licença BSD).

  • Certifique-se de que todas as funções sigam a concordância verbo-substantivo adequada do PowerShell. Use Get-Verb para listar os verbos padrão usados pelo PowerShell. Exceções a verbos suportados serão consideradas caso a caso.

  • Prefiro que nomes de variáveis sejam capitalizados e o mais descritivos possível.

  • Forneça espaçamento lógico entre seu código. Indente seu código para torná-lo mais legível.

  • Se você se pegar repetindo código, escreva uma função.

  • Capture todos os erros antecipados e forneça uma saída significativa. Se você tiver um erro que deve interromper a execução do script, use 'Throw'. Se você tiver um erro que não precisa interromper a execução, use Write-Error.

  • Se você estiver escrevendo um script que interage com a API Win32, tente evitar compilar C# inline com Add-Type. Tente usar o módulo PSReflect, se possível.

  • Não use caminhos codificados. Um script deve ser utilizável imediatamente. Ninguém deve precisar modificar o código a menos que queira.

  • A compatibilidade com PowerShell v2 é altamente desejada.

  • Use parâmetros posicionais e torne os parâmetros obrigatórios quando fizer sentido. Por exemplo, estou procurando algo como:

    • [Parameter(Position = 0, Mandatory = $True)]
  • Não use nenhum alias a menos que faça sentido para receber entrada de pipeline. Eles tornam o código mais difícil de ler para pessoas que não estão familiarizadas com um alias específico.

  • Tente não deixar comandos se estenderem por muito tempo. Por exemplo, um pipeline é um lugar natural para uma quebra de linha.

  • Não exagere nos comentários inline. Use-os apenas quando certos aspectos do código possam ser confusos para um leitor.

  • Em vez de usar Out-Null para suprimir saída indesejada/irrelevante, salve a saída indesejada em $null. Isso proporciona um pequeno ganho de desempenho.

  • Use valores padrão para seus parâmetros quando fizer sentido. Idealmente, você quer um script que funcione sem exigir nenhum parâmetro.

  • Declare explicitamente todas as dependências necessárias e opcionais na ajuda baseada em comentários da sua função. Todas as dependências de biblioteca devem residir na pasta 'Lib'.

  • Se um script cria objetos personalizados complexos, inclua um arquivo ps1xml que formatará adequadamente a saída do objeto. Arquivos ps1xml são armazenados em Lib\Formatters.

Baixar ferramenta