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

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