Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
binaryninja-ollama — Plugin para o Binary Ninja que integra modelos locais do Ollama para renomear funções e variáveis em código HLIL descompilado, preservando a privacidade ao manter a análise totalmente local e offline. | Kitploit
Ferramentas/GitHubGitHub/ahaggard2013/binaryninja-ollama
Análise de CódigoEngenharia ReversaPrivacidadeAnálise de BináriosAprendizado de MáquinaEngenharia Reversa Assistida por IA
GitHubahaggard2013/binaryninja-ollama

binaryninja-ollama

Plugin para o Binary Ninja que integra modelos locais do Ollama para renomear funções e variáveis em código HLIL descompilado, preservando a privacidade ao manter a análise totalmente local e offline.

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
Ver Repositório
831122há 1 anoRevisado pelo Kitploit

"Buy Me A Coffee"

Binary Ninja Ollama (v1.0.9)

Autor: Austin Haggard

O Binary Ninja Ollama se integra ao seu próprio servidor ollama hospedado localmente para renomear funções e variáveis com IA

Descrição:

Ollama é uma ferramenta que permite baixar modelos de IA de código aberto e executá-los localmente. Alguns modelos exigem muito poder de processamento, enquanto outros podem ser executados no seu notebook pessoal. Os resultados variam bastante dependendo do modelo que você escolher usar :).

Por que usar isso em vez de sidekick/openai?

  1. É GRATUITO e fácil de configurar localmente.
  2. Eu mencionei que é GRATUITO?
  3. Pode ser executado em qualquer lugar sem internet!
  4. Seus dados ficam apenas entre você e seu servidor ollama, sem terceiros.

Recursos

Este plugin integra o Ollama ao Binary Ninja e oferece suporte às ações listadas abaixo:

  • Definir qual servidor/porta o binary ninja deve usar para se conectar ao ollama.
    • Tem um PC gamer (muito) potente? Use-o para hospedar o ollama e aponte o binja para llama3:70b/gemma2:27b.
    • Está rodando isso em um notebook? Hospede localmente, defina como localhost e execute gemma2:latest/llama3:latest.
    • Existem vários outros modelos para experimentar, mas testei principalmente com variantes de llama3/gemma2 com resultados decentes.
  • Consultar seu servidor ollama hospedado localmente para determinar o que uma determinada função faz.
    • Isso pode ser usado para renomear todas as funções em massa, ou funções individuais específicas.
  • Permite que os usuários renomeiem variáveis em HLIL usando ollama.
    • Isso pode ser usado para renomear variáveis individuais dentro de uma instrução.
    • Isso pode ser usado para renomear todas as variáveis dentro de uma função.

Instalação

Se você estiver instalando isso como um plugin autônomo, pode colocar (ou criar um sym-link) na pasta de plugins do Binary Ninja. Os caminhos padrão estão detalhados na documentação do Vector 35.

Dependências

  • Python 3.10+
  • ollama instalado com pip3 install ollama

Servidor Ollama

Isso exige que você tenha acesso a um servidor ollama ou hospede o seu próprio servidor e baixe quaisquer modelos que queira usar.

Siga as instruções em https://ollama.com para configurar seu servidor e baixar quaisquer modelos que queira experimentar. Depois disso, um servidor deve ser iniciado automaticamente e acessado via localhost:11434.

Uso

Renomear todas as variáveis de função

A opção de renomear todas as variáveis de função analisará todas as variáveis dentro de uma função e tentará renomeá-las com base no seguinte prompt:

prompt = (
             f"In one word, what should the variable '{variable}' be named in the below Function? "
             f"The name must meet the following criteria: all lowercase letters, usable in Python code"
)

Antes da renomeação de variáveis Depois da renomeação de variáveis

Renomear todas as funções

A opção de renomear todas as funções percorrerá todas as funções, da menor para a maior, dentro de uma binaryview e as renomeará com base no prompt:

prompt = (
    f"Given the following HLIL decompiled code snippet, provide a Python-style function name that describes what the code is doing. "
    f"The name must meet the following criteria: all lowercase letters, usable in Python code, with underscores between words. "
    f"Only return the function name and no other explanation or text data included."
)

Antes da renomeação de funções Depois da renomeação de funções Depois da renomeação de funções

Renomear função alvo

Renomear uma função alvo usa o mesmo prompt da renomeação de todas as funções, mas limita-o à função selecionada ao acionar o plugin.

Renomear variável da função alvo

Renomear uma variável alvo usa o mesmo prompt da renomeação de todas as variáveis, mas limita-o à função selecionada ao acionar o plugin.

Configurações

As configurações são acionadas na primeira chamada a qualquer operação de renomeação quando o binary ninja é iniciado pela primeira vez, ou acionando-as manualmente. As configurações aplicadas persistirão durante uma sessão do binary ninja.

A janela de configurações permite definir o IP, a porta e o modelo a serem usados no ollama. Apenas modelos baixados são selecionáveis.

Opção de configurações do plugin Opções de conexão do plugin Opções de modelo do plugin

Problemas conhecidos

  • Em funções maiores, a IA ignorará o prompt e retornará grandes blocos de texto descrevendo a função. Isso é mitigado ao ignorar o valor retornado e registrar um log "can't rename function', mas poderia ser investigado mais a fundo
  • O servidor escolhido não existir poderia ser tratado de forma melhor.

Solicitação de recursos

  • Há algo em que você tenha interesse que não esteja incluído?

    • Abra uma issue!
    • Faça um pull request.
  • Ideias:

    • renomear variáveis individuais em vez de todas as variáveis de uma linha
    • gerar comentários de IA descrevendo o código
    • Recuperação de Estrutura

Licença

Este plugin é lançado sob a licença MIT.

Baixar ferramenta