서브메뉴

본문

디컴파일링 안드로이드 (Decompiling Android, 좋은 애플리케이션과 나쁜 애플리케이션)
디컴파일링 안드로이드 (Decompiling Android, 좋은 애플리케이션과 나쁜 애플리케이션)
저자 : 가드프리 놀란
출판사 : 길벗
출판년 : 2012
정가 : 33000, ISBN : 9788966184347

책소개


『디컴파일링 안드로이드(Decompiling Android)』에서는 좋고 나쁜 안드로이드 애플리케이션이 어떻게 만들어지는지 그리고 독자 여러분의 애플리케이션을 어떻게 하면 해킹으로부터 더 안전하게 만들 수 있는지를 설명하고 있다. 이 책에서는 안드로이드 애플리케이션을 다운로드하고 원래의 자바 소스나 HTML5, CSS 코드를 얻는 것이 얼마나 쉬운 일인지를 잘 보여주고 있으며 그로 인해 안드로이드 애플리케이션들의 소스가 악의적인 의도를 가지고 접근하려는 사람들로부터 강력하게 대응할 수 있는 방법을 설명하고 있다. 즉, 코드를 보호하고 백도어를 제거함으로써 애플리케이션에 포함될 수도 있는 신용카드 정보나 백엔드 시스템 로그인 정보와 같은 민감한 데이터를 보호하는 방법을 설명하고 있다.

목차


Chapter 01 디컴파일링의 기초
01_ 컴파일러와 디컴파일러
02_ 가상 머신 디컴파일러
03_ 왜 자바인가?
04_ 왜 안드로이드인가?
05_ 디컴파일러의 역사
06_ 디컴파일에 관련된 법적 문제
07_ 도덕적 문제
08_ 여러분 스스로를 보호하는 방법
09_ 정리

Chapter 02 기계 속의 유령
01_ 태생적으로 디컴파일에 취약한 구조를 가진 JVM
02_ 간단한 스택 머신 구조의 JVM
03_ 클래스 파일의 내부
04_ 정리

Chapter 03 DEX 파일 구조
01_ 기계에서 사는 유령(제2탄)
02_ DEX 파일을 각각의 영역으로 나누기
03_ 정리

Chapter 04 디컴파일링에 유용한 프로그램들
01_ APK 다운로드
02_ APK 파일 디컴파일링
03_ 디어셈블러
04_ 디컴파일러
05_소스 코드 보호하기
06_정리

Chapter 05 디컴파일러 디자인
01_ 설계에 대한 기본 지식
02_ 무엇이 문제인가
03_ (디)컴파일러를 만들기 위해 필요한 도구들
JLex와 CUP 210
04_ 파서 디자인 결정하기
05_ 파서 디자인
06_ 정리

Chapter 06 디컴파일러 구현
01_ DexToXML
02_ DexToSource
03_ 예제 1 : Casting.java
04_ 예제 2 : Hello World
05_ 예제 3 : if 구문
06_ 재구성(Refactoring)
07_ 정리

Chapter 07 예가 아니면 보지도, 듣지도, 말하지도, 행하지도 말라
01_ 난독화 사례 연구
02_ 근거없는 주장들
03_ 해결책 1 : ProGuard
04_ 해결책 2 : DashO
05_사례 연구에 대한 리뷰
06_ 정리

Appendix 옵코드(opcode) 표

Chapter 27 터치 스크린
01 MotionEvent에 대한 이해
02 멀티 터치
03 지도를 이용한 터치
04 제스처(Gesture)
05 참조
06 요약

Chapter 28 드래그 앤 드롭의 구현
01 드래그 앤 드롭에 대해 파고 들기
02 3.0 이상에서 드래그 앤 드롭의 기본
03 드래그 앤 드롭 예제 애플리케이션
04 예제 드래그 앤 드롭 애플리케이션 테스트하기
05 참조
06 요약

Chapter 29 센서 사용하기
01 센서란 무엇인가?
02 센서 이벤트 얻기
03 센서 데이터를 해석하기
04 참조
05 요약

Chapter 30 주소록 API
01 사용자 계정에 대한 이해
02 주소록 애플리케이션 이해
03 주소록 데이터 구조 이해
04 주소록 API 활용
05 연락처 통합 제어
06 동기화가 주소록에 미치는 영향
07 개인 프로필의 이해
08 참조
09 요약

Chapter 31 마켓
01 퍼블리셔 되기
02 애플리케이션 판매 준비
03 애플리케이션 업로드하기
04 마켓의 사용자 경험
05 다른 앱 스토어
06 참조
07 요약