본문 바로가기
정보보안/리버싱

리버싱) 리버싱의 기초_1

by _miiiiiin_zzang_ 2020. 12. 11.
더보기

취약점 진단을 하고 싶은 건지, 모의해킹을 하고 싶은 건지, 리버싱을 하고 싶은 건지 나도 잘 모르겠다.ㅎㅎ

그냥 다 해보는 수밖에......맞나 몰라이씨......그래도 블로그에 꾸준히 누가 들어온다 적어도 8명씩은ㅋㅋㅋ

영국에서도 오던데 뭘 보고 오는 거지 신기하다. 리버싱을 올려도 관심이 있으려나 모르겠네..각설하고 본론 시작~

틀린 정보 지적 언제나 환영합니다~


1. 리버스 엔지니어링

Reverse Engineering. 역공학

시스템 등의 구조, 기능, 동작 등을 분석하는 일련의 과정

2. 리버스 코드 엔지니어링

소프트웨어 분야의 리버스 엔지니어링 = 리버싱

3. 리버싱 방법

- 정적분석

파일의 겉모습을 관찰, 정적 분석 단계에서는 파일을 실행하지 않음, 내부 코드와 그 구조를 확인하는 것

- 동적분석

파일을 직접 실행시켜서 그 행위를 분석하고 디버깅을 통해 코드 흐름과 메모리 상태 등을 자세히 살펴보는 것

파일, 레지스트리, 네트워크 등을 관찰하면서 프로그램의 행위를 분석, 디버거를 이용하여 분석

 

간단 리버싱

드디어 리버싱 시작

ollyDbg로 오픈하기 (다운로드는 http://www.ollydbg.de/)

- Code Window : 기본적으로 disassembly code를 표시하여 각종 comment, label을 보여주며 코드를 분석하여 loop, jump 위치 등을 보여줌

- Register Window : CPU Register 값ㅇ르 실시간으로 표시, 수정 가능

- Dump Window : 프로세스에서 원하는 메모리 주소 위치를 hex와 아스키/유니코드 값으로 표시, 수정

- Stack Window : ESP register가 가리키는 프로세스 스텍 메모리를 실시간으로 표시, 수정

EP

Entry Point : 실행 파일의 코드 시작점, 프로그램이 실행될 때 CPU에 의해 가장 먼저 실행되는 코드 시작 위치

실행 시작 주소는 004011A0

1. Address : 프로세스의 가상 메모리 내의 주소

2. Instruction : CPU 명령어

3. Disassembled code : OP code를 보기 쉽게 어셈블리로 변환한 코드

4. comment : 디버거에서 추가한 주석

 

 

 

댓글