Cutter is a free, open-source reverse engineering platform powered by Rizin. With Ghidra decompiler integration, modern UI, and cross-platform support, it's perfect for all skill levels.
Professional binary reverse engineering without expensive tools. In the fields of cybersecurity and software analysis, reverse engineering is a critical skill, yet professional tools often come with hefty price tags. Today we're introducing Cutter, a free and open-source reverse engineering platform powered by Rizin that is both powerful and easy to use.
📖 What is Cutter?
Cutter is an advanced and free, open-source reverse engineering platform whose core mission is to build a feature-rich reverse engineering tool while placing special emphasis on user experience. The project was created by reverse engineers for the reverse engineering community, addressing the steep learning curve of traditional tools.
Cutter uses Rizin as its core engine, meaning it not only provides the convenience of a GUI but also offers access to thousands of Rizin features through an integrated terminal. This design allows users to seamlessly switch between graphical and command-line operations, making it suitable for both beginners getting started and professionals with advanced needs.
✨ Key Feature Highlights
Cutter integrates all the features needed for modern reverse engineering, making it a one-stop analysis platform:
🔧 Comprehensive Analysis Views
- 📊 Disassembly View: Provides linear disassembly code viewing, clearly displaying program structure
- 📈 Graph View: A full-featured graph view plus a mini graph for quick navigation, intuitively showing function call relationships and program flow
- 🔢 Hex Editor: Allows viewing and modifying any file with a feature-rich hexadecimal view
🔍 Intelligent Code Analysis
- 🔄 Integrated Decompiler: Cutter version natively integrates the Ghidra decompiler without requiring a Java environment, converting machine code into more understandable high-level language representations
- 🏷️ Symbol Analysis: Lists methods, imports, and exports in binary files to help understand program structure
- ✏️ Auto Renaming: Supports automatic renaming of methods and variables, greatly improving code readability
⚡ Dynamic Analysis Capabilities
- 🐞 Debugger Features: Provides multi-platform local and remote debuggers for dynamic analysis (currently in beta)
- 🤖 Emulation: Integrated emulation capabilities, especially useful for automation, cryptographic algorithm analysis, and malware analysis
🎨 Extensibility and Customization
- 🐍 Python Scripting Engine: Use Python scripts to quickly automate tasks
- 🔌 Plugin System: Extend Cutter's core functionality with native or Python plugins
- 🎨 Theme Editor: A fully featured theme editor for easy customization of Cutter's appearance
🚀 Comparison with Other Tools
Cutter occupies a unique position in the reverse engineering tool ecosystem:
| Tool Name | License | Learning Curve | Core Features | Target Users |
|---|---|---|---|---|
| Cutter | Free & Open Source | Moderate | Rizin core, integrated GUI | Beginners to experts |
| IDA Pro | Commercial | Steep | Mature, comprehensive features | Professionals |
| Ghidra | Free & Open Source | Moderate | Strong decompilation, NSA-developed | Intermediate to experts |
| Binary Ninja | Commercial | Moderate | Intermediate language, rich API | Developers, researchers |
| Radare2 | Free & Open Source | Steep | Command-line, lightweight | CLI enthusiasts |
Compared to other tools, Cutter's advantages are mainly reflected in:
- 💰 Completely free and open source (GPLv3 license), no licensing concerns
- 🎯 All-in-one design, no need to switch between multiple tools
- ⚖️ Balanced functionality and usability, neither as steep as Radare2's pure CLI nor as expensive as IDA Pro
- 🎨 Modern interface with multiple themes and customization options
💡 Usage Tips and Best Practices
Mastering the following tips will help you use Cutter more efficiently:
🛠️ New Project Setup
When starting a new analysis, it's recommended to configure the following settings first:
- 🎯 Choose the correct architecture and format: Cutter usually auto-detects binary file types, but manual confirmation can avoid analysis errors
- 🚀 Enable auto-analysis: Use Cutter's auto-analysis feature to quickly identify functions, strings, and symbols
- ⚙️ Configure the decompiler: Adjust Ghidra decompiler settings as needed, balancing accuracy and speed
🧭 Efficient Navigation Tips
- Use the 📊 graph overview to quickly understand function structure
- Use the 🗺️ mini-map to quickly locate within complex functions
- Use 🔗 cross-references (Xrefs) to track function and data call relationships
🤖 Script Automation
Use Python scripts to automate repetitive tasks:
`# Example: Auto-rename variables
import cutter
# Get the current function
current_function = cutter.cmdj("afij")
if current_function:
# Analyze and rename
cutter.msg("Auto analyzing function...")`👥 Collaborative Analysis
- Use the 💾 project save feature to share analysis progress with team members
- Use the 📝 annotation system to document analysis findings for knowledge transfer
🛠️ Download and Installation
Cutter's installation process is straightforward and supports all major platforms:
🪟 Windows
- Visit the Cutter official website
- Download the Windows installer (.exe) or portable version (.zip)
- Run the installer and follow the prompts to complete installation
🍎 macOS
- Visit the official website to download the macOS version
- Drag the Cutter app to the Applications folder
- On first run, you may need to authorize it in Security & Privacy settings
🐧 Linux
Multiple installation methods are available:
Method 1: Use AppImage (Recommended)
- Download the AppImage file, grant execute permission, and run directly:
`chmod +x Cutter*.AppImage
./Cutter*.AppImage`Method 2: Install via Package Manager
- For Ubuntu and its derivatives, you can use APT to install:
`sudo apt update
sudo apt install cutter`Method 3: Use Snap
`sudo snap install cutter`🔌 Plugin Extensions
After installing Cutter, you can extend its functionality with plugins:
- 🔧 Install the CutterMCP plugin: Copy the CutterMCP plugin to Cutter's plugin directory, enabling AI assistants to directly interact with binary files
- 📦 Explore the plugin marketplace: Cutter has a built-in plugin manager where you can browse and install various community-developed plugins
✅ Verify Installation
After installation, run Cutter for the first time:
- Launch Cutter and choose a theme and basic configuration
- Try opening a simple binary file (e.g., the built-in
lsorcalc.exe) - Confirm that disassembly, graph view, and decompilation work properly
If you encounter issues, check the Cutter logs or visit the community for help.
🌟 Conclusion
Cutter represents the future direction of modern reverse engineering tools — powerful, accessible, and community-driven. It successfully combines the power of the Rizin engine with an intuitive graphical interface, breaking down the high barriers of professional reverse engineering.
Whether you're a beginner looking to learn the basics of reverse engineering or a professional who needs an efficient daily analysis tool, Cutter is worth a try. Its open-source nature means it's not just a tool but a continuously evolving ecosystem that grows with community contributions.
Resource Links:
Note: This is the English translation of the original Chinese version.