
리버스 엔지니어링 도우미로, 로컬에서 실행되는 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
라이브러리로 설치하려면 프로젝트 디렉터리에서 다음 명령을 실행하세요:
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을 제공한 Atredis Partners의 Chris Bellows(@AverageBusinessUser)님께 감사드립니다 <3