ACDecompileHallucinator — 逆コンパイルC++近代化パイプライン
概要
このリポジトリは、生の逆コンパイルC++コード(特に acclient.c / acclient.h)から、より読みやすく保守しやすいモダンなC++17+コードへと変換するための実験的なパイプラインを提供します。パイプラインはLLM(ローカルのLM StudioまたはOpenAI互換API)を用いて、コードの解析、依存解決、チャンク分割、段階的な生成・修正を行います。小規模なプロジェクト構成で、インクリメンタル処理や構造化された出力を重視しつつ、プロンプト設計やモデル選定に依存する点に注意を促す「実験的」ツールです。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 2
- ファイル数: 5
- メインの言語: Python
主な特徴
- LLMベースの段階的なコード変換パイプラインで生の逆コンパイルコードを近代化
- 依存関係解析とインクリメンタル処理により部分的な変更を効率化
- ローカルのLM StudioまたはOpenAI互換APIで実行可能な設計
- 出力ターゲットはC++17以降、構造化された生成を重視
技術的なポイント
READMEとリポジトリ構成から読み取れる技術的要点を整理します。本プロジェクトはPython 3.10+を前提に、LLMを中心とした「解析 → 生成 → 検証」のワークフローを実装する設計思想を持ちます。具体的には、まず code_parser ディレクトリで生の逆コンパイル出力をトークン化または抽象構文に近い形で解析し、関数やヘッダ間の依存関係を抽出することが想定されます。その依存グラフをもとに、処理単位(チャンク)に分割してモデルへ投入することで、文脈の喪失を防ぎつつ部分単位で生成・修正を行います。
llm_process.py はLLMとのインターフェース(プロンプト作成、API呼び出し、応答のポストプロセッシング)を担い、ローカルのLM Studio(http://localhost:1234/v1)やOpenAI互換APIを想定した実装になっています。ここでの重要点は、モデル選定(「強力なコーディングモデル」を推奨)、プロンプト設計、応答の整合性チェックです。モデルの「幻覚(hallucination)」に対する言及もあり、生成結果を受けての段階的検証・再生成ループが実運用上の鍵になります。
process.py はパイプラインのオーケストレーションを行い、入力ファイルの差分検出やインクリメンタル処理、出力の統合(ヘッダと実装の整合性確保)を扱う役割と推測されます。本リポジトリは実験的で小規模なため、堅牢な型推論や完全なC++パースではなく、LLMの生成能力を活かした「人手による微修正を前提とした補助ツール」として位置付けられる点に留意すべきです。セキュリティやライセンス、生成コードのテストカバレッジ確保などは運用側で追加検討が必要です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- code_parser: dir
- llm_process.py: file
- process.py: file
まとめ
実験的だが、LLMを活用した逆コンパイルコードの近代化を試すための実用的な出発点。
リポジトリ情報:
- 名前: ACDecompileHallucinator
- 説明: 説明なし
- スター数: 1
- 言語: Python
- URL: https://github.com/trevis/ACDecompileHallucinator
- オーナー: trevis
- アバター: https://avatars.githubusercontent.com/u/847444?v=4
READMEの抜粋: Warning: This project is pure vibes
Decompiled C++ Modernization Pipeline
This toolchain transforms raw decompiled C++ code (specifically acclient.c and acclient.h) into clean, modern C++17+ code using an LLM-based pipeline. It handles dependency resolution, incremental processing, and structured code generation.
Prerequisites
- Python 3.10+
- LM Studio (or OpenAI-compatible API) running on
http://localhost:1234/v1- Recommended model: A strong coding model (e.g., De…