간편결제, 신용카드 청구할인
PAYCO(페이코) 최대 5,000원 할인
(페이코 신규 회원 및 90일 휴면 회원 한정)
네이버페이 1%
(네이버페이 결제 시 적립)
북피니언 롯데카드 30% (20,790원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (23,760원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (26,730원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (27,630원)
(최대할인 3만원 / 3만원 이상 결제)
Close

Android Internals Vol.1 : 파워 유저 관점의 안드로이드 인터널

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 21
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

33,000원

  • 29,700 (10%할인)

    1,650P (5%적립)

할인혜택
적립혜택자동적립
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(55)

  • 사은품(12)

책소개

전 세계에서 가장 인기 있는 모바일 운영체제의 내부 동작을 문서화한 첫 번째 책

안드로이드의 기반인 리눅스 시스템 및 구성 요소, 그리고 안드로이드 가상 머신을 소스 레벨에서 설명하고 있기 때문에 안드로이드의 내부 동작 모습을 깊이 살펴보거나 안드로이드를 디바이스에 포팅하고자 하는 사람 및 안드로이드 보안에 관심이 있는 모든 사람에게 많은 도움이 될 것이다.

출판사 서평

이 책에서 다루는 내용

- 파티션 및 파일시스템
- 부트 프로세스
- Init 및 Init 설정 파일
- /system/bin의 네이티브 데몬
- 프레임워크 서비스 아키텍처와 servicemanager
- 리눅스 인터페이스를 통한 모니터링
- 보안

이 책의 구성

1장에서는 운영체제를 소개한다. OS 버전별로(지금은 사용되지 않는 프로요(Froyo)부터 L 버전까지) 개선된 내용을 살펴본다. 또한 고수준의 관점에서 아키텍처를 설명하고, 안드로이드 스택의 각 레이어들을 알아보면서 리눅스의 토대를 살펴본다. 그런 다음 구글과 다른 벤더(예를 들면, 아마존 FireOS)의 안드로이드 변형 제품을 살펴보고, 향후의 방향과 몇 가지 논의에 대한 결론을 내린다.

2장에서는 좀 더 기술적으로 들어간다. 특히 안드로이드 파티션과 파일시스템을 다룬다. 안드로이드에서 사용되는 파티셔닝 스키마(불행하게도 표준화되어 있지 않다)와 파일시스템(Ext4와 F2FS)을 살펴본다. 다음으로 특정 시스템 디렉터리나 파일이 포함되어 있는지 알아내고자 할 때 유용한 '파일시스템 내용을 탐색하는 방법'을 알아본다. 그리고 포렌식을 수행할 경우에 편리하게 이용할 수 있는 내장 앱 데이터 디렉터리를 살펴본다. 또한 이 장에서는 안드로이드의 '보호된 파일시스템(OBB와 ASEC)'을 다룬다. 물론 루팅된 디바이스에서는 이 파일시스템이 보호되지 않는다. 마지막으로 리눅스의 가상(pseudo) 파일시스템인 cgroupfs, debugfs, procfs, sysfs 등을 설명한다.

3장은 이전에 배운 내용을 토대로 한다. 특히 파티션을 주로 다루면서 안드로이드 부트 프로세스 내에서의 파티션 역할에 대해 설명한다. 또한 안드로이드 부트 이미지(일부에서는 'ROM'이라는 용어로 사용되는데, 이는 틀리다)에 대해 설명하고, 디바이스 부트 파티션으로 전송하는 방법을 알아본다. 이 밖에 기본 안드로이드 부트 로더를 설명하고(좀 더 깊이 있는 내용은 이 책과 관련된 웹사이트에서 찾아볼 수 있다) 부트 이미지의 다른 컴포넌트(커널, 디바이스 트리 및 initramfs)를 상세하게 설명한다. 그리고 실험을 통해 이 컴포넌트들을 풀거나, 커스터마이즈하거나, 다시 묶는 방법을 설명한다(부트로더는 언록되어 있다고 가정한다). 또한 OTA 업데이트를 통해 이미지를 전송하는 방법과 백업 및 복구 프로세스 및 셧다운 프로세스에 대해서도 살펴본다.

4장에서는 하나의 프로세스(/init)에 대해서만 살펴본다. 이 프로세스는 UN*X에서와 같이 유저 모드에서 시스템을 시작할 책임이 있다. /init.rc 파일 구문을 자세히 살펴보면서 시동 프로세스를 자세히 설명한다. 또한 시스템 속성 관리 및 하드웨어 변경 내역 감시(ueventd)와 같은 /init의 다른 역할을 자세히 설명한다.

5장에서는 네이티브 서비스에 대해 논의한다. 예를 들어 네이티브 서비스는 /init.rc에 나와 있고, 리눅스 바이너리로 적재된다(system_server 내의 스레드로 적재되는 달빅-레벨 프레임워크와 대비된다. 달빅-레벨 프레임워크는 2권에서 다룬다). 또한 이번 장에서는 디바이스에서 볼 수 있는 모든 데몬에 대한 참조를 다룬다.

6장에서는 안드로이드에서 모든 프레임워크의 기반 역할을 하는 servicemanager 및 system_service 프로세스를 설명하면서 안드로이드 프레임워크 서비스 아키텍처에 대해 다룬다. 이번 장에서는 바인더에 대해 설명하지만, 대부분의 내용은 2권에서 살펴볼 것이다. 하지만 독자들이 안드로이드 인터널 커뮤니케이션과 리모트 프로시저 호출이 동작하는 방식에 대한 충분한 통찰력을 얻을 수 있도록 충분히 설명한다.

7장에서는 리눅스의 관점에서 안드로이드를 바라본다. 즉, 리눅스 레벨의 도구와 /proc 파일시스템을 통해 안드로이드 시스템 프로세스와 앱을 살펴본다. 또한 네이티브 레벨에 디버깅하기 위한 리눅스 시스템의 거의 모든 기술을 다룬다.

마지막 장인 8장에서는 보안에 대해 논의한다. 이 장은 미리보기용으로 만들었다(원래는 이 책을 21장으로 구성된 한 권의 책으로 만들려고 했다). 여기서는 리눅스 레벨과 프레임워크 레벨에서의 보안 기능에 대해 자세히 알아본다. 또한 '승인'된 방법 및 뜻밖의 방법으로 안드로이드 디바이스를 루팅하는 방법을 살펴본다

지은이의 말

안드로이드는 오픈소스 시스템이지만, 과연 얼마나 많은 사람들이 안드로이드의 작동 원리를 이해하기 위해 실제로 자리에 앉아 자바, C, C++, XML로 만들어진 수백만 개의 라인을 훑어보겠는가?
안드로이드는 오픈소스지만 대부분의 사람들은 자바, C, C++, XML로 쓰여진 수백만 개의 라인을 모두 훑어보지 못한다.
이 책은 전 세계에서 가장 인기 있는 모바일 운영체제의 내부 동작을 문서화한 첫 번째 책이다. 장황한 코드를 직접 살펴보지 않고, 상세한 도표와 주석, 직접 해보는 실험을 통해 안드로이드의 다양한 컴포넌트의 흐름과 로직을 쉽게 설명한다. 이 책과 관련된 웹사이트(http-//NewAndroidBook.com/)에서는 자료, 읽을거리 및 코드 샘플 등 다양한 추가 자료를 무료로 제공한다.
이 책에서는 Nexi, 삼성 갤럭시 S 시리즈, NVidia 쉴드, 아마존 킨들, HTC One M8, 안드로이드 에뮬레이터 디바이스에서 구동되는 롤리팝을 포함한 안드로이드의 모든 버전을 다룬다.
안드로이드 전체를 상세히 살펴보기 위한 시리즈의 첫 번째 책으로, 2권(프로그래머 관점의 안드로이드 인터널)은 1권에서 다루지 않았던 프레임워크, 입력, 오디오, 비디오, 네트워크 아키텍처를 꼭 필요한 코드와 함께 심도 있게 살펴볼 예정이다.

옮긴이의 말

2003년 시작된 안드로이드는 이제 스마트폰 사용 인구의 82%가 사용하는 대중적인 모바일 OS로 발전했다. 스마트폰 이외에도 셋톱 박스 등 다양한 디바이스에 포팅된 안드로이드를 더하면 이 비율이 더욱 높아진다. 안드로이드 OS 시장이 커짐에 따라 안드로이드를 해킹하는 기법도 교묘해지고 있다. 오픈소스인 안드로이드는 누구나 쉽게 소스에 접근할 수 있기 때문에 보안을 위협하는 해킹도 다양하게 시도되고 있다. 안드로이드는 리눅스 OS를 기반으로 하기 때문에 리눅스 OS와 안드로이드 가상 머신의 해킹 기법이 모두 적용될 수 있다. 또한 안드로이드는 오픈소스기 때문에 소스를 자세히 살펴보면 누구나 디바이스에 포팅할 수 있고 이를 해킹할 수도 있다. 이 책은 안드로이드 기반인 리눅스 시스템 및 구성 요소와 안드로이드 가상 머신을 소스 레벨에서 설명한다. 주로 안드로이드 기반 시스템을 좀 더 깊이 공부하고자 하는 사람들에게 적합하다. 다시 말해 리눅스 OS와 자바 및 안드로이드 가상 머신에 대한 기본 지식이 있는 사람들을 대상으로 하는 책이다. 저자는 이 책을 약 3권의 시리즈로 출판할 계획이라고 한다. 그 첫 번째인 이 책은 안드로이드 운영체제의 디자인, 파일시스템의 구조, 부트 순서 및 네이티브 서비스와 함께 안드로이드 동작에 영향을 미치는 리눅스 및 관련 내용에 대해 살펴본다. 2권과 3권에서는 프로그래머 관점에서 안드로이드 프레임워크 구조를 소스 코드 레벨에서 살펴본다. 이 책의 내용은 최신 안드로이드 N 업데이트가 반영돼 있다.

목차

1. 안드로이드 아키텍처의 진화 안드로이드 버전의 이력
프로요
진저브레드
허니콤
아이스크림 샌드위치
젤리빈
키켓
롤리팝 마시멜로
안드로이드 대 리눅스 리눅스의 또 다른 배포판이 아니다
그러고 나서 안드로이드가 왔다
리눅스와의 공통점과 차이점
안드로이드 프레임워크
달빅 가상 머신
JNI
네이티브 라이브러리
바이오닉(Bionic)
안드로이드 네이티브 라이브러리
외부 네이티브 라이브러리
하드웨어 추상화 레이어
리눅스 커널
안드로이드 파생물
구글에서 만든 파생물
구글이 아닌 곳에서 만든 파생물
생각해보기
64비트 호환성
안드로이드 런타임(ART)
분할-화면
데스크톱 OS로서의 안드로이드
안드로이드와 프로젝트 아라
브릴로
요약
참조

2. 안드로이드 파티션 및 파일시스템
파티셔닝 스키마
별도의 파티션에 대한 필요성
GUID 파티션 테이블
플래시 저장 시스템
파일시스템
안드로이드 디바이스 파티션
안드로이드 파일시스템 콘텐츠
루트 파일시스템
/system
/system/bin
/system/xbin
/system/lib[64] /system/etc
/data
/data/data
/data/misc
/data/system
/cache
/vendor
SD 카드
보호된 파일시스템
OBB
ASec
리눅스 가상 파일시스템 cgroupfs
debugfs
functionfs(/dev/usb-ffs/adb) procfs(/proc)
pstore(/sys/fs/pstore)
SELinuxfs(/sys/fs/selinux)
sysfs(/sys)
요약
참조

3. 안드로이드 부팅, 백업 및 복구
안드로이드 이미지
부트로더
부트로더 이미지 부트로더 잠금
부트 이미지
커널
디바이스 트리(ARM) 램디스크
시스템 및 데이터 파티션
부트 프로세스
펌웨어 부트
커널 부트
종료 및 재부팅
안드로이드 백업 및 복구 커맨드 라인 도구
로컬 백업
백업 동작 모니터링
시스템 복구 및 업데이트
OTA 업데이트
OTA 업데이트 프로세스
이미지 커스터마이징
이미지 변경을 위한 리소스
요약
참조
4. init
init의 역할과 책임 시스템 프로퍼티
.rc 파일
종합- init의 흐름
Init 및 USB init의 다른 역할
ueventd
watchdogd 요약
이번 장에서 설명한 파일들

5. 안드로이드 데몬
핵심 서비스 adbd
healthd
lmkd?(안드로이드 L)
logd(안드로이드 L)
vold
네트워크 서비스
netd
mdnsd
mtpd
racoon
rild
그래픽 및 미디어 서비스
부트애니메이션
mediaserver
drmserver
다른 서비스들
installd
Commands
키스토어
debuggerd[64] sdcard
자이고트[64]
요약
이번 장에서 설명한 파일들
참조

6. 프레임워크 서비스 아키텍처
서비스 매니저 다시 살펴보기
서비스 호출 패턴
장단점들
직렬화와 AIDL(Android Interface Definition Language)
바인더(Binder)
짧은 역사
그러면 정확하게 바인더는 무엇일까?
바인더 사용하기
바인더 추적하기
system_server
시작 및 흐름
시작 동작 변경하기
요약
이번 장에서 사용된 파일
참조

7. 리눅스 렌즈를 이용해 안드로이드 살펴보기
/proc, revisited
심링크- cwd, exe, root
fdinfo
status
pid, tid, tgid 및 ppid 정리하기
스레드 상태 및 컨텍스트 스위칭
사용자 모드 메모리 관리
가상 메모리 분류 및 생명주기
메모리 메트릭
아웃 오브 메모리 조건
시스템 호출 추적하기
toolbox ps 툴
wchan 및 syscall
strace 툴
요약
이번 장에서 사용된 참조 및 설명한 파일

8. 안드로이드 보안
모바일 보안 위협 모델링
공격 경로
로드맵
리눅스 레벨의 보안
리눅스 퍼미션
리눅스 케이퍼빌리티
SELinux
주목할 만한 다른 특징들
달빅 레벨의 보안
달빅 레벨 퍼미션
달빅 코드 서명
사용자 레벨 보안
잠금 화면
멀티-유저 지원
키 매니지먼트
인증서 관리
비밀 및 개인 키 관리
스토리지 보안
/data 암호화
시큐어 부트
안드로이드 루팅
루트로 부트하기
취약점을 악용해 루팅하기
요약
참조

저자소개

조나단 레빈(Jonathan Levin) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

10대부터 (좋은 의미의) 해킹을 시작했고, 1993년에는 2400 보(baud) 모뎀을 사용하는 XT에서 셀이 돌아가는 방식을 알아내기 위해 노력했다. 따로 배울 만한 곳이 없었기 때문에 감사 관련 매뉴얼(man) 페이지를 반복적으로 보며 독학해야 했다.
그 후 20년 동안 많은 변화가 일어났고 유닉스(UNIX)를 처음 시작해 리눅스를 사용 중이며, 윈도우와 OSX 또한 사용하고 있다. 보안 분야에서 시작해 수년간 컨설팅과 교육을 해오던 중, 보안이 내부 구조를 상세하게 파악하는 것임을 깨달았다. 마침내 좋은 사람들과 함께 테크놀로긱스닷컴(Technologeeks.Com)을 창업했다.

펼쳐보기

저자의 다른책

전체보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

아이폰/안드로이드 앱 및 서비스로 다양한 수익 모델 창출에 노력하지만 뜻대로 되지 않아 열심히 번역 및 저술하는 40대 개발자며 한국에서 60대까지 개발자로 일하는 것이 목표다.
『나홀로 개발자를 위한 안드로이드 프로그래밍의 모든 것』(에이콘, 2013), 『Java 프로그래밍 입문』(북스홀릭퍼블리싱, 2013)을 저술했고, 『프로그래머를 위한 안드로이드』(정보문화사, 2015), 『Android Internals Vol.1』(에이콘, 2016), 『스위프트로 하는 iOS 9 프로그래밍』(에이콘, 2016) 등 10여 권의 책을 번역했다.

이 상품의 시리즈

에이콘 모바일 프로그래밍 시리즈(총 65권 / 현재구매 가능도서 56권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용