
Assistant de rétro-ingénierie utilisant un LLM local pour aider à l'analyse de pseudocode.
"Une grande partie des défauts dans le développement logiciel est due au fait que les programmeurs ne comprennent pas pleinement tous les états possibles dans lesquels leur code peut s'exécuter." -- John Carmack
"Can it run Doom?" -- https://canitrundoom.org/
Oneiromancer est un assistant de rétro-ingénierie qui utilise un LLM exécuté localement et affiné pour le pseudocode Hex-Rays afin de faciliter l'analyse de code. Il peut analyser une fonction ou un extrait de code plus petit, en renvoyant une description de haut niveau de ce que fait le code, un nom recommandé pour la fonction et des suggestions de renommage de variables, sur la base des résultats de l'analyse.

mistral-7b-instruct.analyze_code ou analyze_file pour analyser le pseudocode, puis traiter les résultats de l'analyse.Le moyen le plus simple d'obtenir la dernière version est via crates.io :
cargo install oneiromancer --locked
Pour l'installer en tant que bibliothèque, exécutez la commande suivante dans le répertoire de votre projet :
cargo add oneiromancer
Vous pouvez également compiler à partir des sources :
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] Pour de meilleurs résultats, soumettez une fonction à la fois à l'analyse du LLM.
Testé avec Ollama 0.32.9 sur :
aidapal <3aidapal en IDAPython (par exemple, le contexte).aidapal et implémenter une architecture modulaire pour brancher des LLM personnalisés.