Repolode
unicorn-engine

unicorn-engine/unicorn

Framework ligero de emulación de CPU basado en QEMU que ejecuta código máquina de varias arquitecturas mediante una API clara e independiente de la arquitectura.

Estrellas
9,535
Forks
1,585
Issues abiertos
237
Último commit
hace 19 días

¿Qué es?

Unicorn es un framework de emulación de CPU basado en QEMU. Permite que un programa cargue y ejecute código máquina para arquitecturas como ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore y X86 (16, 32 y 64 bits), sin necesidad de ejecutar un sistema operativo completo ni de usar hardware físico.

El framework ofrece una única API independiente de la arquitectura, por lo que el mismo código para configurar registros, asignar memoria y ejecutar instrucciones funciona en todas las CPU compatibles. Está implementado en C y cuenta con bindings para muchos lenguajes, como Python, Rust, Go, Java, .NET, Ruby y Lua. Funciona en Windows y en sistemas *nix como Linux, macOS, Android y los BSD.

Unicorn usa compilación just-in-time para ofrecer un buen rendimiento y proporciona hooks para instrumentación detallada en distintos niveles. Se distribuye bajo la licencia GPLv2.

Funciones clave

  • 01Emula CPU ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore y X86.
  • 02Ofrece una API clara e independiente de la arquitectura, común a todas las CPU compatibles.
  • 03Incluye bindings para Python, Rust, Go, Java, .NET y muchos otros lenguajes.
  • 04Usa compilación just-in-time para aumentar la velocidad de ejecución.
  • 05Admite hooks de instrumentación detallada durante la emulación.

Casos de uso

  • Analizar o hacer ingeniería inversa de código máquina para varias arquitecturas de CPU.
  • Aplicar fuzzing a binarios ejecutando código en un entorno emulado y controlado.
  • Probar firmware o código para sistemas embebidos sin hardware físico.
  • Crear herramientas personalizadas que necesiten ejecutar instrucciones con instrumentación.

Inicio rápido

  1. 1

    Lee la guía de compilación e instalación de docs/COMPILE.md

  2. 2

    Instala los bindings de Python desde PyPI

    pip install unicorn

Antes de usarlo

  • Está bajo la licencia GPLv2, una licencia copyleft que puede restringir su uso en software propietario.
  • El README no ofrece una opción de instalación precompilada para otros lenguajes aparte de la guía de compilación mencionada.

En colecciones

Temas

Preguntas frecuentes

¿Qué es unicorn?
Framework ligero de emulación de CPU basado en QEMU que ejecuta código máquina de varias arquitecturas mediante una API clara e independiente de la arquitectura. Unicorn es un framework de emulación de CPU basado en QEMU. Permite que un programa cargue y ejecute código máquina para arquitecturas como ARM, ARM64, M68K, MIPS, PowerPC, RISC-V, SPARC, S390X, TriCore y X86 (16, 32 y 64 bits), sin necesidad de ejecutar un sistema operativo completo ni de usar hardware físico.
¿unicorn es gratuito? ¿Qué licencia tiene?
unicorn es open source bajo la licencia GPL-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿unicorn sigue mantenido?
Mantenimiento activo. El último commit de unicorn fue el 18 oct 2026.
¿Para qué puedo usar unicorn?
Analizar o hacer ingeniería inversa de código máquina para varias arquitecturas de CPU. Aplicar fuzzing a binarios ejecutando código en un entorno emulado y controlado. Probar firmware o código para sistemas embebidos sin hardware físico. Crear herramientas personalizadas que necesiten ejecutar instrucciones con instrumentación.
¿Cómo se instala unicorn?
Lee la guía de compilación e instalación de docs/COMPILE.md Instala los bindings de Python desde PyPI: pip install unicorn
¿Dónde consigo unicorn?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/unicorn-engine/unicorn

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Simulador de CPU RISC-V basado en Qt para enseñar arquitectura de computadoras, con una versión WebAssembly que se ejecuta en el navegador.

Recursos de aprendizaje#risc-v#cpu-simulator#computer-architecture
651+4 esta semana97C++GPL-3.0Bien mantenidoActualizado hace 8 días