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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
binja_dynamics — Binary Ninja용 binjatron 플러그인의 PyQt5 프런트엔드로, 초보자가 리버스 엔지니어링을 더 쉽게 배울 수 있도록 하이라이팅 기능을 포함합니다. | Kitploit
도구/GitHubGitHub/nccgroup/binja_dynamics
Dynamic Analysis (Sandboxing)Reverse EngineeringDebuggersBinary AnalysisLearning & Education
GitHubnccgroup/binja_dynamics

binja_dynamics

Binary Ninja용 binjatron 플러그인의 PyQt5 프런트엔드로, 초보자가 리버스 엔지니어링을 더 쉽게 배울 수 있도록 하이라이팅 기능을 포함합니다.

저장소 보기
2569년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Binary Ninja 동적 분석 도구

이 프로젝트는 Binary Ninja용 binjatron 플러그인에 PyQt5 프런트엔드를 추가하며, 초보자가 리버스 엔지니어링을 더 쉽게 배울 수 있도록 돕는 강조 표시 기능을 포함합니다.

동기

x86 바이너리를 리버스 엔지니어링하는 능력은 정보 보안 업계 밖에서도 중요한 기술입니다. 그러나 풍부한 교육 자료가 있음에도 불구하고 여전히 배우기 어려운 기술로 남아 있습니다. 많은 학생들이 단순한 바이너리에서 조금만 진전을 이루는 데도 요구되는 배경 지식의 양에 대해 좌절감을 표현했습니다.

Binary Ninja는 비교적 저렴한 비용, 깔끔한 인터페이스, 사용 편의성 덕분에 학생들에게 자주 소개됩니다. 저수준 및 중간 수준 중간 언어(IL)는 또한 명령어가 무엇을 하는지 쉽게 이해할 수 있는 방법을 제공합니다. 이 프로젝트는 바이너리의 실행을 더 쉽게 시각화할 수 있게 함으로써 Binary Ninja를 초보자에게 더 나은 도구로 만드는 것을 목표로 합니다.

구성 요소

  • Binjatron을 통한 디버깅
  • 디버거 도구 모음
  • 레지스터 뷰어
  • 스택 뷰어
  • 백트레이스 뷰어

기원

이 프로젝트는 NCC Group의 2017년 여름 인턴십 프로그램의 결과물입니다. 시각적 디버깅 구성 요소는 Matasano Security가 제작한 임베디드 보안 CTF인 Microcorruption의 정신적 후속작으로 볼 수 있습니다. 추가 업데이트는 https://github.com/ehennenfent/binja_dynamics에서 추적됩니다. NCC Group은 2017년 8월 18일 이후 리포지토리에 적용된 추가 변경 사항에 대해 책임을 지지 않습니다.

설치

Binary Ninja 플러그인 폴더 안에서 다음을 실행하세요:

root@kitploit:~
git clone https://github.com/ehennenfent/binja_dynamics.git
cd binja_dynamics
./install.sh

사용법

바이너리를 로드한 후 도구 메뉴에서 Enable Dynamic Analysis Tools 항목을 클릭하세요. 디버거 창이 열리며, 도구 모음의 버튼으로 제어할 수 있습니다. 실행을 단계별로 진행하면서 UI는 프로그램 상태를 반영하여 실시간으로 업데이트됩니다. Binjatron 덕분에 현재 명령어와 모든 중단점이 바이너리 뷰에서 강조 표시됩니다. 각 메모리 주소와 레지스터에 대해, 이전 명령어의 결과로 값이 변경되었을 때마다 해당 값이 주황색으로 강조 표시됩니다. 비슷한 방식으로, 현재 스택 프레임의 상단과 하단(예상 복귀 주소의 위치 포함)이 강조 표시되어 초보자가 메모리에서 중요하게 살펴봐야 할 부분을 더 쉽게 식별할 수 있게 합니다. 백트레이스 뷰어는 현재 스택 프레임의 백트레이스를 표시하며, 플러그인이 복귀 주소가 있을 것으로 예상하는 메모리 주소의 위치로 바이너리 뷰를 자동으로 이동시키는 버튼을 제공합니다. 일부 함수에서는 스택 프레임이 플러그인이 예상하는 방식대로 해제되지 않으므로, 이 예상 복귀 주소가 항상 정확하지 않을 수 있습니다.

Screenshot

강조 표시

(위 스크린샷에서 베이스 포인터는 올리브 그린으로 표시됩니다)

  • 현재 명령어 - 빨간색
  • 중단점 - 파란색
  • 변경된 메모리 또는 레지스터 - 주황색 텍스트
  • 스택 포인터 - 연두색
  • 베이스 포인터 - 하늘색
  • 예상 복귀 주소 - 빨간색
  • 명령어 포인터(해당되는 경우) - 밝은 빨간색

문서

코드

때때로 인터페이스의 정확한 동작을 이해하려면 소스 코드를 참조해야 할 수도 있습니다. 이러한 상황을 대비하여 많은 설계 결정 사항과 구현 세부 정보가 인라인 주석으로 설명되어 있습니다.

위키

위키는 아직 상대적으로 내용이 빈약하지만, 걸림돌 목록이나 개발 로그 같은 콘텐츠는 문제 해결에 도움이 될 수 있습니다.

예제

시작하는 데 도움이 될 수 있는 예제를 보려면 binja_sensei 리포지토리를 참조하는 것을 고려해 보세요.

현재 제한 사항

  • 현재 x86(64) Linux 바이너리만 지원됩니다. 이러한 제한에도 불구하고 binja_dynamics나 Voltron이 처리할 수 없는 방식으로 동작하는 바이너리가 존재할 수 있습니다. 발생한 오류가 있으면 풀 리퀘스트나 이슈를 제출해 주시기 바랍니다.
  • binja_dynamics는 Ubuntu 16.04에서만 테스트되었습니다. 터미널 리다이렉션 방식 때문에 Windows 지원은 사실상 불가능할 가능성이 높지만, 다른 유닉스 플랫폼에서는 충분히 사용할 만한 기능을 얻을 수 있을 수도 있습니다. 다시 강조하지만, 풀 리퀘스트와 이슈는 언제나 환영합니다.
  • Binary Ninja와 binjatron은 Python 2.7 기반이므로, binja_dynamics를 설치하기 전에 Ubuntu에 기본 포함된 GDB 버전을 Python 2.7을 지원하는 버전으로 교체해야 합니다. 설치 스크립트는 새 Ubuntu 16.04 VM에서 이를 성공적으로 수행하는 것으로 확인되었지만, GDB 업데이트, Ubuntu 업데이트 또는 사전 설치된 구성 요소(새 VM에 설치하지 않는 경우)로 인해 작동하지 않을 수 있습니다.
  • 성능상의 이유로 메모리 뷰어는 스택 및 BSS 세그먼트의 내용만 표시합니다.
  • 자세한 내용은 Issues를 참조하세요.

타사 콘텐츠

  • binja_dynamics는 GPLv2로 라이선스된 qthexedit의 포크(fork)를 사용합니다.
  • 아이콘에 사용된 이미지는 크리에이티브 커먼즈(Creative Commons)로 라이선스됩니다. 출처에 대한 정보는 attribution.txt를 참조하세요.

요구 사항

  • binjatron
  • binja_toolbar
  • binja_spawn_terminal
  • voltron
  • PyQt5
  • Binary Ninja

Binary Ninja를 제외하고는 install.sh가 이러한 종속성을 처리해 줍니다.

도구 다운로드