티스토리 뷰
리버스 엔지니어링
( 역 + 공학 )
어셈블리어 언어
기계어와 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