Vertex — 動的リバースエンジニアリング ランタイム(試験版)

Security

概要

Vertexは「動的リバースエンジニアリングソフトウェア」の試作的実装で、プロジェクト自身がまだ初期段階であることを明言しています。コードベースはC++で構成され、CMakeによるビルド設定やclang向けのフォーマット/lint設定ファイルが含まれます。READMEではAPI SDKとユーザーモードランタイム間に一部不整合があり、ドキュメントに古い情報が残っている点が注意喚起されています。現状はAPIやランタイムの設計が流動的で、研究・検証用途での利用や開発参加を想定した状態です。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 0
  • ウォッチャー数: 5
  • コミット数: 7
  • ファイル数: 13
  • メインの言語: C++

主な特徴

  • 動的リバースエンジニアリング用のC++ベースランタイムとAPIを試作
  • CMakeでのビルド設定とclang-format/clang-tidyによるスタイル管理
  • API SDKとユーザーモードランタイムに関する設計/実装の差異を明示
  • ドキュメントに古い情報が残る実験的プロジェクト(安定版ではない)

技術的なポイント

Vertexは「動的解析(dynamic analysis)」を目標にしたプロジェクトであり、READMEからは主にAPI SDKとユーザーモードランタイム(User Mode Runtime)という二つの主要概念があることが読み取れます。現状では両者に実装上の不整合や未使用のAPIがあり、APIの安定性・後方互換性は保証されていません。コード管理面ではCMakeを採用しており、コンパイルや依存解決の標準化が図られています。また、.clang-formatと.clang-tidyを含めることでソースコードの整合性や静的解析の導入を意図している点が見て取れます。

動的リバースエンジニアリングの一般的な実装手法(プロセスインジェクション、関数フック、トランポリン、インラインパッチ、APIラッピング、シンボル解決やメモリダンプの機能群)を用いると推測されますが、READMEはあくまで「実験的で今後変更される可能性がある」としており、設計が未確定な部分が多いことに注意が必要です。貢献や利用を検討する場合は、まずローカルでビルドして挙動を確認し、ドキュメントの差分や未使用APIの洗い出し、ランタイム/SDKの整合性改善に着手するのが現実的です。セキュリティ分野のツールであるため、権限・ターゲットの扱いには倫理的・法的配慮が求められます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .clang-format: file
  • .clang-tidy: file
  • .gitignore: file
  • CMakeLists.txt: file
  • README.md: file

…他 8 ファイル

まとめ

実験的かつ発展途上の動的解析ランタイム。研究用途で有用。

リポジトリ情報:

READMEの抜粋:

Vertex

NOTE:

  1. There are some outdated informations in the docs that were removed throughout the development.
  2. The code base is in some parts inconsistent, specifically there is some discrepancy between Vertex and Vertex User Mode Runtime
  3. Not everything in the API SDK is in use in the runtime and certain things are subject to change or removed
grafik