본문 바로가기

Reverse Engineering

리버싱 수행단계

리버싱을 위해서 툴을 사용하는 기본적인 순서이다.

1. 바이너리 분석
2. 문자열 분석 및 Api와 Dll, Event 분석
3. 모니터링을 통한 파일 및 레지스트리, 네트워크 패킷 분석
4. 디스어셈블러나 디버거를 이용한 분석


1. 바이너리 분석, 컴파일러 확인, 패커 여부를 파악한 후에 어떤 언어로 코딩되어 있는지 확인한다.
사용되는 툴 : PEID, HEX Workshop

2. 어떠한 문자열들이 들어있는지 대략적으로 살펴보고,
어떤 Api를 사용했는지, 어떤 Dll을 로딩하는지 주요 이벤트 시점의 위치에 대해서 분석한다.
사용되는 툴 : Dependency Walker,  Dumpbin, Strings

3. 모니터링을 해본다. 외부의 시스템과 어떤 패킷이 오가는지도 확인한다.
사용되는 툴 : ProcessMoniter, RegMon, TcpView
 
4. 디스어셈블링을 통해 얻어진 어셈코드를 분석하거나 디버거로 로드하여 실시간으로 분석해본다.
사용되는 툴 : OllyDbg, IDA


대체로 이와 같은 기본 순서에서 몇가지를 더 추가하거나 바로 디버깅하는 형태로 진행한다.

리버싱을 위해서는 다각적인 분석이 필요하기 때문에 여러 가지 툴을 사용하게 된다.