728x90
반응형
정적 분석
프로그램을 실행하지 않고 분석하는 방법
장점
- 전체 구조 파악이 쉽다.
- 프로그램이 어떤 함수로 구성됐고 함수들은 서로 어떤 호출 관계를 갖는지, 어떤 API를 사용하고 어떤 문자열을 포함하는지 등을 종합적으로 살펴볼 수 있습니다. 분석자는 이 정보들을 바탕으로 프로그램을 큰 관점에서 이해할 수 있습니다.
- 분석 환경의 제약에서도 비교적 자유롭다**.**
- 프로그램을 실행시키지 않아
- 바이러스와 같은 악성 프로그램의 위협으로부터 안전하다.
- 프로그램을 실행시키지 않아 바이러스에 감염
단점
- 난독화(Obfuscation)가 적용되면 분석이 매우 어려워진다.
- 다양한 동적 요소를 고려하기 어렵다.
- 프로그램의 실행 흐름이 복잡할수록 심각해진다.
동적 분석
프로그램을 실행시키면서 분석하는 방법
장점
- 코드를 자세히 분석해보지 않고도 프로그램의 개략적인 동작을 파악할 수 있다.
- 어떤 입력에 대한 개별 함수 또는 프로그램의 출력을 빠르게 확인할 수 있으므로, 이 출력값들을 기반으로 동작을 추론해 볼 수 있다.
단점
- 분석 환경을 구축하기 어려울 수 있다.
- 안티 디버깅(Anti Debugging)에 걸린다.
디버깅 방지 코드if (is_debugging()) // 디버깅인지 확인 exit(-1); // 프로그램 종료 Func();
반응형
'Reversing > 기초 리버싱' 카테고리의 다른 글
1장 Introduction: Reverse Engineering (0) | 2023.07.17 |
---|---|
3장 : Background: Computer Architecture, Register (0) | 2023.07.17 |
4장 : Background: Windows Memory Layout (0) | 2023.07.17 |
5장 : x86 Assembly : Essential Part (0) | 2023.07.17 |