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
uEmu — Pequeno e fofo plugin de emulador para IDA baseado no unicorn. | Kitploit
Ferramentas/GitHubGitHub/alexhude/uemu
Segurança de Sistemas EmbarcadosAnálise Dinâmica (Sandboxing)Engenharia ReversaDepuradoresAnálise de BináriosAnálise de Firmware
GitHubalexhude/uemu

uEmu

Pequeno e fofo plugin de emulador para IDA baseado no unicorn.

Ver Repositório
1.2k18322há 1 mêsRevisado 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

Visão Geral

uEmu é um plugin de emulador pequeno e bonitinho para IDA baseado no motor Unicorn.

Suporta as seguintes arquiteturas prontas para uso: x86, x64, ARM, ARM64, MIPS, MIPS64

Para que é BOM?

  • Emular código bare metal (bootloaders, firmware embarcado, etc.)
  • Emular funções autônomas

Para que é RUIM?

  • Emular código de SO complexo (bibliotecas dinâmicas, processos, etc.)
  • Emular código com muitas chamadas de sistema

O que pode ser melhorado?

  • Encontrar uma maneira de emular acesso a registradores específicos do fornecedor (como MSR S3_x, X0 para ARM64)
  • Adicionar mais registradores para rastrear

Instalação

  • Configure o IDAPython através do idapyswitch
  • brew install unicorn para instalar os binários do Unicorn
  • pip install unicorn para instalar os bindings Python do Unicorn
  • Use File / Script file... ou ALT+F7 no IDA para carregar o uEmu.py

Opcionalmente, o uEmu pode ser carregado automaticamente como um plugin do IDA. Nesse caso, coloque-o na pasta [IDA]/Plugins e altere USE_AS_SCRIPT para False dentro do uEmu.py

Funcionalidades

Popup Menu

  • O comando Start inicializa o emulador mapeando todos os segmentos e configurando o Unicorn
  • O comando Run emula instruções até que um breakpoint seja alcançado ou ocorra um erro
  • Step emula uma ou N instruções (segure ALT/OPTION para especificar um número)
  • Stop interrompe a emulação
  • Reset redefine o motor de emulação e desmapeia todas as regiões de memória
  • Jump To PC simplesmente salta para o PC atual
  • Set PC move o PC para o cursor
  • É possível Atualizar o Contexto da CPU manualmente ou através de um arquivo JSON (veja abaixo)
  • Show Controls exibe uma janela com botões Start/Run/Step/Stop
  • Show CPU Context exibe uma janela com os registradores disponíveis
  • Show CPU Extended Context exibe uma janela com registradores estendidos (FP/SIMD)
  • Show Stack exibe uma janela com a Pilha atual
  • Show Memory Range permite exibir uma região específica de memória

Start

Inicie a emulação a partir do cursor. É necessário fornecer o contexto inicial da CPU primeiro (veja Atualizar Contexto da CPU). Depois disso, todos os segmentos do banco de dados do IDA serão mapeados para o emulador (dados inicializados também serão copiados).

Run

Execute o código até que um breakpoint de código ou memória seja alcançado ou haja um evento que exija ação do usuário.

Step

Execute uma única instrução. Segure ALT/OPTION para especificar o número de passos a executar.

Stop

Quando a emulação estiver em andamento, este comando pode ser usado para interromper a execução.

Reset

Redefine a instância do emulador e desmapeia todas as regiões de memória.

Breakpoints

Você pode usar os breakpoints do IDA para indicar locais onde a emulação deve ser interrompida. Isso inclui breakpoints de código e memória. Geralmente usado junto com o comando Run.

Ações em tempo de execução

Memória não mapeada

Quando o emulador precisa acessar memória que ainda não foi mapeada, o plugin mostrará o seguinte diálogo.

  • Pressione SIM para fornecer um dump de memória a ser carregado na memória.

  • Pressione NÃO para mapear uma página vazia (0x1000) preenchida com zeros
  • Pressione Cancelar para parar a emulação

Instruções desconhecidas

Quando o emulador encontra uma instrução desconhecida, é possível ignorá-la e restaurar o contexto da CPU manualmente.

Visualizações

Controles

Apenas um painel para controlar a execução.

Contexto da CPU

Contexto atual da CPU.

Toda vez que a emulação parar, os registradores alterados serão destacados. Os registradores podem ser exibidos em 1, 2 ou 3 colunas através do menu popup.

É possível atualizar o contexto da CPU através do menu popup (veja abaixo).

Contexto Estendido da CPU

Contexto estendido atual da CPU.

Toda vez que a emulação parar, os registradores alterados serão destacados. Os registradores podem ser exibidos em 1, 2 ou 3 colunas através do menu popup.

É possível atualizar o contexto da CPU através do menu popup (veja abaixo).

Memória

Use esta visualização para observar regiões de memória para um endereço e tamanho especificados. Um comentário será exibido no título por conveniência.

Toda vez que a emulação parar, os blocos de memória alterados serão destacados.

Atualizar Contexto da CPU

Os valores dos registradores podem ser alterados individualmente ou todos de uma vez com um arquivo JSON através do menu popup. O contexto atual também pode ser salvo em um arquivo JSON para uso futuro.

Menu Principal do Plugin

Além de todas as funções listadas no Menu Popup, existem alguns novos comandos.

Mostrar Memória Mapeada

Exibe todas as regiões mapeadas. Use o menu popup para exibir a memória de uma região específica ou despejá-la em um arquivo.

Buscar Segmentos

Este comando tenta sincronizar os segmentos do IDA com a memória mapeada, criando novos mapeamentos ou mesclando com os existentes, se possível. Isso ajuda a adicionar novos segmentos do IDA ao emulador em tempo de execução sem reiniciar o emulador.

Carregar Projeto

Carregar estado do uEmu a partir de um arquivo.

Salvar Projeto

Salvar estado do uEmu em um arquivo. Observe que apenas os registradores definidos no plugin são salvos.

Configurações

Baixar ferramenta