다양한 리버싱 방법
오프라인 코드 분석 : 실행 바이너리를 디스어셈블러나 디컴파일러를 이용 인간이 읽을 수 있는 형태로 변환 직접 분석한다는 것을 의미
라이브 코드 분석 : 실행 바이너리를 인간이 읽을 수있는 형태로 변환 하는 과정을 거친다 .
하지만 코드를 정적으로 읽는것이아니라 디버거로 실행시키며 동작을 관찰 하는 것이다.
-리버싱 툴
-디스어셈블러 : 바이너리 기계코드를 해석해서 읽을 수 있는 어셈블리언어로 변환한다.
IDA PRO : 다양한 종류의 프로세서 아키텍처를 지원하는 강력한 디스어셈블러.
ILDasm : 닷넷 프로그램에 사용되는 언어와 로우레벨 어셈블리 언어인 MSIL([Microsoft intermediate language)를 위한 디스어셈블러
-디버거 : 소프트웨어 개발자가 프로그램의 에러를 찾아내고 수정할 수 있게 도와주기 위한 것이지만 강력한 리버싱 툴로 사용된다 . 디버거는 현재 실행 중인 함수의 디스어셈블된 코드를 보여주고 사용자가 코드를 따라가면서 각 코드 라인에 어떤일이 발생하는지 볼수있다.
*유저 모드 디버거 : 유저 모드 디버거는 디버깅 대상 프로세스에 대한 모든 제어를 수행할 수 있는 애플리케이션
Ollydbg : 매우 강력한 디스어셈블러를 내장하고 있고 패치 엔진도 포함하고 있다.
winDbg : winDbg는 다양한 시스템내부 데이터 구조체 정보를 제공할 수 있는 강력한 확정성을 가지고 있다.
IDA PRO : 강력한 디스어셈블러인 동시에 디버깅 기능이 결합된 유저모드 디버거
PEBrowse Professional Interactive : 디스어셈블러와 디버거 기능 및 IL 디버거와 닷넷 프로그램을 위한 디스어셈블러도 제공한다. www.smidgeonsoft.com
*커널 모드 디버거 : 특정 프로세스가 아닌 시스템을 전체적으로 보고자 할 떄 사용하는 디버거이다.
winDbg : http://goo.gl/i2AAb
Numega SoftICE : 원래 윈도우 디바이스 드라이버 개발 툴로서 개발되어지만 리버서들이 매우 많이 사용한다.
winDbg 와 다른점은 로컬커널 디버깅을 수행할 수 있다는 점이다.
-디컴파일러 : 디컴파일러는 프로그램 바이너리에서 하이레벨 언어의 소스코드를 산출하는 것이 목적인 툴 .
-시스템 모니터링 툴 : 시스템 모니터링 툴은 운영체제와 애플리케이션 사이에 존재하는 다양한 I/O 채널을 관찰 할 수 있는 툴이다.
Filemon : 프로그램과 운영체제 간의 모든 파일 시스템 레벨의 파일 I/O 와 시스템에서 동작 중인 모든 프로세스가 만들어 내는 파일 I/O를 모니터링 할수 있다.
TCPView : 프로세스에 대해 활성화된 TCP,UDP 네트워크 연결을 모니터링한다.
TDIMon :시스템에서 동작 중인 프로세스가 수행하는 소켓 레벨의 작업에 대한 정보를 제공한다.
RegMon : 모든 레지스트리 접근 관련 작업을 모니터링 하는 툴
PortMon : 물리 포트 모니터링 툴러서 시스템의 모든 직렬,병렬 I/O 트래픽을 모니터링 한다.
WinObj : 시스템의 네임드 객채를 계층적으로 보여준다.
Process Explorer : 프로세스 목록 로드한 DLL 정보, 각 프로세스 안의 객체 핸들 정보 , 오픈된 네트워크 연결 에대한 정보 등 다양한 정보 제공
-패치 툴 : 바이너리 실행 파일의 동작내용을 바꾸기 위해서 그안의 코드를 변경하는 작업
Hex Workshop : 전체 디스크에 대한 헥사 덤프 기능과 패치 기능을 제공하는 툴
- 실행 이미지 덤프 툴
DUMPBIN : PE 파일의 다양한 부분을 덤프할 수 있는 마이크로소프트의 콘솔 모드 툴
PEView : 강력한 GUI 기반 실행 이미지 덤프 툴 . www.magma.ca/~wjr
PEBrowse Professional : PE 덤프 툴 뿐만 아니라 디스어셈블러로 사용할 수있다.
이글은 '리버싱 :리버스 엔지니어링 의 비밀을 파헤치다' 책의 내용을 바탕으로 작성 됬습니다.
'기타' 카테고리의 다른 글
안티 리버싱 기술 (0) | 2011.12.23 |
---|---|
산술 연산 플래그 (0) | 2011.12.23 |
PE 파일 포맷의 디렉토리 (0) | 2011.12.23 |
리버싱 툴 (0) | 2011.12.23 |
댓글을 달아 주세요