역분석 도구의 양대 산맥. 뭘 써야 할까?
가격
| 도구 | 가격 |
|---|---|
| IDA Pro | $1,899+ (ARM 추가 시 더 비쌈) |
| IDA Free | 무료 (x86/x64만, 구버전) |
| Ghidra | 무료 (NSA 오픈소스) |
개인이면 Ghidra. 회사에서 사주면 IDA.
디컴파일러
| 항목 | IDA (Hex-Rays) | Ghidra |
|---|---|---|
| 품질 | 더 좋음 | 충분함 |
| 속도 | 빠름 | 느림 |
| ARM 지원 | 별도 구매 | 포함 |
Hex-Rays 디컴파일러가 더 깔끔한 C 코드를 보여준다. 근데 Ghidra도 대부분 상황에서 충분.
UI/UX
| 항목 | IDA | Ghidra |
|---|---|---|
| UI | 깔끔, 직관적 | 복잡, 적응 필요 |
| 단축키 | 익숙하면 빠름 | 좀 다름 |
| 반응속도 | 빠름 | 무거움 |
IDA가 더 쾌적하다. Ghidra는 Java 기반이라 좀 느림.
플러그인/스크립트
| 항목 | IDA | Ghidra |
|---|---|---|
| 언어 | Python, IDC | Python, Java |
| 생태계 | 크고 오래됨 | 빠르게 성장 중 |
| 문서 | 풍부 | 부족한 편 |
IDA 플러그인이 더 많고 문서도 많다. Ghidra는 공식 문서가 부실한 편.
협업
| 항목 | IDA | Ghidra |
|---|---|---|
| 협업 기능 | 별도 서버 필요 | 내장 (Ghidra Server) |
| 버전 관리 | 어려움 | 쉬움 |
Ghidra는 팀 협업 기능이 기본 내장.
결론
Ghidra 추천하는 경우:
- 예산 없음
- ARM/MIPS 분석
- 팀 협업
- 취미/학습
IDA 추천하는 경우:
- 회사에서 사줌
- 고품질 디컴파일 필요
- 시간이 돈
- 기존 IDA 경험 있음
나는 Ghidra 쓴다. 무료인데 이 정도면 충분.
다음 번외편에서 법적 고려사항.