Vertex — 動的リバースエンジニアリング ランタイム(試験版)
概要
Vertexは「動的リバースエンジニアリングソフトウェア」の試作的実装で、プロジェクト自身がまだ初期段階であることを明言しています。コードベースはC++で構成され、CMakeによるビルド設定やclang向けのフォーマット/lint設定ファイルが含まれます。READMEではAPI SDKとユーザーモードランタイム間に一部不整合があり、ドキュメントに古い情報が残っている点が注意喚起されています。現状はAPIやランタイムの設計が流動的で、研究・検証用途での利用や開発参加を想定した状態です。
リポジトリの統計情報
- スター数: 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 ファイル
まとめ
実験的かつ発展途上の動的解析ランタイム。研究用途で有用。
リポジトリ情報:
- 名前: Vertex
- 説明: Vertex is a dynamic reverse engineering software in its infancy
- スター数: 5
- 言語: C++
- URL: https://github.com/PHTNCx64/Vertex
- オーナー: PHTNCx64
- アバター: https://avatars.githubusercontent.com/u/67836286?v=4
READMEの抜粋:
Vertex
NOTE:
- There are some outdated informations in the docs that were removed throughout the development.
- The code base is in some parts inconsistent, specifically there is some discrepancy between Vertex and Vertex User Mode Runtime
- Not everything in the API SDK is in use in the runtime and certain things are subject to change or removed