Repolode
lief-project

lief-project/LIEF

ELF, PE, Mach-O 및 Android 실행 파일 형식을 파싱·수정·추상화하는 C++ 라이브러리로, Python 및 Rust 바인딩을 제공합니다.

스타
5,635
포크
761
열린 이슈
37
마지막 커밋
그저께

어떤 프로젝트인가요?

LIEF는 ELF, PE, Mach-O, COFF와 OAT, DEX, VDEX, ART 같은 Android 형식을 비롯한 실행 파일 형식을 파싱·수정·추상화하는 라이브러리입니다. 섹션, 심볼, 헤더 및 기타 내부 요소를 살펴볼 수 있는 구조화된 API를 제공하며, 섹션 추가나 심볼 이름 변경처럼 바이너리의 일부를 수정할 수도 있습니다. 섹션, 심볼, 엔트리 포인트처럼 여러 형식에서 공통으로 쓰이는 개념에는 공통 추상화 계층을 제공합니다.

C++, Python, Rust 바인딩으로 사용할 수 있으며 CMake, pip, Homebrew, Cargo를 통해 설치할 수 있습니다. 추가 기능으로는 런타임 모듈, DWARF 및 PDB 디버그 정보 지원, Objective-C 메타데이터 파싱, dyld 공유 캐시 추출, AArch64, x86-64, ARM, RISC-V를 비롯한 여러 아키텍처용 디스어셈블러 및 어셈블러 구성 요소가 있습니다. Ghidra 및 Binary Ninja 플러그인도 제공합니다.

핵심 기능

  • 01사용하기 쉬운 API로 ELF, PE, Mach-O, COFF, OAT, DEX, VDEX, ART 파일을 파싱합니다.
  • 02섹션 추가나 심볼 이름 변경처럼 바이너리의 일부를 수정합니다.
  • 03여러 형식에서 섹션, 심볼, 엔트리 포인트를 공통으로 추상화합니다.
  • 04C++, Python, Rust 바인딩을 제공합니다.
  • 05여러 아키텍처용 디스어셈블러 및 어셈블러 구성 요소를 포함합니다.
  • 06DWARF 및 PDB 디버그 정보와 Objective-C 메타데이터를 지원합니다.

활용 사례

  • Windows, Linux, macOS 바이너리 전반에서 악성 코드나 의심스러운 바이너리를 분석합니다.
  • 리버스 엔지니어링 작업에서 실행 파일을 검사하거나 패치하는 스크립트를 작성합니다.
  • 앱 분석 과정에서 Android DEX, OAT, ART 파일을 검사합니다.
  • 크로스 플랫폼 파서가 필요한 바이너리 분석 도구를 개발합니다.

빠른 시작

  1. 1

    PyPI에서 Python 패키지 설치하기

    pip install lief
  2. 2

    바이너리를 파싱하고 ELF 섹션 목록 보기

사용 전 알아둘 점

  • Nightly 빌드와 2.0 개발 버전에서는 호환성을 깨뜨리는 변경 사항이 도입될 수 있습니다.
  • LIEF Extended 서비스와 같은 일부 확장 기능을 사용하려면 GitHub OAuth 로그인이 필요합니다.

포함된 컬렉션

토픽

자주 묻는 질문

LIEF은(는) 무엇인가요?
ELF, PE, Mach-O 및 Android 실행 파일 형식을 파싱·수정·추상화하는 C++ 라이브러리로, Python 및 Rust 바인딩을 제공합니다. LIEF는 ELF, PE, Mach-O, COFF와 OAT, DEX, VDEX, ART 같은 Android 형식을 비롯한 실행 파일 형식을 파싱·수정·추상화하는 라이브러리입니다. 섹션, 심볼, 헤더 및 기타 내부 요소를 살펴볼 수 있는 구조화된 API를 제공하며, 섹션 추가나 심볼 이름 변경처럼 바이너리의 일부를 수정할 수도 있습니다. 섹션, 심볼, 엔트리 포인트처럼 여러 형식에서 공통으로 쓰이는 개념에는 공통 추상화 계층을 제공합니다.
LIEF은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
LIEF은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
LIEF은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. LIEF의 마지막 커밋은 2026년 11월 6일입니다.
LIEF은(는) 어디에 사용할 수 있나요?
Windows, Linux, macOS 바이너리 전반에서 악성 코드나 의심스러운 바이너리를 분석합니다. 리버스 엔지니어링 작업에서 실행 파일을 검사하거나 패치하는 스크립트를 작성합니다. 앱 분석 과정에서 Android DEX, OAT, ART 파일을 검사합니다. 크로스 플랫폼 파서가 필요한 바이너리 분석 도구를 개발합니다.
LIEF는 어떻게 설치하나요?
PyPI에서 Python 패키지 설치하기: pip install lief 바이너리를 파싱하고 ELF 섹션 목록 보기
LIEF은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/lief-project/LIEF

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트