0과 1 사이
2025년 10월 20일 출간
국내도서 : 2025년 10월 16일 출간
- eBook 상품 정보
- 파일 정보 PDF (7.48MB) | 714 쪽
- ISBN 9791169216487
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)

쿠폰적용가 32,400원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
하지만 때로는 추상화 레이어를 벗겨내고 시스템 내부를 자세히 들여다봐야 할 때가 있습니다. 기존 도구만으로는 불가능한 무언가를 구현하려 할 때, 고성능 소프트웨어를 만들려 할 때, 보안 관련 프로그래밍을 할 때 등이 대표적인 예입니다. 추상화 메커니즘 그 자체 또는 추상화에 의해 은폐된 기능을 활용해야 하는 경우가 있기 때문입니다.
무엇보다도, 추상화 레이어와 그 하부 구조를 엿보는 과정은 매우 흥미롭습니다. 지금까지 개발자들이 쌓아온 하나하나의 구성 요소와 그 구조를 탐색해나가다 보면 우리가 몰랐던 무언가를 새롭게 발견할 수 있습니다. 게다가 현재는 많은 소프트웨어의 소스 코드가 대중에 공개되어 있는 만큼, 원한다면 언제든 구성 요소를 교체하거나 수정할 수 있습니다. 이 책은 그러한 저수준 프로그래밍의 세계를 탐색하고 이해하는 데 필요한 다양한 기법, 즉 핵(Hack)을 89가지 엄선해 제공합니다.
_#01 미지의 바이너리 읽기
_#02 어셈블리 입문
_#03 다시 Hello, World!
02장 ELF Hack
_#04 ELF 파일의 세그먼트
_#05 ld-linux.so의 환경 변수 이용하기
_#06 공유 라이브러리를 검색할 디렉터리
_#07 dlopen에 의한 라이브러리 실행 시 로드와 응용 테크닉
_#08 IFUNC를 사용하여 실행 시 구현 전환하기
_#09 ELF의 해시 테이블 구조
_#10 TLS의 구조 이해하기
_#11 코어 파일 읽기
_#12 보조 벡터를 사용하여 프로세스에 정보 넘기기
_#13 정적 링크와 ASLR의 관계
_#14 sold를 사용하여 의존하는 공유 라이브러리 나중에 링크하기
_#15 glibc를 Hack하기
_#16 patchelf로 ELF 바이너리의 필드 수정하기
_#17 LIEF를 사용하여 ELF 바이너리 수정하기
_#18 PT_NOTE를 이용한 바이너리 패치
_#19 DWARF Expression 실행하기: DWARF I
_#20 DWARF로 수식 평가하기: DWARF II
_#21 DWARF에서 표준 출력으로 출력하기: DWARF III
03장 OS Hack
_#22 실행 가능 파일과 그 실행 방법
_#23 리눅스에서 Huge Page 사용하기
_#24 CRIU를 사용하여 프로세스 저장 및 재개하기
_#25 procfs/sysfs의 기본 파악하기
_#26 용도에 맞는 파일 시스템 선택하기
_#27 특정 프로세스에서 보이는 파일 교체하기
_#28 FUSE를 사용하여 파일 시스템 직접 만들기
_#29 특수한 메모리 영역 vsyscall과 vDSO
_#30 KVM을 사용하여 하이퍼바이저 생성하기
_#31 리눅스 커널 Hack 입문
_#32 UniKernel: 애플리케이션을 OS로 구동하기
_#33 UEFI와 Secure Boot
_#34 GNU 툴체인으로 기계어 파일 출력하기
_#35 _#30 QEMU에서 동작하는 펌웨어 만들기
_#36 크롬북에서 직접 만든 펌웨어 실행하기
04장 컨테이너 Hack
_#37 리눅스 네임스페이스로 프로세스 분리하기
_#38 cgroup으로 프로세스의 리소스 관리하기
_#39 chroot/pivot_root로 루트 디렉터리 전환하기
_#40 일반 유저가 root처럼 행동하는 방법 3가지
_#41 rootless 컨테이너 사용법과 구조
_#42 유저 네임스페이스 내에서 각종 네임스페이스 생성하기
_#43 /proc/PID/root에서 컨테이너 내의 파일에 직접 접근하기
05장 디버거, 트레이서 Hack
_#44 gdb Tips
_#45 rr을 사용하여 Record and Replay 디버깅하기
_#46 새니타이저로 저수준 버그 발견하기: 새니타이저 I
_#47 Address Sanitizer의 구조: 새니타이저 II
_#48 리눅스 퍼포먼스 분석 입문
_#49 ftrace를 사용하여 커널 내에서 발생하는 일 트레이스하기
_#50 eBPF를 사용한 트레이싱 입문
_#51 DBI로 실행 명령을 트레이스 및 변경하기
_#52 Intel PT를 사용하여 고속으로 트레이스 얻기
06장 보안 Hack
_#53 seccomp로 프로세스에서 사용할 수 있는 시스템 콜 제한하기
_#54 Landlock으로 비특권 프로세스 샌드박스 만들기
_#55 ASLR: 잘못된 메모리 접근에 대한 보안 메커니즘
_#56 ROP: 메모리 손상을 악용하는 표준적인 공격 기법
_#57 Intel CET: ROP에 대한 보안 메커니즘
_#58 Clang CFI를 이용하여 잘못된 제어 흐름 감지하기
_#59 스택 프레임의 변화 관찰하기
_#60 퍼징의 개요와 분류
_#61 그레이박스 퍼징으로 버그 및 취약성 찾기
_#62 LibAFL로 퍼저 구현하기
_#63 LibAFL로 구현한 퍼저 개선하기
_#64 angr로 심벌릭 실행하기
_#65 BadUSB: 사용자를 속이는 USB 디바이스
_#66 Row Hammer: DRAM의 취약성에 대한 공격 기법
_#67 Meltdown과 Spectre: CPU의 취약성에 대한 공격 기법
07장 수치 표현과 데이터 처리 Hack
_#68 정수 표현의 기초 지식
_#69 다양한 정수 표현
_#70 부동소수점 수의 비트열 표현 이해하기
_#71 부동소수점 예외
_#72 부동소수점 수의 반올림 방식 변경하기
_#73 부동소수점 환경을 다루는 코드에 대한 컴파일러 최적화와의 싸움
_#74 NaN 깊이 파헤치기
_#75 부동소수점 수의 아키텍처별 차이 다루기
_#76 SIMD 명령 세트의 기초 지식
_#77 SIMD 병렬화 코드 작성하기
_#78 SIMD 명령을 사용한 여러 가지 테크닉
08장 언어 처리계 Hack
_#79 NaN을 활용하여 64비트 값에 태그 붙인 값 저장하기
_#80 ucontext.h로 코루틴 구현하기
_#81 Profile Guided Optimization
_#82 LD_PRELOAD를 사용하여 메모리 할당자 교체하기
_#83 ABI와 호출 규약 이해하기
_#84 libffi로 실행 시까지 시그니처를 알 수 없는 함수 호출하기
_#85 실행 시 기계어 생성하기
_#86 GCC/Clang의 내장 함수 이용하기
09장 그 밖의 Hack
_#87 용어집
_#88 Binary Hacks에 필요한 도구
_#89 문헌 안내
주요 내용
● 1장(인트로덕션): 이 책의 도입부로 ‘Binary Hacks’에 대해 설명하고 기본적인 Hack들을 소개합니다.
● 2장(ELF Hack): 리눅스에서 널리 쓰이는 Executable and Linkable Format(ELF)의 구조와 이를 Hack하는 방법을 소개합니다.
● 3장(OS Hack): OS, 특히 리눅스의 기능을 고도로 활용하는 Hack을 소개합니다. 평소 사용하던 OS의 이면을 탐험해봅시다.
● 4장(컨테이너 Hack): 컨테이너 기술에 대한 Hack을 소개합니다. 이제는 당연하게 활용되는 컨테이너 기술이지만 사실 많은 Binary Hacks의 조합으로 실현되고 있습니다.
● 5장(디버거, 트레이서 Hack): 디버거와 트레이서의 사용법과 그 구현에 대해 소개합니다.
● 6장(보안 Hack): 컴퓨터 보안과 관련된 기술을 다룹니다. 이 분야에서는 날마다 공격자와 방어자가 치열하게 맞서고 있는데 그 일면을 소개합니다.
● 7장(수치 표현과 데이터 처리 Hack): 수치 표현과 데이터 처리에 관한 Hack을 소개합니다. 두 분야 모두 컴퓨터 자체를 직접 다루는 재미가 있습니다.
● 8장(언어 처리계 Hack): 일반적인 컴파일러 교과서에서 보기 어려운 컴파일러 및 인터프리터 주변의 주제를 다룹니다.
● 9장(그 밖의 Hack): 이 책에서 사용하는 용어나 도구, 참고 문헌을 해설합니다. 이 책을 읽을 때는 물론이고 다양한 Binary Hack에 도전할 때 이정표가 될 것입니다.
어느 시대이든 바이너리안의 정신은 불멸하리라!
새롭게 펼쳐지는 Binary Hacks의 세계로 여러분을 초대합니다
AI, 클라우드, 보안, 로보틱스 등 다양한 영역의 기술이 융합하며 그 어느 때보다 복잡한 시스템을 이루어내는 시대입니다. 생성형 AI가 프로그래밍과 디버깅 방식을 크게 바꾸고 자동화를 이끌고 있지만, 하드웨어와 소프트웨어의 근본 원리를 이해하려는 노력은 여전히, 그리고 오히려 더욱 중요해지고 있습니다. AI가 제공하는 결과를 올바르게 해석하고 예기치 못한 상황에 대응하기 위해서는 저수준 기술에 대한 탄탄한 기반이 반드시 필요하기 때문입니다. 따라서 컴퓨터 시스템의 뿌리라 할 수 있는 2진수와 저수준 프로그래밍의 세계는 오늘날에도 변함없는 가치를 지니고 있습니다.
지난 2007년 출간된 『Binary Hacks: 해커가 전수하는 테크닉 100선』은 저수준 프로그래밍과 바이너리 해킹 분야에서 반향을 일으켰으며, 이 분야를 배우고자 하는 많은 분에게 귀중한 안내서로 자리잡았던 바 있습니다. 리버스 엔지니어링, ELF 바이너리 분석, 링커와 로더의 동작 원리, 메모리 관리, 디버깅 전략, 보안 취약점 분석 등 다양한 주제를 다루며 입문서로서도 손색이 없는 책이었습니다. 다만 현재는 절판되어 구하기 어려운 상황이기에, 그동안 직접 접할 기회가 없었던 분들에게는 아쉬움이 남을 수 있는 책이기도 합니다.
이번에 새롭게 선보이는 『0과 1 사이(원제: Binary Hacks Rebooted)』는 그러한 공백을 메움과 동시에, 변화된 시대와 환경에 걸맞은 지식과 기술을 담아 저수준 프로그래밍의 지평을 한층 더 넓혀주는 책입니다. 기존 도서와의 내용 중복을 최소화하면서도 가상화와 컨테이너의 저수준 메커니즘 분석, ASLR·PIE·Stack Canary 등 강화된 보안 기법과 더불어 취약점 분석, 디버깅 및 트레이싱 기법, 멀티 아키텍처와 다양한 운영체제 환경을 아우르는 실전적인 내용을 다루고 있습니다.
이 책 한 권만으로도 저수준 프로그래밍과 바이너리 세계를 깊이 있게 탐구하기에는 충분합니다. 나아가 저수준 기술의 근본을 이해하고 오늘날의 복잡한 시스템을 더욱 선명하게 들여다보고자 하는 시스템·소프트웨어·보안 엔지니어 및 연구자 여러분께 든든한 길잡이가 되어 드릴 것입니다. 끊임없이 변화하는 기술 환경 속에서도 흔들리지 않는 지식의 토대로서 여러분 곁에서 오랫동안 함께할 수 있는 한 권이라 생각합니다. 다시 한 번 새롭게 펼쳐지는 Binary Hacks의 세계로 여러분을 정중히 초대합니다.
- ‘옮긴이의 글’ 중에서
인물정보
(小池 悠生)
일본 컴퓨터 보안 서비스 제공업체 ㈜ GMO Cybersecurity by Ierae의 집행 임원. 청춘을 바쳐 CTF(Capture The Flag)에 몰입했으며 권위 있는 해킹 대회인 DEFCON CTF 결승에 최연소로 참가한 기록 등을 보유하고 있습니다. 그 시절 취미는 glibc의 소스 코드를 읽는 것이었으며 좋아하는 함수는 strfry였습니다. 쓰쿠바대학교 정보학군 정보과학류를 조기 졸업했습니다. 대학 시절에는 경쟁 프로그래밍(Competitive programming)을 했으며 ICPC 국제 대학 대항 프로그래밍 콘테스트 세계 대회에 두 차례 출전했습니다.
NHN Cloud 시스템 엔지니어. 번역한 책으로는 『대규모 서비스를 지탱하는 기술』, 『서버/인프라를 지탱하는 기술』, 『클라우드의 충격』, 『서버/인프라 엔지니어를 위한 DevOps』, 『프로세서를 지탱하는 기술』, 『파이썬 쉽게, 더 쉽게』(이상 제이펍), 『인프라 엔지니어의 교과서: 시스템 구축과 관리편』, 『텐서플로로 시작하는 딥러닝』, 『와이어샤크를 이용한 패킷 캡처 철저 입문』(이상 길벗), 『DEBUG HACKS』, 『리눅스 커널 HACKS』(이상 와우북스), 『Binary Hacks: 해커가 전수하는 테크닉 100선』, 『입문자를 위한 루비』(이상 ITC), 『데이터가 보인다』(비제이퍼블릭), 『C언어로 배우는 알고리즘 입문』(한빛미디어) 등이 있습니다.
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.

- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)