Repolode
unicorn-engine

unicorn-engine/unicorn

QEMUをベースにした軽量なCPUエミュレータフレームワーク。アーキテクチャに依存しないAPIで、複数のアーキテクチャのマシンコードを実行できます。

スター
9,545
フォーク
1,588
未解決の Issue
237
最終コミット
20 日前

これは何?

Unicornは、QEMUをベースにしたCPUエミュレータフレームワークです。フルOSや物理ハードウェアを使わずに、ARM、ARM64、M68K、MIPS、PowerPC、RISC-V、SPARC、S390X、TriCore、X86(16、32、64ビット)などのアーキテクチャ向けマシンコードを読み込んで実行できます。

アーキテクチャに依存しない共通APIを備えているため、レジスタの設定、メモリのマッピング、命令の実行に使う同じコードを、サポート対象のさまざまなCPUで利用できます。Cで実装されており、Python、Rust、Go、Java、.NET、Ruby、Luaなど、多くの言語向けのバインディングが用意されています。Windowsのほか、Linux、macOS、Android、BSD系などの*nixシステムで動作します。

Unicornは、パフォーマンス向上のためにJITコンパイルを使用し、さまざまなレベルで詳細な計測を行えるフックを提供します。GPLv2ライセンスで配布されています。

主な機能

  • 01ARM、ARM64、M68K、MIPS、PowerPC、RISC-V、SPARC、S390X、TriCore、X86のCPUをエミュレートします。
  • 02サポート対象のすべてのCPUで共通して使える、アーキテクチャに依存しないシンプルなAPIを提供します。
  • 03Python、Rust、Go、Java、.NETをはじめ、多くの言語向けのバインディングを提供します。
  • 04実行速度を高めるためにJITコンパイルを使用します。
  • 05エミュレーション中に、詳細な計測を行うフックを利用できます。

ユースケース

  • 複数のCPUアーキテクチャ向けマシンコードの解析やリバースエンジニアリング。
  • 制御されたエミュレーション環境でコードを実行するバイナリのファジング。
  • 物理ハードウェアを使わないファームウェアや組み込みコードのテスト。
  • 計測機能を使って命令を実行するカスタムツールの開発。

クイックスタート

  1. 1

    docs/COMPILE.md のコンパイル・インストールガイドを読む

  2. 2

    PyPI から Python バインディングをインストールする

    pip install unicorn

使う前に知っておきたいこと

  • GPLv2(コピーレフトライセンス)の下でライセンスされており、プロプライエタリソフトウェアでの使用が制限される場合があります。
  • README には、他の言語向けに参照先のコンパイルガイド以外のビルド済みインストール方法が記載されていません。

収録されている特集

トピック

よくある質問

unicorn とは?
QEMUをベースにした軽量なCPUエミュレータフレームワーク。アーキテクチャに依存しないAPIで、複数のアーキテクチャのマシンコードを実行できます。 Unicornは、QEMUをベースにしたCPUエミュレータフレームワークです。フルOSや物理ハードウェアを使わずに、ARM、ARM64、M68K、MIPS、PowerPC、RISC-V、SPARC、S390X、TriCore、X86(16、32、64ビット)などのアーキテクチャ向けマシンコードを読み込んで実行できます。
unicorn は無料で使えますか?ライセンスは?
unicorn は GPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
unicorn は今もメンテナンスされていますか?
活発にメンテナンス中。unicorn の最終コミットは 2026年10月18日 です。
unicorn は何に使えますか?
複数のCPUアーキテクチャ向けマシンコードの解析やリバースエンジニアリング。 制御されたエミュレーション環境でコードを実行するバイナリのファジング。 物理ハードウェアを使わないファームウェアや組み込みコードのテスト。 計測機能を使って命令を実行するカスタムツールの開発。
unicorn のインストール方法は?
docs/COMPILE.md のコンパイル・インストールガイドを読む PyPI から Python バインディングをインストールする: pip install unicorn
unicorn はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/unicorn-engine/unicorn

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

コンピュータアーキテクチャ教育向けのQtベースRISC-V CPUシミュレータ。WebAssembly版はブラウザで実行できます。

学習リソース#risc-v#cpu-simulator#computer-architecture
651+4 今週97C++GPL-3.0更新 10 日前