나의 별점
책장에 담기
게시물 작성
문장 남기기
분량
두꺼운 책
출간일
2012.9.20
페이지
616쪽
상세 정보
C/C++ 코드가 어셈블리 코드로 어떻게 변해가는지에 대한 기초적인 부분에서부터, 보안 프로그램 공격 방법, 리버싱 보조 플러그인 개발 방법, 그리고 소스코드가 없는 상태에서 프로그램을 커스터마이징하는 방법까지, 리버스 엔지니어링에 관련된 모든 사항을 다룬다. 이 책은 리버스 엔지니어링을 처음 접하거나 어느 정도 수준을 높이고자 하는 독자를 대상으로 한다. 특히 친근한 설명과 가벼운 대화체를 사용했으므로 접근하는 데 벽이 높지 않으리라 생각한다. 따라서 리버스 엔지니어링이 너무 어려워서 중도에 포기했던 독자라면 많은 도움이 될 것이다.
추천 게시물
우리
@wooriwzz2
식탐 해방
가장 먼저 좋아요를 눌러보세요
경쓰
@gyeongsss
흉가
가장 먼저 좋아요를 눌러보세요
비비누나
@bibinuna
꿰맨 눈의 마을
가장 먼저 좋아요를 눌러보세요
이런 모임은 어때요?
정모/행사 안용 아침독서 챌린지(1-6)
5월 22일 (목) 오전 12:00 · 무료 · 29 /180명
정모/행사 [100일] 플라이북 리딩 챌린지 📚
5월 19일 (월) 오전 12:00 · 무료 · 96 /제한 없음
사이다
무료 · 3 /3명
정모/행사 안용 아침독서 챌린지(교직원용)
7월 1일 (화) 오전 12:00 · 무료 · 16 /70명
정모/행사 안용 아침독서 챌린지(1-4)
5월 20일 (화) 오전 12:00 · 무료 · 29 /180명
정모/행사 혼모노 완독하기 도전!
7월 4일 (금) 오전 12:00 · 무료 · 2 /제한 없음
정모/행사 안용 아침독서 챌린지(1-5)
5월 22일 (목) 오전 12:00 · 무료 · 28 /180명
정모/행사 안용 아침독서 챌린지(1-2)
5월 22일 (목) 오전 12:00 · 무료 · 30 /180명
정모/행사 안용 아침독서 챌린지(1-3)
5월 22일 (목) 오전 12:00 · 무료 · 34 /180명
.
무료 · 1 /1명
상세정보
C/C++ 코드가 어셈블리 코드로 어떻게 변해가는지에 대한 기초적인 부분에서부터, 보안 프로그램 공격 방법, 리버싱 보조 플러그인 개발 방법, 그리고 소스코드가 없는 상태에서 프로그램을 커스터마이징하는 방법까지, 리버스 엔지니어링에 관련된 모든 사항을 다룬다. 이 책은 리버스 엔지니어링을 처음 접하거나 어느 정도 수준을 높이고자 하는 독자를 대상으로 한다. 특히 친근한 설명과 가벼운 대화체를 사용했으므로 접근하는 데 벽이 높지 않으리라 생각한다. 따라서 리버스 엔지니어링이 너무 어려워서 중도에 포기했던 독자라면 많은 도움이 될 것이다.
출판사 책 소개
리버스 엔지니어링만을 위한 바이블, 리버싱의 모든 것이 이 책 한 권에 녹아 있다!
리버스 엔지니어링은 소위 해커들의 전유물처럼 취급돼 왔다. 기술이 가지고 있는 위험성 때문에 수면 위로 올라오지 못하고 '어둠의 예술'이라고 불리며 그간 많은 사람들에게 정체가 가려져 있었다. 그래서 역사가 오래됐음을 뚜렷한 전문서나 바이블이 존재하지 않으며, 인가된 해커들만 정보를 공유할 수 있거나 리버싱 업무를 수행하던 소수의 리서처에게 발품을 팔아 하나씩 배워야만 했다.
『리버스 엔지니어링 바이블: 코드 재창조의 미학』은 이 같이 해커들이 주고받던 어둠의 지식을 수면 위로 끌어올리는 역할을 한다. 많은 사람들이 리버스 엔지니어링에 대해 깊이 있는 지식을 만나지 못하고 마약을 밀매하듯 은밀하게 기법을 주고받았지만, 이제 이 책을 통해 그 모든 목마름에 대한 해답을 찾을 수 있다. C/C++ 코드가 어셈블리 코드로 어떻게 변해가는지에 대한 기초적인 부분에서부터, 보안 프로그램 공격 방법, 리버싱 보조 플러그인 개발 방법, 그리고 소스코드가 없는 상태에서 프로그램을 커스터마이징하는 방법까지, 리버스 엔지니어링에 관련된 모든 사항을 다룬다.
★ 이 책에서 다루는 내용 ★
■ C/C++ 코드를 리버스 엔지니어링할 때의 접근법에 대한 노하우
■ MFC나 Win32 API, 런타임 라이브러리 등 실제 모듈에 사용되는 코드 해석
■ 리버스 엔지니어링을 방해하기 위한 안티 리버싱 기술, 그리고 그것을 또 우회하는 법
■ 백신이나 보안 솔루션 등을 공격하는 기술, 바이러스 감지 회피의 원리
■ 시리얼 연산 루틴을 리버스 엔지니어링 할 때의 테크닉, 크래킹 기법
■ 소스코드가 없는 프로그램을 리버스 엔지니어링으로 커스터마이징하는 법
■ 키보드 보안 솔루션이나 실시간 감지 기술을 우회하는 과정
■ 국내에서는 한 번도 다뤄지지 않는 Olly Debugger의 플러그인 개발
이 책은 리버스 엔지니어링을 처음 접하거나 어느 정도 수준을 높이고자 하는 독자를 대상으로 한다. 특히 친근한 설명과 가벼운 대화체를 사용했으므로 접근하는 데 벽이 높지 않으리라 생각한다. 따라서 리버스 엔지니어링이 너무 어려워서 중도에 포기했던 독자라면 많은 도움이 될 것이다.
이 책은 총 7부로 구성돼 있으며, 각 부별 주요 내용은 아래와 같다.
▣ [1부] 리버스 엔지니어링 기본
어셈블리, C, C++, DLL 등의 매우 기본적인 코드의 생성 흐름과 규칙을 정리한 내용이다. 리버스 엔지니어링도 결국 정해진 문법 안에서 기본적인 규칙을 따르면 풀어낼 수 있는 것에 불과하기 때문에 그러한 규범을 알아보자는 이야기라고 보면 될 것 같다. 차를 달이거나 마실 때의 방식이나 규칙을 말하는 다도(茶道)라는 것이 있다. 한 잔에 불과한 맹물을 마실 때도 이 같은 엄격한 규율이 있듯이 리버스 엔지니어링을 할 때도 기본적으로 알아둬야 할 규칙이 있다는 것을 이해하기 위한 내용이다.
▣ [2부] 리버스 엔지니어링 중급
PE Header는 리버스 엔지니어링을 공부하는 사람들이 가장 고통스러워 하기도 하면서 공부하기도 싫어했지만 어쩔 수 없이 결국에는 익혀야만 되는 필수 요소 중 하나인데, 그런 선배 경험자들의 고충을 밑바탕으로 이론에 불과한 내용을 철저히 배제하고 현업과 실무에 맞게 재각색해서 설명했다. "2장 흔히 사용하는 패턴"에서는 1부 리버싱 기본에서 다루지 못한 코드가 생성되는 과정과 계속 반복해서 나오는 패턴에 대해 분석하며 어셈블리 언어의 감을 익히기 위한 내용을 준비했다. 그리고 마지막으로 MFC 리버싱을 통해 애플리케이션 분석의 집중도를 높일 수 있게 여러 가지 기법 소개를 준비했다.
▣ [3부] 연산 루틴 리버싱
F-Secure 백신사의 리버스 엔지니어링 대회를 통해 연산 루틴을 분석하는 과정을 설명하는데, 흔히 볼 수 있는 점프 패치를 중점적으로 설명하기보다는 왜 이 루틴을 분석해야 하고 어떤 접근 방식을 써야 하는지 등, 생각하는 리버스 엔지니어링에 초점을 맞춰 단순한 키 빼내기 해설이 되지 않도록 노력했다.
▣ [4부] 안티 리버싱
안티 리버싱은 리버스 엔지니어링을 막는 기술, 이른바 밤송이에 돋은 가시 같은 역할이다. 이것을 제거해야만 리버스 엔지니어링을 순탄하게 진행할 수 있고 결국에 알밤을 빼먹을 수 있는 결과까지 도달하는 것이다. 안티 리버싱 기술은 계속해서 발전을 거듭해, 안티 리버싱을 분석, 격파하는 그 자체가 하나의 학문으로 될 만큼 성장해오고 있다. 인터넷에 흔히 등장하는 안티 디버깅 코드는 실제로 가동되지 않는 것도 많고 예제 코드도 충분하지 않아 익히기에 어려운 감이 있지만 이 4부에서는 모든 기법을 100% 실제 코드로 제작했으며 각 밤송이 가시 기술에 대한 강력함의 정도, 우회 방법 등의 한계점, 그리고 보완 방법 등에 대해 다각도로 설명한다.
▣ [5부] OllyDBG 플러그인
OllyDBG 플러그인은 리버스 엔지니어링을 좀 더 쉽게 하기 위해 만든 보조 도구라고 볼 수 있다. OllyDBG에서는 누구나 플러그인을 제작할 수 있게 훌륭한 인터페이스를 제공하고 있으므로 SDK의 사용법과 자신만의 아이디어가 결합하면 리버스 엔지니어링을 몇 배 이상 효율적으로 증가시킬 플러그인을 제작할 수 있다.
▣ [6부] 보안 모듈 우회
보안 관계자에게 가장 두려운 것은 방어장치가 없는 상태에서 해킹을 하는 사람이 아니고 존재하는 보안 모듈을 뚫어서 해킹 시도를 하는 이들이다. 그리고 대부분의 취약점은 보안 설계 자체의 실수보다는 어이없는 한두 줄의 취약점 때문에 발생하는 것들이 상당수를 이룬다. 6부에서는 일반적으로 보안 모듈을 우회하는 기법 말고도 굉장히 단순한 한두 가지 취약점을 이용해 보안 모듈이 공격 당하는 여러 가지 사례를 보여준다.
▣ [7부] 한 차원 높은 바이너리 창조
7부에서는 마지막 내용으로, 코드 후킹, 코드 변조, 난독화 등의 내용을 다루며 중급 이상의 리버스 엔지니어링을 목표로 하는 독자를 위해 작성했다. eax는 리턴값, ecx는 카운터라는 등의 시시껄렁하고 반복적인 지식의 답습에서 벗어나 리버싱의 깊이를 좀더 맛볼 수 있게 노력했다. "6부 보안 모듈 우회" 편의 연장이라는 느낌을 살렸기 때문에 6부의 내용을 반드시 숙지한 후에 살펴보길 바란다.
현재 25만명이 게시글을
작성하고 있어요