Repolode
unicorn-engine

unicorn-engine/unicorn

Framework leve de emulação de CPU baseado no QEMU, que executa código de máquina de várias arquiteturas por meio de uma API limpa e independente de arquitetura.

Estrelas
9,535
Forks
1,585
Issues abertas
237
Último commit
há 19 dias

O que é?

Unicorn é um framework de emulação de CPU baseado no QEMU. Ele permite carregar e executar código de máquina para arquiteturas como ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore e X86 (16, 32 e 64 bits), sem precisar executar um sistema operacional completo nem usar hardware físico.

O framework oferece uma única API independente de arquitetura, então o mesmo código para configurar registradores, mapear memória e executar instruções funciona em todas as CPUs compatíveis. Ele é implementado em C e tem bindings para várias linguagens, incluindo Python, Rust, Go, Java, .NET, Ruby e Lua. Funciona no Windows e em sistemas *nix, como Linux, macOS, Android e BSDs.

Unicorn usa compilação just-in-time para oferecer mais desempenho e disponibiliza hooks para instrumentação detalhada em vários níveis. É distribuído sob a licença GPLv2.

Recursos principais

  • 01Emula CPUs ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore e X86.
  • 02Oferece uma API limpa e independente de arquitetura, compartilhada por todas as CPUs compatíveis.
  • 03Disponibiliza bindings para Python, Rust, Go, Java, .NET e várias outras linguagens.
  • 04Usa compilação just-in-time para acelerar a execução.
  • 05Oferece hooks de instrumentação detalhada durante a emulação.

Casos de uso

  • Analisar ou fazer engenharia reversa de código de máquina para várias arquiteturas de CPU.
  • Fazer fuzzing de binários executando código em um ambiente emulado e controlado.
  • Testar firmware ou código embarcado sem hardware físico.
  • Criar ferramentas personalizadas que precisam executar instruções com instrumentação.

Início rápido

  1. 1

    Leia o guia de compilação e instalação em docs/COMPILE.md

  2. 2

    Instale os bindings de Python pelo PyPI

    pip install unicorn

Antes de usar

  • Licenciado sob a GPLv2, uma licença copyleft que pode restringir o uso em software proprietário.
  • O README não oferece uma opção de instalação pré-compilada para outras linguagens além do guia de compilação mencionado.

Em coleções

Tópicos

Perguntas frequentes

O que é unicorn?
Framework leve de emulação de CPU baseado no QEMU, que executa código de máquina de várias arquiteturas por meio de uma API limpa e independente de arquitetura. Unicorn é um framework de emulação de CPU baseado no QEMU. Ele permite carregar e executar código de máquina para arquiteturas como ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore e X86 (16, 32 e 64 bits), sem precisar executar um sistema operacional completo nem usar hardware físico.
unicorn é gratuito? Qual é a licença?
unicorn é open source sob a licença GPL-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
unicorn ainda é mantido?
Manutenção ativa. O último commit de unicorn foi em 18 de out. de 2026.
Para que posso usar unicorn?
Analisar ou fazer engenharia reversa de código de máquina para várias arquiteturas de CPU. Fazer fuzzing de binários executando código em um ambiente emulado e controlado. Testar firmware ou código embarcado sem hardware físico. Criar ferramentas personalizadas que precisam executar instruções com instrumentação.
Como instalar unicorn?
Leia o guia de compilação e instalação em docs/COMPILE.md Instale os bindings de Python pelo PyPI: pip install unicorn
Onde consigo unicorn?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/unicorn-engine/unicorn

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Simulador de CPU RISC-V baseado em Qt para ensinar arquitetura de computadores, com uma versão WebAssembly que roda no navegador.

Recursos de aprendizado#risc-v#cpu-simulator#computer-architecture
651+4 esta semana97C++GPL-3.0Bem mantidoAtualizado há 9 dias