Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
bindiff — 디스어셈블된 코드에서 차이점과 유사점을 빠르게 찾아보세요. | Kitploit
도구/GitHubGitHub/google/bindiff
Static AnalysisVulnerability AnalysisReverse EngineeringMalware AnalysisBinary AnalysisPapers & ResearchLearning & EducationFirmware Analysis
GitHubgoogle/bindiff

bindiff

디스어셈블된 코드에서 차이점과 유사점을 빠르게 찾아보세요.

저장소 보기
3.1k2384813시간 32분 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

BinDiff Logo

Copyright 2011-2026 Google LLC.

BinDiff

이 저장소에는 BinDiff 소스 코드가 포함되어 있습니다. BinDiff는 디스어셈블된 코드에서 차이점과 유사점을 빠르게 찾을 수 있는 오픈소스 바이너리 파일 비교 도구입니다.

목차

  • BinDiff 소개
  • 빠른 시작
  • 문서
  • 코드맵
  • 소스에서 빌드
  • 라이선스
  • 참여하기

BinDiff 소개

BinDiff는 바이너리 파일용 오픈소스 비교 도구로, 보안 취약점 연구자와 엔지니어가 디스어셈블된 코드에서 차이점과 유사점을 빠르게 찾을 수 있도록 지원합니다.

BinDiff를 사용하면 연구자는 공급업체가 제공한 패치에서 취약점에 대한 수정 사항을 식별하고 격리할 수 있습니다. 또한 동일한 바이너리의 여러 버전 디스어셈블리 간에 심볼과 주석을 이식하는 데 사용할 수도 있습니다. 이를 통해 시간에 따른 변경 사항을 더 쉽게 추적할 수 있고, 조직이 분석 결과를 유지하며 바이너리 분석가 간 지식 전수를 가능하게 합니다.

사용 사례

  • 인기 있는 디스어셈블러가 지원하는 x86, MIPS, ARM, PowerPC 및 기타 아키텍처용 바이너리 파일 비교
  • 서로 다른 바이너리에서 동일하거나 유사한 함수 식별
  • 한 디스어셈블리에서 다른 디스어셈블리로 함수 이름, 주석 및 로컬 이름 이식
  • 동일한 함수의 두 변형 간 변경 사항 감지 및 강조

빠른 시작

BinDiff 사용을 바로 시작하려면 릴리스 페이지에서 사전 빌드된 설치 패키지를 다운로드하세요.

참고: BinDiff는 별도의 디스어셈블러에 의존합니다. 기본적으로 IDA Pro, Binary Ninja 및 Ghidra를 지원하며, 디스어셈블러 페이지에서 지원되는 구성을 확인할 수 있습니다.

문서

기존 매뉴얼의 일부가 docs/ 디렉터리에 제공됩니다.

코드맵

BinDiff는 다음 구성 요소를 포함합니다:

  • cmake - 외부 종속성을 선언하는 CMake 빌드 파일
  • fixtures - BinDiff 핵심 엔진을 테스트하기 위한 테스트 파일 모음
  • ida - IDA Pro 디스어셈블러와의 통합
  • java - Java 소스 코드. BinDiff 시각적 diff 사용자 인터페이스와 해당 유틸리티 라이브러리가 포함되어 있습니다.
  • match - BinDiff 핵심 엔진용 매칭 알고리즘
  • packaging - 설치 패키지용 패키지 소스
  • tools - 제품과 함께 제공되는 헬퍼 실행 파일

소스에서 빌드

아래 지침은 네이티브 코드와 Java 기반 구성 요소를 모두 빌드하기에 충분합니다.

더 자세한 빌드 지침은 추후 추가될 예정입니다. 여기에는 설치 패키지 빌드를 위한 준비된 Dockerfile과 스크립트가 포함됩니다.

네이티브 코드

BinDiff는 네이티브 C++ 코드로 구성된 구성 요소의 빌드 파일을 생성하기 위해 CMake를 사용합니다.

다음 빌드 종속성이 필요합니다:

  • BinExport 12 - BinDiff의 동반 플러그인으로 공유 코드도 많이 포함되어 있습니다.
  • Boost 1.83.0 이상 (1.83.0의 일부 복사본이 BinExport와 함께 제공되며 자동으로 사용됩니다)
  • CMake 3.14 이상
  • 빠른 빌드를 위한 Ninja
  • Linux/macOS에서는 GCC 15 또는 최신 버전의 Clang. Windows에서는 Visual Studio 2022 컴파일러와 Windows 11용 Windows SDK를 사용합니다.
  • Git 1.8 이상
  • 다운로드될 종속성:
    • Abseil, GoogleTest, Protocol Buffers (3.14), SQLite3
    • Binary Ninja SDK
    • IDA SDK

일반적인 빌드 단계는 Windows, Linux, macOS에서 동일합니다. 다음은 Linux용 명령입니다.

다음으로 빌드 디렉터리를 구성하고 빌드 파일을 생성합니다:

root@kitploit:~
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release

마지막으로 실제 빌드를 실행합니다. 바이너리는 build/에 배치됩니다:

root@kitploit:~
cmake --build build --config Release
(cd build; ctest --build-config Release --output-on-failure)
cmake --install build --config Release

IDA 없이 빌드

IDA 없이 빌드하려면 위 구성 단계를 다음과 같이 변경하기만 하면 됩니다.

root@kitploit:~
cmake -S . -B build/out -G Ninja -DCMAKE_BUILD_TYPE=Release \
  -DBINEXPORT_ENABLE_IDAPRO=OFF

Java GUI 및 yFiles

Java 기반 GUI를 빌드하려면 그래프 표시 및 레이아웃을 위한 상용 타사 그래프 시각화 라이브러리인 yFiles가 필요합니다. 이 라이브러리는 매우 강력하며 쉽게 대체할 수 없습니다.

빌드를 위해 BinDiff는 Gradle 6.x와 Java 11 LTS를 사용합니다. 설치 방법은 설치 가이드를 참조하세요.

yFiles 라이선스 보유자라면 YFILES_DIR 환경 변수를 yFiles y.jar 및 ysvg.jar가 포함된 디렉터리로 설정하세요.

참고: BinDiff는 여전히 이전 버전인 yFiles 2.x 분기를 사용합니다.

그런 다음 Gradle을 호출하여 외부 종속성을 다운로드하고 빌드합니다:

Windows:

root@kitploit:~
set YFILES_DIR=<path\to\yfiles_2.17>
cd java
gradle shadowJar

Linux 또는 macOS:

root@kitploit:~
export YFILES_DIR=<path/to/yfiles_2.17>
cd java
gradle shadowJar

이후 java 하위 디렉터리의 ui/build/libs 디렉터리에는 표준 java -jar 명령으로 실행할 수 있는 자체 포함 bindiff-ui-all.jar 아티팩트가 포함됩니다.

추가 자료 / 유사 도구

BinDiff의 일반적인 아이디어를 설명하는 원본 논문:

  • Thomas Dullien and Rolf Rolles. Graph-Based Comparison of Executable Objects. bindiffsstic05-1.pdf. SSTIC ’05, Symposium sur la Sécurité des Technologies de l’Information et des Communications. 2005.
  • Halvar Flake. Structural Comparison of Executable Objects. dimva_paper2.pdf. pp 161-173. Detection of Intrusions and Malware & Vulnerability Assessment. 2004.3-88579-375-X.

동일한 문제 영역의 다른 도구:

  • Diaphora - 동일한 아이디어를 많이 구현한 고급 프로그램 diffing 도구
  • TurboDiff - 현재는 중단된 IDA Pro용 프로그램 diffing 플러그인

BinDiff를 사용하는 프로젝트:

  • VxSig - 유사한 바이너리 집합에서 AV 바이트 시그니처를 자동으로 생성하는 도구

라이선스

BinDiff는 Apache 라이선스 조건에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE를 참조하세요.

참여하기

기여하려면 풀 리퀘스트를 보내기 전에 CONTRIBUTING.md를 읽어주세요. 버그를 신고하거나 기능 요청을 제출할 수도 있습니다.

도구 다운로드