
Assistente de engenharia reversa que usa um LLM executado localmente para auxiliar na análise de pseudocódigo.
"Uma grande parte das falhas no desenvolvimento de software deve-se ao fato de que os programadores não compreendem totalmente todos os possíveis estados em que seu código pode ser executado." -- John Carmack
"Será que roda Doom?" -- https://canitrundoom.org/
Oneiromancer é um assistente de engenharia reversa que utiliza um LLM executado localmente, ajustado especificamente para pseudocódigo do Hex-Rays, para auxiliar na análise de código. Ele pode analisar uma função ou um trecho de código menor, retornando uma descrição de alto nível do que o código faz, um nome recomendado para a função e sugestões de renomeação de variáveis, com base nos resultados da análise.

mistral-7b-instruct.analyze_code ou analyze_file para analisar pseudocódigo e então processar os resultados da análise.A maneira mais fácil de obter a versão mais recente é via crates.io:
cargo install oneiromancer --locked
Para instalar como biblioteca, execute o seguinte comando no diretório do seu projeto:
cargo add oneiromancer
Alternativamente, você pode compilar a partir do código-fonte:
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] Para melhores resultados, submeta uma função por vez para ser analisada pelo LLM.
Testado com Ollama 0.32.9 em:
aidapal <3aidapal do IDAPython para IDA Pro (por exemplo, contexto).aidapal e implementar uma arquitetura modular para plugar LLMs personalizados.