
Ассистент для реверс-инжиниринга, использующий локально запущенную LLM для помощи в анализе псевдокода.
«Бо́льшая часть ошибок в разработке программного обеспечения возникает из-за того, что программисты не до конца понимают все возможные состояния, в которых может выполняться их код». — Джон Кармак
«Может ли он запустить Doom?» — https://canitrundoom.org/
Oneiromancer — это ассистент по реверс-инжинирингу, который использует локально запускаемую LLM, дообученную на псевдокоде Hex-Rays, для помощи в анализе кода. Он может проанализировать функцию или меньший фрагмент кода, возвращая высокоуровневое описание того, что делает код, рекомендуемое имя для функции и предложения по переименованию переменных на основе результатов анализа.

mistral-7b-instruct.analyze_code или analyze_file для анализа псевдокода и последующей обработки результатов анализа.Самый простой способ получить последний релиз — через crates.io:
cargo install oneiromancer
Чтобы установить как библиотеку, выполните следующую команду в каталоге вашего проекта:
cargo add oneiromancer
Как вариант, вы можете собрать из исходного кода:
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] Для наилучших результатов отправляйте на анализ LLM по одной функции за раз.
Протестировано с Ollama 0.32.9 на:
aidapal <3aidapal для IDA Pro (например, контекст).aidapal и реализовать модульную архитектуру для подключения пользовательских LLM.