소개
Cutter는 리버스 엔지니어링 프레임워크인 Rizin을 기반으로 한 Qt와 C++로 구축된 무료 오픈소스 GUI 플랫폼입니다. 리버스 엔지니어링 전문가들이 직접 개발하여 사용자 경험을 고려한 고급 기능을 제공하며, 윈도우, macOS, 리눅스 등 주요 플랫폼을 지원합니다. 바이너리 분석, 디스어셈블리, 디컴파일, 그래프 뷰, 플러그인 확장 등을 통해 멀웨어 분석, 취약점 조사, 소프트웨어 이해 등 다양한 리버스 엔지니어링 작업에 활용됩니다.
상세정보
디스어셈블리 및 디컴파일
Cutter는 선택된 함수의 어셈블리 코드를 표시하는 디스어셈블리 뷰와 C 언어 스타일의 디컴파일된 소스 코드를 보여주는 디컴파일러 영역을 제공합니다. 이를 통해 바이너리 파일의 저수준 로직을 분석하고 높은 수준의 가독성 있는 코드로 변환하여 이해할 수 있습니다.
그래프 뷰 및 플로우 차트
함수의 제어 흐름을 시각적으로 보여주는 그래프 뷰와 플로우 차트 기능을 통해 조건 분기, 루프, 함수 호출 등을 직관적으로 파악할 수 있습니다. 주요 흐름은 녹색 선으로, 조건부 경로는 빨간색 선으로 표시되어 분석 효율성을 높입니다.
헥스 에디터 및 콘솔
바이너리 데이터를 직접 보고 수정할 수 있는 헥스 에디터 창과 명령어를 입력하고 출력을 확인할 수 있는 통합 콘솔을 제공합니다.これにより、バイナリパッチングやスクリプト実行などの高度な操作が可能になります.
플러그인 및 테마 커스터마이징
Python과 네이티브 C++ 플러그인을 지원하여 기능을 확장할 수 있으며, 라이트, 네이티브, 다크, 미드나이트 등 여러 가지 테마를 제공하고 테마 편집기를 통해 사용자 인터페이스를 쉽게 커스터마이징할 수 있습니다.
다운로드·설치 방법
윈도우 사용자는 GitHub 릴리스 페이지에서 .zip 아카이브를 다운로드하거나, Chocolatey 또는 Scoop 패키지 관리자를 통해 설치할 수 있습니다. Scoop을 사용할 경우 먼저 extras 버킷을 추가한 후 cutter 패키지를 설치합니다.
Scoop 설치 예시
scoop bucket add extras
scoop install cutter
Chocolatey 설치 예시
choco install cutter
기본 사용법/명령어
Cutter를 실행하면 메인 화면에 함수 목록, 디스어셈블리, 디컴파일러, 그래프, 콘솔, 헥스 덤프 영역이 표시됩니다. 왼쪽의 함수 목록에서 분석하고 싶은 함수를 선택하면 관련된 디스어셈블리, 디컴파일 코드, 그래프가 동적으로 업데이트됩니다. 콘솔에서는 Rizin 명령을 직접 입력하여 고급 분석 작업을 수행할 수 있습니다.
이런 경우에 유용합니다
멀웨어 분석가가 의심스러운 파일의 동작을 이해하기 위해 디컴파일된 코드와 제어 흐름 그래프를 검토할 때 유용합니다. 소프트웨어 개발자는 사드웨어나 경쟁 제품의 인터페이스를 재현하거나 호환성을 확인하기 위해 바이너리를 역공학할 때 활용할 수 있습니다. 보안 연구원은 취약점을 찾기 위해 바이너리의 로직을 단계별로 추적하고 플러그인을 사용해 분석 과정을 자동화할 수 있습니다.
지원 환경·시스템 요구사항
Cutter는 윈도우, macOS, 리눅스 등 주요 운영 체제를 지원하며, 아키텍처는 x64를 기준으로 배포됩니다. 공식적으로는 Qt와 C++ 환경에서 실행되며, 별도의 런타임 의존성은 패키지에 포함되어 있습니다.
최신 버전·업데이트
현재 버전은 2.5.0이며, 최신 업데이트 정보와 릴리스 노트는 GitHub 저장소의リリースページ에서 확인할 수 있습니다. 정기적인 버그 수정, 성능 개선, 새로운 기능 추가가 이루어지고 있습니다.
제한 사항·확인 사항
Cutter는 GPL-3.0-only 라이선스로 배포되므로, 상용 제품에 통합할 경우 라이선스 조건을 준수해야 합니다. 일부 고급 기능은 리버스 엔지니어링에 대한 사전 지식을 요구할 수 있으며, 매우 큰 바이너리 파일의 경우 로딩 및 분석에 시간이 오래 걸릴 수 있습니다.
화면으로 보는 주요 기능
플로우 차트

이 스크린샷은 여러 개의 사각형 박스와 연결선으로 구성된 플로우 차트를 보여줍니다. 각 박스는 흰색 배경에 회색 테두리가 있으며, 박스들 사이의 연결선은 빨간색과 녹색으로 구분됩니다. 녹색 선은 주요 흐름을 나타내고, 빨간색 선은 조건부 경로를 나타냅니다. 일부 박스는 다른 박스를 가리키는 화살표를 포함하고 있습니다.
디컴파일러 인터페이스

이 스크린샷은 디컴파일러 소프트웨어의 인터페이스를 보여줍니다. 화면은 네 개의 주요 영역으로 나뉘어 있습니다. 왼쪽 상단에는 'Functions' 목록이 있으며, 'sym.Aeroapause'가 선택되어 있습니다. 오른쪽 상단에는 'Disassembly' 영역이 있으며, 선택된 함수의 어셈블리 코드가 표시됩니다. 오른쪽 하단에는 'Decompiler' 영역이 있으며, C 언어 스타일의 디컴파일된 소스 코드가 보입니다. 화면 하단에는 'Console' 창이 있으며, 'Welcome to Cutter!' 메시지가 표시되어 있습니다. 화면 중앙에는 'Graph (sym.Aeroapause)'이라는 탭이 있으며, 함수의 제어 흐름을 시각적으로 보여주는 그래프가 있습니다. 화면 오른쪽 하단에는 'Hexdump' 창이 있으며, 바이너리 데이터가 보입니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


