このプロジェクトについて

Capstone Engineは、セキュリティコミュニティにおけるバイナリ解析やリバースエンジニアリングを目的として、純粋なC言語で設計されたオープンソースの逆アセンブリフレームワークです。Nguyen Anh Quynhによって作成され、少数の開発者コミュニティによって維持管理されており、寛容なBSDライセンスの下で配布されています。 Capstoneの最大の特徴の一つは、そのアーキテクチャカバレッジです。ARM、AArch64 (ARMv8)、Alpha、ARC、BPF、Ethereum Virtual Machine、LoongArch、HPPA (PA-RISC)、M68K、M680X、MIPS、MOS65XX、PowerPC、RISC-V (rv32G/rv64G)、SH、SPARC、SystemZ、TMS320C64X、TriCore、WebAssembly、XCore、Xtensa、および16/32/64ビットモードのx86など、広範なハードウェアおよび仮想アーキテクチャの機械コードを処理できます。 機械コードをアセンブリテキストに変換するだけでなく、Capstoneは各逆アセンブルされた命令の詳細な情報を公開します。これは他のツールでは「分解」と呼ばれることもあり、読み書きされる暗黙のレジスタなどの命令セマンティクスを含みます。APIはクリーンで軽量、かつアーキテクチャに中立なように設計されているため、サポートされているすべてのターゲットで同じインターフェースを使用できます。 Capstoneは設計上スレッドセーフであり、ファームウェアやOSカーネルへの埋め込みを特別にサポートしているため、低レベルおよびリソースが制限された環境に適しています。プロジェクト自体は高性能を謳っており、各種のx86マルウェアのテクニックに対応できると説明されており、マルウェア解析のユースケースに位置付けられています。 コアはC言語で実装されていますが、Python、C++、C#、Java、Go、Rust、NodeJS、Ruby、Perl、PHP、Lua、Haskell、OCaml、Clojure、F#、Common Lisp、Swift、D、Visual Basic、PowerShell、Emacs Lisp、Delphi、Free Pascal、Valaなど、多数のプログラミング言語向けのバインディングが用意されています。これらはメインのコードベースに含まれているか、コミュニティによって外部で提供されています。PythonパッケージはPyPIで公開されています。Windows、macOS、iOS、Android、Linux、*BSD、Solarisでのネイティブビルドがサポートされています。 このプロジェクトはGoogleのOSS-Fuzzによる継続的なファジングプログラムに参加しており、ドキュメントにはビルドとインストール、ソフトウェアアーキテクチャ、テスト、および自動同期アップデータコンポーネントについて記載されています。コミュニティディスカッションはTelegramグループで行われ、リポジトリには貢献ガイドラインが含まれています。 典型的なユーザーには、セキュリティ研究者、マルウェアアナリスト、および機械コードをプログラム的に解釈する必要があるデバッガ、トレーサー、その他のツールを開発するエンジニアが含まれます。CapstoneはスタンドアロンのGUIアプリケーションではなく、ライブラリおよびフレームワークである点に注意してください。ユーザーはC APIまたは多数の言語バインディングを介して統合を行います。