
리버스 엔지니어링 도우미로, 로컬에서 실행되는 LLM을 사용하여 의사 코드(pseudocode) 분석을 돕습니다.
"소프트웨어 개발에서 발생하는 결함의 상당 부분은 프로그래머가 자신의 코드가 실행될 수 있는 모든 가능한 상태를 완전히 이해하지 못하기 때문에 발생한다." -- John Carmack
"Doom이 돌아가나요?" -- https://canitrundoom.org/
Oneiromancer는 Hex-Rays 의사코드에 맞게 미세 조정된 로컬 LLM을 사용하여 코드 분석을 지원하는 리버스 엔지니어링 어시스턴트입니다. 함수나 더 작은 코드 조각을 분석하여 코드가 수행하는 작업에 대한 고수준 설명, 함수에 권장되는 이름, 변수 이름 변경 제안을 분석 결과에 기반하여 반환합니다.

mistral-7b-instruct를 기반으로 미세 조정된 LLM aidapal에 대한 크로스 플랫폼 지원.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 <3