
New releaseAug 13, 2026
oneiromancer v0.9.1
ローカルで動作するLLMを利用して擬似コード解析を支援するリバースエンジニアリング支援ツール。
oneiromancer
「ソフトウェア開発における欠陥の大部分は、プログラマが自分のコードが取りうるすべての状態を完全に理解していないことに起因する。」 -- John Carmack
「Doomは動くか?」 -- https://canitrundoom.org/
Oneiromancerは、Hex-Raysの擬似コード用にファインチューニングされたローカル実行のLLMを使用してコード解析を支援するリバースエンジニアリングアシスタントです。関数またはより小さなコードスニペットを解析し、そのコードが何を行うかの高レベルな説明、関数に推奨される名前、および変数の名前変更の提案を、解析結果に基づいて返します。

機能
mistral-7b-instructをベースにしたファインチューニング済みLLM aidapalのクロスプラットフォーム対応。- 擬似コード抽出ツールharuspexや一般的なIDEとの簡単な統合。
- コードの説明、推奨される関数名、および変数の名前変更の提案がターミナルに出力されます。
- 解析された各関数の改善された擬似コードは、簡単に確認できるよう別ファイルに保存されます。
- 外部クレートは
analyze_codeまたはanalyze_fileを呼び出して擬似コードを解析し、解析結果を処理できます。
記事
関連項目
- https://www.atredis.com/blog/2024/6/3/how-to-train-your-large-language-model
- https://huggingface.co/AverageBusinessUser/aidapal
- https://github.com/atredispartners/aidapal
- https://plugins.hex-rays.com/atredispartners/aidapal
インストール
最新リリースを入手する最も簡単な方法はcrates.io経由です:
cargo install oneiromancer --locked
ライブラリとしてインストールするには、プロジェクトディレクトリで以下のコマンドを実行します:
cargo add oneiromancer
コンパイル
あるいは、ソースからビルドすることもできます:
git clone --depth 1 https://github.com/0xdea/oneiromancer
cd oneiromancer
cargo build --release --locked
設定
- Ollamaをダウンロードしてインストールします。
- Hugging Faceからファインチューニング済みの重みとOllamaのmodelfileをダウンロードします:
wget https://huggingface.co/AverageBusinessUser/aidapal/resolve/main/aidapal-8k.Q4_K_M.gguf wget https://huggingface.co/AverageBusinessUser/aidapal/resolve/main/aidapal.modelfile - ファイルをダウンロードしたディレクトリ内で以下のコマンドを実行してOllamaを設定します:
ollama create aidapal -f aidapal.modelfile ollama list
使用方法
- oneiromancerを以下のように実行します:
export OLLAMA_BASEURL=custom_baseurl # if not set, the default will be used export OLLAMA_MODEL=custom_model # if not set, the default will be used oneiromancer <target_file>.c - 改善された擬似コードを
<target_file>.out.cで確認します:vim <target_file>.out.c code <target_file>.out.c
[!TIP] 最良の結果を得るには、LLMで解析する関数を一度に1つずつ投入してください。
互換性
以下でOllama 0.32.9を用いてテスト済み:
- Apple macOS Tahoe 26.5.2
- Ubuntu Linux 24.04.2 LTS
- Microsoft Windows 11 23H2
クレジット
- Atredis PartnersのChris Bellows(@AverageBusinessUser)によるファインチューニング済みLLM
aidapal<3