저자들은 역공학, 앵커 기반 검색, 대규모 언어 모델 추론을 결합하여 스트립된 바이너리 함수에서 소스 코드를 복구하는 파이프라인을 제시했습니다.
- 이 방법은 디컴파일된 의사코드를 생성하는 대신 데이터베이스에서 소스 함수를 식별합니다.
- 문자열, 상수, 외부 호출 및 함수 이름과 같은 앵커는 Ghidra를 사용하여 추출됩니다.
- 후보자는 역색인 검색을 통해 검색되며,逆어셈블리 및 메타데이터에 따라 LLM에 의해 재랭킹됩니다.
고충실도 데이터베이스가 있는 스트립된 tcpdump 바이너리에서 이 방법은 95.2%의 어셈블리 명령어 커버리지를 달성했습니다.
GitHub 기반 데이터베이스에서의 실험에서는 검색 누락으로 인해 평균 명령어 커버리지 35.5%라는 낮은 성능을 보였습니다.
결과들은 고품질 데이터베이스로 지원될 때 소스 수준 바이너리 복구가 효과적임을 나타냅니다.