안드로이드 애플리케이션 리버스 엔지니어링 (기초부터 고급까지 안드로이드 앱 리버싱)

안드로이드 애플리케이션 리버스 엔지니어링 (기초부터 고급까지 안드로이드 앱 리버싱)

$30.00
Description
[안드로이드 애플리케이션 리버스 엔지니어링]은 안드로이드 애플리케이션 설치 방법부터 동적 디버깅에 이르는 다양한 분석 방법을 담은 책이며, 난독화 및 분석 방지 솔루션 등 분석이 막혔을 때, 돌파구를 찾을 수 있는 책이다. 저자들의 다년간 모의해킹 및 취약점 분석으로 터득한 노하우를 바탕으로 분석 환경 구성부터 고급 활용까지 모두 다뤘다.
저자

남대현

저자남대현은해커이자보안연구원이다.3년정도스마트TV의취약점을진단했고,모바일사업부취약점진단,커널취약점진단,모의해킹진단을다년간해오고있다.NHN,SK텔레콤,사이버사령부시스템해킹강의,SANSITL아카데미강의를했고,모바일환경의In-App우회취약점다수발견했다.모바일환경의보안및암호화된메시지복호화등에도관심이많고,강의를통해서지식을나누고싶다.

목차

1장.안드로이드기본개념
__1.1안드로이드필수구성요소
____1.1.1액티비티
____onCreate()
____startActivity()
____startActivityForResult()
____setResult()
____액티비티생명주기
____1.1.2서비스
____서비스생명주기
____1.1.3브로드캐스트수신자
____1.1.4콘텐츠제공자

2장.안드로이드리버스엔지니어링을위한환경구축
__2.1디바이스설정
____2.1.1ADB접속을위한USB디버깅활성화
____2.1.2루팅
____2.1.3다양한명령을사용하기위한BusyBox설치
__2.2안드로이드SDK,NDK설치
____2.2.1윈도우환경에서안드로이드SDK설치
____자바버전확인
____자바다운로드
____자바설치
____2.2.2안드로이드스튜디오를이용한안드로이드SDK설치
____안드로이드스튜디오다운로드
____안드로이드SDK설치
____환경변수등록
__2.3우분투환경에서안드로이드SDK설치
____2.3.1자바버전확인및설치
____자바버전확인
____자바설치
____자바버전확인
____2.3.2안드로이드SDK의다운로드와설치
____2.3.3안드로이드SDK환경변수설정
____2.3.4안드로이드NDK다운로드및설치
____압축해제
____2.3.5안드로이드NDK환경변수등록

3장.안드로이드앱구성및코드분석
__3.1안드로이드APK구성
__3.2APKRepackage
____3.2.1Apktool
__3.3무료도구를활용한코드분석
____3.3.1JD-GUI
____실행문제해결
____3.3.2JADX
____3.3.3Androguard
____3.3.4바이트코드뷰어
__3.4상용도구를활용한코드분석
____3.4.1JEB1
____쉬운해킹대회문제풀어보기
____3.4.2JEB2
____UI배치
____아티팩트추가
____애플리케이션동적디버깅
____SETPROPEX를이용한설정값변경
____CVE-2016-5195취약점을이용한설정값변경
____JEB2동적디버깅기능사용관련문제해결
____JEB2를이용한애플리케이션디버깅

4장.안드로이드앱정적분석
__4.1안드로이드APK추출
____4.1.1ADB
____4.1.2아스트로파일관리자
__4.2분석방지솔루션우회
____예제1
____예제2
__4.3안드로이드애플리케이션정적분석
____예제1
____예제2
__4.4난독화된애플리케이션분석
____예제1.
____예제2.

5장.안드로이드앱동적분석
__5.1안드로이드LKM을활용한동적분석
____5.1.1모바일기기에맞는커널다운로드
____5.1.2툴체인다운로드
__5.2JavaAPIHooking을활용한동적분석
____5.2.1CydiaSubstrate를이용한자바API후킹
____주입기설치
____자바API후킹모듈개발
____분석및코딩시작
____직접만들어보자
____5.2.2Xposed를이용한자바API후킹
____개발환경구축
____모듈업데이트
____후킹모듈개발
__5.3Frida활용한동적분석
____5.3.1Frida설치
____5.3.2Frida-trace를이용한시스템콜후킹
____5.3.3Frida모듈을이용한스크립트작성
____5.3.4Frida를이용한자바후킹

6장.안드로이드앱(APK)디버깅
__6.1GDB를이용한AndroidRemoteDebugging
____6.1.1ADB를이용한안드로이드기기접속
__6.2IDAPro를이용한APK디버깅
____6.2.1환경변수설정
____6.2.2앱설치
____6.2.3디버깅시작
____6.2.4문제해결
__6.3IDA프로를이용한classes.dex&공유라이브러리디버깅
____6.3.1환경변수등록확인
____6.3.2AndroidNDK설치
____6.3.3환경변수등록
____6.3.4컴파일
____6.3.5custom_rules.xml수정
____6.3.6두개의IDA인스턴스생성
__6.4IDAPro를이용한JNI공유라이브러리디버깅방법1
____6.4.1환경구축
____6.4.2Linker복사
____6.4.3공유라이브러리복사
____6.4.4도구개발
____6.4.5Android.mk파일작성
____6.4.6Makefile작성
____6.4.7컴파일
____6.4.8안드로이드기기작업
____6.4.9ADB포트포워딩
____6.4.10IDAPro설정
____6.4.11브레이크포인트설정
____6.4.12디버그설정
____6.4.13안드로이드기기작업
____6.4.14포트포워딩
__6.5IDAPro를이용한JNI공유라이브러리디버깅방법2
__6.6IDAPro를이용한JNI공유라이브러리디버깅방법3
____6.6.1STEP1달빅런타임후킹
____6.6.2STEP2SDK에포함된ddms실행
____6.6.3STEP3안드로이드서버전송및실행
____6.6.4STEP4adbforward
____6.6.5STEP5애플리케이션설치및실행
____6.6.6STEP6IDA실행및디버거연결
__6.7마치며

출판사 서평

★이책에서다루는내용★

■안드로이드애플리케이션분석환경설정
■무료도구를이용한정적분석방법
■상용도구를이용한난독화애플리케이션분석방법
■분석방지솔루션이적용된애플리케이션분석방법
■공유라이브러리동적디버깅방법
■해킹대회문제를통한실전응용
■개발을통한APK후킹방법

★이책의대상독자★

■안드로이드애플리케이션보안을처음접하거나이제막시작하려는독자
■개발자및시큐리트파트에서보안점검을담당하는독자
■안드로이드애플리케이션취약점점검모의해킹컨설턴트
■안드로이드애플리케이션리버스엔지니어링에관심이많은독자

★이책의구성★

1장,'안드로이드기본개념'에서는안드로이드애플리케이션분석에앞서분석을어느부분부터해야하는지모르는독자들에게안드로이드애플리케이션의네가지구성요소에대한개념설명으로어느부분부터분석을시작해야모르는독자들이개념을바탕으로관련코드를쉽게분석해나갈수있도록액티비티(Activity),서비스(Service),브로드케스트수신자(BroadcastReceiver),콘텐츠제공자(ContentsProvider)에관해설명한다.
2장,'안드로이드리버스엔지니어링을위한환경구축'에서는분석에앞서디바이스에접속하기위해ADB접속을위한USB디버깅활성화하는방법,필요한명령어등을사용하기위해Busybox등을설치하는방법및윈도우,우분투환경에맞게자바버전확인및안드로이드스튜디오(AndroidStudio)를이용해SDK를설치하는방법을시작하는사람들을기분으로자세히설명한다.
3장,'안드로이드앱구성및코드분석'에서는안드로이드애플리케이션의구성,안드로이드애플리케이션생성과정과apktool을이용한기본적인APKRepackage과정을설명하고무료로쉽게구할수있는JD-GUI,JADX,Androguard,ByteCodeViewer를이용해분석하는방법에대해설명한다.또한안드로이드애플리케이션분석용도로많이사용되고있는JEB,JEB2를이용한자세한분석방법과JEB2에서제공하는동적디버깅을할수있는방법에대해자세히설명한다.
4장,'안드로이드앱정적분석'에서는분석을위해설치된안드로이드애플리케이션추출부터분석방지솔루션이적용된애플리케이션의실행코드추출방법및유용한팁을예제를바탕으로설명하고,레벨테스트용도로제작된안드로이드애플리케이션의정적분석방법에대해안드로이드기본개념부터,코드활용까지차근차근설명한다.
5장,'안드로이드앱동적분석'에서는이장의내용은대부분고급과정에속하며개발에대한사전지식이필요하다.따라서앱을직접분석하지않고동적환경을구성해어떤이벤트가발생하는지확인하기위해안드로이드LKM(LoadableKernelModule),대표적인프레임워크를활용한자바API후킹을통해분석해나가는방법,API후킹을하는방법에대해서자세히설명한다.
6장,'안드로이드앱(APK)디버깅'에서는GDB,IDA,JEB2를통해서안드로이드애플리케이션코드에대한동적디버깅환경구축및동적디버깅방법,JNI라이브러리디버깅방법에대해서자세히설명한다.

★지은이의말★

안드로이드에관한많은책이있다.순수애플리케이션개발에초점을맞춘책,악성코드분석에초점을맞춘책,취약점분석에초점을맞춘책등안드로이드관련다양한책들이있다.우리는순수하게안드로이드애플리케이션분석방법에대한책을만들고싶었다.
안드로이드애플리케이션설치부터다양한분석도구를활용하는방법까지자세히기술하려고노력했고,깊이가없다는지적을받지않기위해개발지식이필요한부분까지설명하였다.동적분석에서는디버깅,APK후킹등다양한방법을설명했다.
국내외도서를통틀어이책보다안드로이드애플리케이션리버스엔지니어링에충실한책은없다고자부한다.이제막안드로이드리버스엔지니어링을시작하려는사람,현재모바일애플리케이션취약점분석및모의해킹에몸담고있는사람들에게도움이될수있는책을만들기위해다년간의노하우를녹여집필했다.이책을통해한단계도약하는계기가되었으면하는바람이다.