
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 provient du fait que les programmeurs ne comprennent pas pleinement tous les états dans lesquels leur code peut s'exécuter. » -- John Carmack
« Peut-il faire tourner Doom ? » -- https://canitrundoom.org/
Oneiromancer est un assistant de rétro-ingénierie qui utilise un LLM exécuté localement, affiné pour le pseudo-code Hex-Rays, afin de faciliter l'analyse de code. Il peut analyser une fonction ou un extrait de code plus court, 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 pseudo-code puis traiter les résultats de l'analyse.La façon la plus simple d'obtenir la dernière version est via crates.io :
cargo install oneiromancer
Pour 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 https://github.com/0xdea/oneiromancer
cd oneiromancer
cargo build --release
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 par le LLM.
Testé avec Ollama 0.32.9 sur :
aidapal <3aidapal IDAPython (par exemple, le contexte).aidapal et implémenter une architecture modulaire pour brancher des LLM personnalisés.