1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

Android Internals Vol.1-파워유저 관점의 안드로이드 인터널(에이콘모바일프로그래밍시리즈)
저자 : 조나단레빈 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 이지훈

2016.08.26 ㅣ 282p ㅣ ISBN-13 : 9788960778979

정가33,000
판매가29,700(10% 할인)
적립금 1,650원 (5%)
배송일정 04월 19일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 B5(257mm X 188mm, 사륙배판)
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 시스템공학 > 아키텍처/시스템프로...
이 책은 안드로이드의 기반인 리눅스 시스템 및 구성 요소, 그리고 안드로이드 가상 머신을 소스 레벨에서 설명하고 있기 때문에 안드로이드의 내부 동작 모습을 깊이 살펴보거나 안드로이드를 디바이스에 포팅하고자 하는 사람 및 안드로이드 보안에 관심이 있는 모든 사람에게 많은 도움이 될 것이다.
펼쳐보기

[목 차]

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 암호화
____시큐어 부트
__안드로이드 루팅
____루트로 부트하기
____취약점을 악용해 루팅하기
__요약
__참조
펼쳐보기
안드로이드의 기반인 리눅스 시스템 및 구성 요소, 그리고 안드로이드 가상 머신을 소스 레벨에서 설명하고 있기 때문에 안드로이드의 내부 동작 모습을 깊이 살펴보거나 안드로이드를 디바이스에 포팅하고자 하는 사람 및 안드로이드 보안에 관심이 있는 모든 사람에게 많은 도움이 될 것이다.

★ 이 책에서 다루는 내용 ★

■ 파티션 및 파일시스템
■ 부트 프로세스
■ 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장으로 구성된 한 권의 책으로 만들려고 했다). 여기서는 리눅스 레벨과 프레임워크 레벨에서의 보안 기능에 대해 자세히 알아본다. 또한 *승인*된 방법 및 뜻밖의 방법으로 안드로이드 디바이스를 루팅하는 방법을 살펴본다

★ 옮긴이의 말 ★

2003년 시작된 안드로이드는 이제 스마트폰 사용 인구의 82%가 사용하는 대중적인 모바일 OS로 발전했다. 스마트폰 이외에도 셋톱 박스 등 다양한 디바이스에 포팅된 안드로이드를 더하면 이 비율이 더욱 높아진다. 안드로이드 OS 시장이 커짐에 따라 안드로이드를 해킹하는 기법도 교묘해지고 있다. 오픈소스인 안드로이드는 누구나 쉽게 소스에 접근할 수 있기 때문에 보안을 위협하는 해킹도 다양하게 시도되고 있다. 안드로이드는 리눅스 OS를 기반으로 하기 때문에 리눅스 OS와 안드로이드 가상 머신의 해킹 기법이 모두 적용될 수 있다. 또한 안드로이드는 오픈소스기 때문에 소스를 자세히 살펴보면 누구나 디바이스에 포팅할 수 있고 이를 해킹할 수도 있다. 이 책은 안드로이드 기반인 리눅스 시스템 및 구성 요소와 안드로이드 가상 머신을 소스 레벨에서 설명한다. 주로 안드로이드 기반 시스템을 좀 더 깊이 공부하고자 하는 사람들에게 적합하다. 다시 말해 리눅스 OS와 자바 및 안드로이드 가상 머신에 대한 기본 지식이 있는 사람들을 대상으로 하는 책이다. 저자는 이 책을 약 3권의 시리즈로 출판할 계획이라고 한다. 그 첫 번째인 이 책은 안드로이드 운영체제의 디자인, 파일시스템의 구조, 부트 순서 및 네이티브 서비스와 함께 안드로이드 동작에 영향을 미치는 리눅스 및 관련 내용에 대해 살펴본다. 2권과 3권에서는 프로그래머 관점에서 안드로이드 프레임워크 구조를 소스 코드 레벨에서 살펴본다. 이 책의 내용은 최신 안드로이드 N 업데이트가 반영돼 있다.
펼쳐보기
조나단 레빈
10대 때부터 해킹(대부분 좋은 의미의 해킹)을 시작했고, 1993년에는 셸상에서 2400 전송 모뎀을 가진 XT의 작동 방식을 알기 위해 노력했다. 오로지 man 페이지에만 의지한 채, 이 모든 과정을 통과해야만 했다.
그 후로 20년 동안 OS 분야에는 많은 변화가 있었다. 이 기간 동안 유닉스, 리눅스, 윈도우, OS X을 다뤘다. 초창기에 보안 컨설팅 및 교육 분야에 종사했으며, 지금은 OS 전반에 걸친 컨설팅 및 교육을 하고 있다. 이 과정에서 보안은 결국 *내부를 보호하는 것*이라는 사실을 깨달았다. 지금은 몇몇 사람들과 함께 시작한 테크놀로긱스 닷컴(Technologeeks.com)의 최고 기술 책임자(CTO)로 일한다.
책을 쓰는 일은 다소 새로운 것이었다. 처음에는 애플의 OS와 관련해 『Mac OS X and iOS Internals』(와일리, 2012)를 썼는데, 매우 좋은 평을 받았다. 힘든 과정이기는 했지만, 굉장한 즐거움을 느끼기도 했다. 이제는 책을 쓰는 즐거움에 중독돼 안드로이드에 관련된 작업을 하게 됐으며, 이에 대한 첫 결과물이 바로 이 책이다. 이 책은 또한 셀프 출판에 대한 첫 시도였다. 이 작업을 마치고, MOXil의 2판을 쓰는 도중에 *마시멜로*가 출시되었다. 이제는 안드로이드 마시멜로가 안정화됐기 때문에 이 책의 시리즈인 2권(프로그래머 관점의 안드로이드 인터널)도 곧 출간될 예정이다.
옮긴이 이지훈
아이폰/안드로이드 앱 및 서비스로 다양한 수익 모델을 창출하기 위해 노력하고 있지만 뜻대로 되지 않아 번역 및 저술을 열심히 하려고 하는 40대 개발자다. 한국에서 60대까지 개발자로 일하는 것이 목표다.
저서로는 『나홀로 개발자를 위한 안드로이드』(에이콘, 2011), 『Java 프로그래밍 입문』(북스홀릭퍼블리싱, 2013), 『프로그래머를 위한 안드로이드』(정보문화사, 2015) 등이 있다.

펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기