OllyDbg
더 많은 작업
OllyDbg(올리디버거)는 32비트 윈도우 실행 파일을 소스코드 없이 기계어 수준에서 실행·추적하며 분석하는 사용자 모드 어셈블러 디버거로, 올레 유스추크(Oleh Yuschuk)가 개발해 무료로 배포했다.
일반 디버거는 개발자가 자기 프로그램의 소스와 디버그 정보를 가지고 쓴다. OllyDbg 는 소스가 없는 실행 파일을 그대로 열어 역어셈블한 코드, 레지스터, 스택, 메모리를 화면에 보여 주고, 명령어 한 줄씩 실행하거나 중단점에 멈춰 가며 동작을 관찰하게 한다. 이 때문에 악성코드 분석, 소프트웨어 보호 기법 연구, 패치되지 않은 프로그램의 동작 확인 같은 리버스 엔지니어링 작업에서 널리 쓰였다. 최종판인 2.01 은 2013년 9월에 나왔고, 호출 스택 창, SEH·VEH 예외 처리기 체인 표시, 소프트웨어 중단점, 실행 추적, 플러그인 인터페이스 같은 기능을 갖췄다.[1]
32비트 전용이라 64비트 프로그램은 다루지 못하며, 64비트 분석에는 후속 성격의 다른 공개 디버거들이 쓰인다.
- 역어셈블 창 - 실행 파일의 기계어를 어셈블리 명령으로 보여 주고, 함수 시작점·호출 대상·문자열 참조를 자동으로 분석해 주석을 단다
- 중단점 - 특정 주소, 메모리 접근, API 호출(예: MessageBox, CreateFile)에서 멈춘다
- 단계 실행 - 명령어 단위로 들어가거나(step into) 호출을 건너뛰며(step over) 실행한다
- 메모리·레지스터 편집 - 실행 중에 값을 바꾸거나 명령어를 고쳐 실행 흐름을 바꿔 본다
- 플러그인 - 디버거 탐지 회피, 메모리 덤프 같은 기능을 덧붙인다
분석 도구도 소프트웨어이므로 공격 대상이 된다. 미국 국가 취약점 데이터베이스(NVD)에는 OllyDbg 1.10 이 OutputDebugString 으로 전달된 형식 지정자를 그대로 처리하는 포맷 스트링 취약점(CVE-2004-0733), 긴 문자열이 든 조작된 DLL 로 일어나는 스택 버퍼 오버플로(CVE-2008-3148) 등이 등록돼 있다.[2] 악성코드가 분석을 방해하려고 이런 결함을 노리기도 하므로, 분석은 격리된 가상 머신에서 한다.
| 도구 | 분류 | 하는 일 |
|---|---|---|
| OllyDbg | 디버거(동적 분석) | 윈도우 실행 파일을 실행하며 기계어 수준으로 추적 |
| SpotBugs | 정적 분석 도구 | 자바 바이트코드를 실행하지 않고 보안 약점 진단 |
| OpenVAS | 취약점 스캐너 | 네트워크 너머 호스트·서비스의 알려진 취약점 점검 |
| ModSecurity | 웹 방화벽 | 웹 서버로 들어오는 요청 검사·차단 |
- ↑ 「OllyDbg 2.0」, OllyDbg 공식 사이트, https://www.ollydbg.de/version2.html, 확인일: 2026-11-04.
- ↑ 「OllyDbg 검색 결과(CVE-2004-0733, CVE-2008-3148 등)」, NIST National Vulnerability Database, https://nvd.nist.gov/vuln/search?query=OllyDbg, 확인일: 2026-11-04.