Static Analysis (정적 분석)
프로그램을 실행시키지 않고 분석하는 방법
장점 👍
- 프로그램의 전체 구조를 파악하기 쉽다
- 프로그램이 어떤 함수로 구성되었고, 함수들은 서로 어떤 호출 관계를 가지는지, API 정보와 어떤 문자열을 사용하는지 등을 종합적으로 살펴볼 수 있음
- 분석 환경의 제약에서도 비교적 자유롭다
- 프로그램을 실행하지 않아도 되므로 분석을 지원하는 적절한 도구만 갖추면 됨.
- 악성 프로그램의 위협으로부터 안전
단점 👎
- **Obfuscation(난독화)**가 적용되면 분석이 매우 어려워짐
- 다양한 동적 요소를 고려하기 어려움
대표적인 정적 분석 툴 → IDA
Dynamic Analysis (동적 분석)
프로그램을 실행시키면서 분석하는 방법
장점 👍
- 코드를 자세히 분석하지 않아도 프로그램의 개략적인 동작 파악 가능
단점 👎
- 분석 환경을 구축하기 어려울 수 있음
- Anti Debugging (안티 디버깅)
- 프로그램 자신이 디버깅을 당하고 있는지 검사하고, 디버깅 중이면 프로그램을 강제로 종료함.
대표적인 동적 분석 툴 → x64dbg
'Reversing > Dreamhack : Reverse Engineering' 카테고리의 다른 글
| Quiz: x86 Assembly 1 (0) | 2025.04.16 |
|---|---|
| x86 Assembly🤖: Essential Part (0) | 2025.04.16 |
| Background: Windows Memory Layout (0) | 2025.04.16 |
| Background: Computer Architecture (0) | 2025.04.16 |
| Background : Binary (0) | 2025.04.16 |