
Assistente de engenharia reversa que usa um LLM executado localmente para auxiliar na análise de pseudocódigo.
"Uma grande fração das falhas no desenvolvimento de software se deve ao fato de os programadores não compreenderem completamente todos os estados possíveis em que seu código pode executar." -- John Carmack
"Ele roda Doom?" -- https://canitrundoom.org/
O Oneiromancer é um assistente de engenharia reversa que utiliza um LLM executado localmente, ajustado (fine-tuned) para pseudocódigo do Hex-Rays, a fim de 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 depois processar os resultados da análise.A maneira mais fácil de obter a versão mais recente é via crates.io:
cargo install oneiromancer
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 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 # se não definido, o padrão será usado
export OLLAMA_MODEL=custom_model # se não definido, o padrão será usado
oneiromancer <target_file>.c
<target_file>.out.c:
vim <target_file>.out.c
code <target_file>.out.c
[!TIP] Para obter melhores resultados, envie uma função por vez para ser analisada pelo LLM.
Testado com Ollama 0.32.9 em:
aidapal <3aidapal IDAPython para o IDA Pro (por exemplo, contexto).aidapal e implementar uma arquitetura modular para conectar LLMs personalizados.