책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9788965401285
· 쪽수 : 360쪽
책 소개
목차
01 리버싱을 위한 기초 지식
1. 리버싱을 위한 프로그램 실행 구조
2. 레지스터
3. 스택과 스택 프레임
3.1 스택
3.2 스택 프레임
4. PE 파일
4.1 PE 파일 기본 개념
4.2 주소 지정 방법
4.3 IAT
5. OllyDbg 기본 기능
5.1 OllyDbg란?
5.2 OllyDbg 기본 설정
6. 어셈블러 기초 지식
6.1 어셈블러의 개요
6.2 어셈블러 기본 구조
7. 리버싱에 필요한 도구
7.1 리버싱 기초 예제 abex crackme
7.2 리버싱의 바이블 Lena의 강의
7.3 PE 파일 분석 프로그램 PEView와 Detect It Easy
7.4 메모리 덤프를 위한 OllyDbg 플러그인 OllyDumpEx
7.5 손상된 IAT를 복구하는 LoadPE
02 리버싱 시작하기
1. abex crackme 첫 번째 예제
1.1 프로그램 동작 방식
1.2 엔트리 포인트
1.3 스텝 오버(F8)와 스텝 인투(F7)
1.4 브레이크포인트(F2)와 프로그램 실행(F9)
1.5 전진과 후진 기능 사용하기
1.6 프로그램 다시 시작(
1.7 MessageBox( ) 함수 구조
1.8 서브루틴과 스택 프레임
1.9 프로그램 구조 분석
1.10 문제 해결
2. abex crackme 두 번째 예제
2.1 프로그램 동작 방식
2.2 프로그램 실행(Paused & Running)
2.3 문자열 검색
2.4 코드 분석
2.5 스택 분석하기
2.6 리틀 엔디안과 빅 엔디안
2.7 메모리 분석하기
2.8 프로그램 구조 분석
2.9 문제 해결
03 리버싱에 익숙해지기
1. abex crackme 세 번째 예제
1.1 프로그램 동작 방식
1.2 함수 호출 규약
1.3 부호 있는 숫자의 표현
1.4 프로그램 구조 분석
1.5 문제 해결
2. abex crackme 네 번째 예제
2.1 프로그램 동작 방식
2.2 API 검색
2.3 프로그램 구조 분석
2.4 문제 해결
3. abex crackme 다섯 번째 예제
3.1 프로그램 동작 방식
3.2 GetVolumeInformation( ) 함수
3.3 반복문을 통한 문자열 변경
3.4 프로그램 구조 분석
3.5 문제 해결
04 리버싱, 좀 더 깊숙이
1. Lena의 초보자를 위한 리버싱 강의
1.1 TUTS4YOU에서 Lena의 강의 소개
1.2 Lena의 강의 구성
2. Nag 창 없애기
2.1 프로그램 동작 방식
2.2 콜 스택
2.3 코드 캐이브
2.4 메모리 맵
2.5 어셈블
2.6 실행 파일로 복사
3. 일련번호 생성 로직의 이해
3.1 프로그램 동작 방식
3.2 프로그램 구조 분석
3.3 일련번호 생성 로직 분석
3.4 ASCII 코드 값 추출
05 리버싱의 어려운 문제들
1. 패킹과 언패킹
1.1 패킹과 언패킹의 개요
1.2 패킹 도구
2. 대표적인 패커 UPX
2.1 UPX 개요
2.2 패킹
2.3 PE 파일 확인하기
2.4 언패킹과 OEP
2.5 메모리 덤프
2.6 IAT 복구
3. 매뉴얼 언패킹 사례
3.1 ESP 레지스터를 활용한 OEP 찾기
3.2 하드웨어 브레이크포인트
3.3 OEP 찾기와 언패킹된 프로그램 저장
3.4 MUP 결과 확인하기
4. 코드 인젝션
4.1 코드 인젝션의 개요
4.2 셸코드 입력
06 지뢰 찾기 게임 해킹
1. 시간 설정 변경
1.1 디버깅 시작하기
1.2 SetTimer( ) 함수 호출 영역에 브레이크포인트 설정
1.3 SetTimer( ) 호출 부분 코드 분석
1.4 타이머 조작
2. 지뢰 찾기 맵핵 만들기
2.1 맵핵 방법론
2.2 GetKeyState( ) 함수에 브레이크포인트 걸기
2.3 브레이크포인트 확인하기
2.4 비교 함수 분석하기
2.5 스텝 인투(F7) 기능을 활용한 서브루틴 분석
2.6 세 번째 서브루틴 분석
2.7 세 번째 서브루틴 - 폭탄 위치를 찾는 로직 발견
2.8 맵핵 코드 작성
2.9 맵핵 코드 분석
07 맺음말
1. 공부해야 할 고급 기술들
1.1 64비트 아키텍처
1.2 IDA Pro
1.3 언패킹 기술
2. 리버싱 기술 활용 분야
2.1 악성코드 분석
2.2 버그 헌팅
2.3 해킹
2.4 해킹 방어 대회
3. 집필을 마치며
A1 OllyDbg 기본 기능
1. OllyDbg 개요
1.1 OllyDbg란?
1.2 OllyDbg 구성
1.3 OllyDbg 기본 설정
2. 뷰
2.1 CPU
2.2 메모리 맵(Memory map)
2.3 실행 모듈(Executable modules)
2.4 콜 스택(Call stack)
3. 플러그인
4. 브레이크포인트
5. 코드 영역 메뉴
5.1 수정
5.2 주석 달기
5.3 어셈블
5.4 New origin here 메뉴
5.5 Follow in Dump 메뉴
5.6 이동하기
5.7 Search for 메뉴
5.8 참조 위치 찾기
A2 어셈블러
1. 어셈블러의 개요
1.1 단순한 언어 어셈블러
1.2 어셈블러의 개요
1.3 간단한 어셈블러 테스트 방법
2. 어셈블러 기본 구조
2.1 2개의 인자를 사용하는 명령어
2.2 1개의 인자를 사용하는 명령어
2.3 인자가 없는 명령어
3. 어셈블러 명령어 종류
3.1 데이터 이동
3.2 산술 연산자
3.3 부울 연산자
3.4 분기 명령어
3.5 시프트 연산자
3.6 스택 연산자
3.7 기타 연산자
A3 PE 파일 구조
1. PE 파일 기초
1.1 PE 파일이란 무엇인가?
1.2 PE 파일의 구조
2. 주소 지정 방법
3. PE 헤더 정보
3.1 PE 헤더
3.2 섹션 헤더
3.3 섹션 데이터
4. IAT
찾아보기