이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

중고도서 리버싱 입문
따라 하며 자연스레 익히는 어셈블러, 스택, 메모리, 레지스터
조성문
프리렉 2016.05.18.
판매자
북스토랑
판매자 평가 5 1명 평가
중고샵 판매자가 직접 등록/판매하는 상품으로 판매자가 해당 상품과 내용에 모든 책임을 집니다.

이미 소장하고 있다면 판매해 보세요.

  •  한정판매의 특성상 재고 상황에 따라 품절 가능

중고도서 소개

사용 흔적 약간 있으나, 대체적으로 손상 없는 상품?
  •   판매자 : 북스토랑
  •  특이사항 : 보안/해킹
  •  개인 판매자의 상품은 개인정보보호를 위해 결제완료 후 연락처를 확인할 수 있습니다.
  •  구매 전 상품에 대한 문의는 [판매자에게 문의하기]를 이용해 주시기 바랍니다.

책소개

목차

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

찾아보기

저자 소개

저자 : 조성문
16년 경력의 정보시스템 전문가이자 화이트 해커다. 삼성SDS에서 주식 거래 시스템을 개발하면서 IT 경력을 시작했으며, KTH에서 인터넷 포털시스템을 운영하면서 해킹과 보안에 대한 많은 경험을 쌓았다. 현재 공공기관에서 정보보안과 시스템 운영 업무를 담당하고 있다.
정보시스템을 운영하면서 DDoS, SQL Injection, BOF 등 수많은 해킹 공격을 경험했다. 그때마다 시스템을 복구하고 취약점을 보완하기 위해 밤을 지새웠지만, 기존의 지식을 가지고는 누가 어떻게 해킹에 성공했는지 알아내기가 쉽지 않았다. 정보시스템을 안전하게 운영하려면 해킹 기술이 필요했고 리버싱, 침투 테스트, 파이썬 해킹 기술에 대한 연구를 시작했다. 지금은 그동안 얻은 경험을 바탕으로 후배들이 해킹의 기본 원리를 좀 더 쉽게 익힐 수 있도록 저술 활동에 힘쓰고 있다.
'컴퓨터시스템응용 기술사'와 '정보시스템 수석감리원' 자격증을 가지고 있으며, 저서로는 《파이썬 해킹 입문》과 《전설의 해커》가 있다. 또한, 국내에 몇 안 되는 정보시스템 운영 경험과 해킹 지식을 겸비한 전문가이기도 하다.

품목정보

발행일
2016년 05월 18일
쪽수, 무게, 크기
360쪽 | 717g | 188*257*16mm
ISBN13
9788965401285

출판사 리뷰

따라 하며 자연스레 익히는 리버싱
기존의 리버싱 관련 서적은 리버싱에 필요한 다양한 지식을 전달하기 위해 많은 공을 들여 배경 지식을 설명하고 있다. 즉, 리버싱을 하려면 굉장히 다양한 지식이 필요하기 때문에 레지스터, 메모리, 스택, 어셈블러, PE 구조, 디버거와 기타 관련된 다양한 도구 등 일반적인 IT 분야에서는 사용하지 않는 지식을 자세히 설명한다. 하지만, 책만 읽어서 낯선 지식을 이해하기란 쉽지 않다. 처음 접하는 지식은 반복적으로 읽고 실험해봐야 원리를 이해할 수 있는데, 리버싱을 시작하기도 전에 어려운 이론을 깊이 공부하면 쉽게 지칠 수 있기 때문이다. 리버싱 입문자가 책으로 공부하다가 쉽게 포기하는 것도 이러한 이유 때문이다.
그래서 예제를 중심으로 이 책을 구성했다. "백문불여일타(百聞不如一打)"라는 IT 업계의 격언에 따라 이론을 깊이 있게 배우기보다는 이론은 간단히 공부하고 예제를 따라 하면서 자연스럽게 리버싱을 배울 수 있도록 구성되어 있다. 마지막으로, 반드시 알아야 하는 지식은 부록으로 한 번 더 다룬다.

이런 분에게 추천합니다
리버싱은 프로그램 언어를 공부하는 것과는 조금 다르다. 프로그램 언어는 기본서를 중심으로 문법을 공부하고 예제를 풀어보면 쉽게 익힐 수 있지만, 리버싱을 공부하려면 프로그램의 동작 방식과 컴퓨터 구조와 관련된 다양한 지식이 필요하다. 물론, 프로그래밍 언어와 컴퓨터 구조에 대한 기초 지식이 있는 사람이라면 이 책을 더욱 쉽게 이해할 수 있다.
이 책은 리버싱 입문서로, 리버싱과 관련된 깊은 지식을 제공하기보다는 관심 있는 사람에게 스스로 공부할 수 있는 힘을 길러주는 책이다. 컴퓨터 관련 전공 학생이나 IT 관련 업계에 종사하면서 리버싱을 시작하고 싶은 독자에게 이 책을 권하고 싶다.

상품정보안내

  •  주문 전 중고상품의 정확한 상태 및 재고 문의는 [판매자에게 문의하기]를 통해 문의해 주세요.
  •  주문완료 후 중고상품의 취소 및 반품은 판매자와 별도 협의 후 진행 가능합니다. 마이페이지 > 주문내역 > 주문상세 > 판매자 정보보기 > 연락처로 문의해 주세요.

부적합 상품 신고하기

신고하기
  •  구매에 부적합한 상품은 신고해주세요.
  •  구매하신 상품의 상태, 배송, 취소 및 반품 문의는 판매자 묻고 답하기를 이용해주세요.
  •  상품정보 부정확(카테고리 오등록/상품오등록/상품정보 오등록/기타 허위등록) 부적합 상품(청소년 유해물품/기타 법규위반 상품)
  •  전자상거래에 어긋나는 판매사례: 직거래 유도
150,000
1 150,000