맨위로

기타2011. 12. 23. 22:05

다양한 리버싱 방법

 

오프라인 코드 분석 : 실행 바이너리를 디스어셈블러나 디컴파일러를 이용 인간이 읽을 수 있는 형태로 변환 직접 분석한다는 것을 의미

 

라이브 코드 분석 : 실행 바이너리를 인간이 읽을 수있는 형태로 변환 하는 과정을 거친다 .

하지만 코드를 정적으로 읽는것이아니라 디버거로 실행시키며 동작을 관찰 하는 것이다.

-리버싱 툴

-디스어셈블러 : 바이너리 기계코드를 해석해서 읽을 수 있는 어셈블리언어로 변환한다.

 

IDA PRO : 다양한 종류의 프로세서 아키텍처를 지원하는 강력한 디스어셈블러.

 

ILDasm : 닷넷 프로그램에 사용되는 언어와 로우레벨 어셈블리 언어인 MSIL([Microsoft intermediate language)를 위한 디스어셈블러

 

-디버거 : 소프트웨어 개발자가 프로그램의 에러를 찾아내고 수정할 수 있게 도와주기 위한 것이지만 강력한 리버싱 툴로 사용된다 . 디버거는 현재 실행 중인 함수의 디스어셈블된 코드를 보여주고 사용자가 코드를 따라가면서 각 코드 라인에 어떤일이 발생하는지 볼수있다.

 

*유저 모드 디버거 : 유저 모드 디버거는 디버깅 대상 프로세스에 대한 모든 제어를 수행할 수 있는 애플리케이션

 

Ollydbg : 매우 강력한 디스어셈블러를 내장하고 있고 패치 엔진도 포함하고 있다.

www.ollydbg.de

 

winDbg : winDbg는 다양한 시스템내부 데이터 구조체 정보를 제공할 수 있는 강력한 확정성을 가지고 있다.

http://goo.gl/i2AAb

 

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 정보, 각 프로세스 안의 객체 핸들 정보 , 오픈된 네트워크 연결 에대한 정보  등 다양한 정보 제공

www.sysinternals.com

 

-패치 툴 : 바이너리 실행 파일의 동작내용을 바꾸기 위해서 그안의 코드를 변경하는 작업

 

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

Posted by STIH

댓글을 달아 주세요