티스토리 뷰

리버스 엔지니어링

 (   역       +      공학   ) 


어셈블리어 언어

기계어와 1:1 로 대응 관계를 맺고 있는 언어.

저급언어: 기계어와 가까운 언어.(어셈블리어)

고급언어: 사람과 가까운 언어.(C,C++,JAVA, 스크립트)



※ 리버스 엔지니어링의 좋은 예

-악성코드 분석, 패치, 오류확인

※ 리버스 엔지니어링의 안좋은 예

-프로그램 크랙, 인증크랙,악성코드 추가 및 배포.



바이너리 디버거 프로그램

기능 : 기계어를 어셈블리어로 치환해준다.(디스어셈블리)

종류 : OllyDBG, IDA Pro, WinDBG


OllyDBG

- 다운로드 : http://ollydbg.de

특징 : 동적분석, 한줄한줄 실행하면서 분석해준다.

단점 : 악성코드 실행시 하드가 위험.


IDA Pro

- 다운로드 : http://hex-rays.com/idapro/idadown.htm

특징 : 정적분석, 코드를 실행하지 않고 분석해준다.

단점 : 메모리에 실제 올라가지 않아 동작과정을 정확하게 보기 어렵다.

장점 : 코드를 읽기 편하다.


WinDBG

- 다운로드 : http://www.microsoft.com/whdc/devtools/debugging/default.mspx

특징 : 커널모드에서 분석 가능. 기능이 많다. 

초보자에게는 쓸기능이 없지만 능숙한 사람에게는 포토샵 같은 기능을 준다.






'ETC > 종합' 카테고리의 다른 글

WINDOWS 7 라우터 MAC 정적 설정  (0) 2015.08.28
[wireless Hacking] 무선 wireshark 필터링 방법  (0) 2015.08.21
ascii-table (이미지)  (0) 2015.07.10
스테가노그래피 data추출  (0) 2015.07.10
지역변수 stack, 전역 변수 data  (0) 2015.07.03
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday