JusticeRage/Gepetto

IDA plugin which queries language models to speed up reverse-engineering

해결하는 문제

IDA Pro로 디컴파일된 코드의 역공학은 일반적으로 변수 이름을 수동으로 변경하고 주석을 추가하여 함수의 기능을 이해하는 번거로운 과정입니다. Gepetto는 대규모 언어 모델(LLM)을 사용하여 IDA Pro가 디컴파일한 함수의 논리를 분석하고 설명함으로써 이 과정을 자동화합니다.

작동 방식

Python 플러그인으로서 IDA Pro에 통합된 Gepetto는 함수의 디컴파일된 의사코드를 선택한 LLM 제공자에게 전송합니다. 모델은 코드를 분석하고 변수 이름 변경 제안 및 기능 설명을 반환하며, 플러그인은 이를 IDA 환경에 적용합니다.

대상 사용자

IDA Pro(버전 7.6 이상)와 Hex-Rays 디컴파일러를 사용하는 보안 연구자, 악성코드 분석가, 역공학 전문가.

주요 기능

  • 광범위한 모델 지원: OpenAI, Anthropic, Google Gemini, Azure, Ollama, Groq, Together, Novita AI, Kluster.ai 등 다양한 제공자와 통합 가능.
  • 즉시 적용 가능한 개선: 함수 설명, 주석 추가, 더 나은 변수 이름 요청을 위한 핫키 제공.
  • 확장 가능한 제공자 시스템: Python 스크립트 또는 배포 엔트리 포인트를 통해 사용자 정의 LLM 제공자 추가 가능.
  • CLI 인터페이스: IDA 내부에 내장된 CLI를 통해 코드에 대해 직접 질문할 수 있음.
  • 로컬 LLM 지원: Ollama 및 LM Studio와 같은 로컬 모델 러너와 호환 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트