
Reverse-Engineering-Assistent, der ein lokal laufendes LLM nutzt, um bei der Pseudocode-Analyse zu unterstützen.
"Ein großer Teil der Fehler in der Softwareentwicklung ist darauf zurückzuführen, dass Programmierer nicht alle möglichen Zustände vollständig verstehen, in denen ihr Code ausgeführt werden kann." -- John Carmack
"Kann es Doom ausführen?" -- https://canitrundoom.org/
Oneiromancer ist ein Reverse-Engineering-Assistent, der ein lokal laufendes LLM verwendet, das für Hex-Rays Pseudocode feinabgestimmt wurde, um bei der Codeanalyse zu helfen. Es kann eine Funktion oder einen kleineren Codeausschnitt analysieren und liefert eine High-Level-Beschreibung dessen, was der Code tut, einen empfohlenen Namen für die Funktion und Vorschläge zur Umbenennung von Variablen, basierend auf den Ergebnissen der Analyse.

mistral-7b-instruct.analyze_code oder analyze_file aufrufen, um Pseudocode zu analysieren und anschließend die Analyseergebnisse zu verarbeiten.Der einfachste Weg, die neueste Version zu erhalten, ist über crates.io:
cargo install oneiromancer --locked
Um es als Bibliothek zu installieren, führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus:
cargo add oneiromancer
Alternativ können Sie aus dem Quellcode bauen:
git clone --depth 1 https://github.com/0xdea/oneiromancer
cd oneiromancer
cargo build --release --locked
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 create aidapal -f aidapal.modelfile
ollama list
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] Für beste Ergebnisse übergeben Sie jeweils eine Funktion zur Analyse an das LLM.
Getestet mit Ollama 0.32.9 auf:
aidapal <3aidapal IDA Pro Plugins (z. B. Kontext).aidapal LLM und Implementierung einer modularen Architektur zum Einbinden benutzerdefinierter LLMs.