BinSync는 Git 버전 관리 시스템을 기반으로 구축된 디컴파일러 협업 도구로, 디컴파일러에 관계없이 세분화된 리버스 엔지니어링 협업을 가능하게 합니다. BinSync는 angr 팀인 mahaloz와 SEFCOM 연구소에 의해 구축되었습니다. 또한 Shellphish 해킹 팀이 이를 사용하는 것도 큰 부분을 차지합니다.
모든 좋은 디컴파일러는 REA(Reverse Engineering Artifacts)라는 공통 개체를 공유합니다. 이러한 REA는 BinSync 동기화 기능의 핵심입니다. 지원되는 REA는 다음과 같습니다.
참고: 모든 유형은 구조체와 같이 사용자가 만든 유형을 지원합니다.
더 많은 온라인 도움말을 보려면 아래 디스코드에 참여하세요 .
모든 설치에는 Python과 함께 두 부분으로 구성된 설치 프로그램을 사용하는 것이 가장 좋습니다.
pip3 install binsync && binsync --install
BinSync는 Binary Ninja 플러그인 관리자에서도 사용할 수 있습니다. Ghidra와 함께 BS를 사용할 계획이라면 pip3 install binsync[ghidra]
도 수행해야 합니다. ChatGPT 사용자와 같은 추가 BS 기능을 사용할 계획이라면 pip3 install binsync[extras]
같이 패키지를 설치하세요. 그러면 지원을 위한 추가 패키지가 설치됩니다. 전체 설치 정보를 보려면 빠른 시작 문서를 읽어보세요.
개발자 설치처럼 편집 가능하도록( -e
) 패키지를 설치할 계획이라면 pip>=23.0.0
확인하세요.
v4.10.1
사용)모든 버전에는 시스템에 Python >= 3.10 및 Git이 설치되어 있어야 합니다. Ghidra 지원은 아직 초기 단계이므로 아티팩트 이름 동기화 및 댓글과 같은 최소한의 기능만 기대할 수 있습니다.
이전 섹션에서는 디컴파일러를 지원하지만 모든 디컴파일러가 동일한 동기화 수준에서 지원되는 것은 아닙니다. 아티팩트 지원, 풀, 푸시 및 자동 푸시 간의 차이점을 이해하려면 디컴파일러 사용 소개를 읽어보세요.
운영 | 함수 헤더 | 스택 변수 | 글로벌 변수 | 구조체 | 열거형 | 댓글 |
---|---|---|---|---|---|---|
기호 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
유형 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
당기다 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
푸시 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
자동 푸시 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
운영 | 함수 헤더 | 스택 변수 | 글로벌 변수 | 구조체 | 열거형 | 댓글 |
---|---|---|---|---|---|---|
기호 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
유형 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
당기다 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
푸시 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
자동 푸시 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
운영 | 함수 헤더 | 스택 변수 | 글로벌 변수 | 구조체 | 열거형 | 댓글 |
---|---|---|---|---|---|---|
기호 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
유형 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
당기다 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
푸시 | ✅ | ✅ | ✅ | ✅ | ✅ | |
자동 푸시 | ✅ | ✅ | ✅ | ✅ | ✅ |
운영 | 함수 헤더 | 스택 변수 | 글로벌 변수 | 구조체 | 열거형 | 댓글 |
---|---|---|---|---|---|---|
기호 | ✅ | ✅ | ✅ | |||
유형 | ✅ | ✅ | ✅ | |||
당기다 | ✅ | ✅ | ✅ | |||
푸시 | ✅ | ✅ | ✅ | |||
자동 푸시 | ✅ | ✅ | ✅ |
스크립팅의 경우 Python에서 모든 리프팅 및 데이터 조작을 수행할 수 있는 Lib BinSync를 참조하세요.