책의 시작 : "인적 자원 구성 ... IOS 해커 방지 요령을 공격"

이 책은 이해하기 쉽고, 체계적으로 아이폰 OS의 보안 기술을 학습 단계별로 독자 단계를 할 수 있습니다. 이 책은 먼저 환경을 탈출하고, 응용 프로그램 및 응용 프로그램 보호, 액세스 및 개인 정보 보호를 해독 한 후 컴파일, 동적 테스트, 정적 분석, 사출 후크, 파일 형식에 대한 근거를 설명 할 차례, 그리고 마지막으로 모든 사람을위한 선물 개발 도구를 반대로 소개 자세히 법의학, 부정 행위의 양, 고유 장치 ID를 브러시 등 내부 쉘과 같은 몇 가지 주제를 작성합니다.

제 1 장 iOS의 보안 메커니즘은 0.1 .........
1.1 설치 소스 애플리케이션 ............................................. 1
1.2 샌드 박스를 ............ ................................................ .. 2
1.3 3 코드 서명 ......................................................
1.4 절연 ............... 사용자 권한 4 ..........................
1.5 .................................... 데이터 실행 보호. 4
1.6 랜덤 어드레스를 ....................................... ........... 5
1.7 데몬 ...................................................... (5)

제 2 장 탈옥은 .................. 환경 개발 도구를 준비 8
2.1 8 ................................................ 탈옥 및 Cydia를
2.2 파일 관리 도구 ........................... ..10 ...............
2.2.1 IFILE : 전화 (10) .............에 파일을 관리
2.2.2 AFC2 : USB 파일을 통해 휴대 전화를 관리 ................................................ 10
2.3 11 명령 줄 도구 ................................................
2.3.1 MTerminal : 명령 라인 전화 실행 .......................................... .. 11
2.3 OpenSSH를 0.2 : 컴퓨터에 실행 된 명령 라인 .......................................... .. 12
2.4 13 .................................... 코드 주입 테스트 도구.
2.5 원격 디버깅 도구 14 .. ..........................................
시작 ............ (14)와 2.5.1 debugserver 구성
2.5.2 debugserver 연결 시운전 LLDB의 ................................. ............... 15
2.5.3 디버깅 USB의 SSH 연결 ...... 17
2.6 분해기 (18)는 ................................................
IDA 2.6.1 ................................................. 18
2.6.2 호퍼 .......................................... .. 21
2.7 다른 도구 ........................ ........................... 22

제 3 ARM 어셈블러 ..30베이스 .................................
3.1 ......................................................는 ARMv7. 30
3.1.1 32 비트 쓰기 어셈블리 코드 ..................... 30 ..
3.1.2 .................................... 레지스터 스택 (32) 및
3.1.3은 기본 명령은 32 .........
3.1 0.4 조건부 점프 순환 ........................... ... (33)
(34)는 함수 호출시 파라미터 ..................... 3.1.5
Thumb 명령어 3.1.6 .............................. 35 ......
3.2 arm64 ....................................................... 36
어셈블리 코드에 의해 제조 된 0.36 .................. 64 3.2.1
3.2.2 레지스터 스택 ...... .............................. 36 개
통화 기능 절차 파라미터 ..................... 37 3.2.3
3.3 ........................ 엑스 코드 인라인 어셈블러 38
3.3.1 C / C ++ / 오브젝티브 C는 어셈블러 기능은 39 ................................................ 호출
3.3.2 직접 인라인 어셈블리를 작성 ........................ 0.39

제 4 .................................... 0.41 역방향의인가를 분석
.............................. (41) 입구의 주요 기능은 상대 4.1
4.1.1 테스트 프로그램 쓰기 ............... .......... 41
는 ARMv7 입구 4.1.2 주요 기능 .............. 42은
43 4.1.3 aRM64 .. ............ 입구의 주요 기능
4.2 .................................... 동적 디버깅 44 ...............
.. .......................................... 44 4.2.1 분해를
........................................ 45 중단 점을 추가 4.2.2
4.2.3 기록 데이터 (50 개) .........
4.2.4 판독 데이터 ........................................ 5114
실행 흐름 수정 프로그램 4.2.5 ..................... 5217
4.2.6 .......................................는 정보를 볼 수있다. 54
4.2.7 상부 호출 스택을 수행 ........................ 56
4.2.8 임시 변수의 값 ........................ 57 수정
도움을 사용하여 4.2.9 및 ........................... 검색 .. 57

(76) 제 5 ................................. 기술 비틀기의 제조
.............................. 76 5.1 THEOS하여 개발 환경
제 비틀기 프로그래밍 5.1.1 ..................... 0.76 ...
5.1.2 THEOS 프로젝트 파일 .............................. 80 개
5.2 역 분석 및 기록 ........................... .. 83 비틀기
5.2.1 역방향 분석 ..................... .................. 0.83
쓰기 조정할 5.2.2 .................................... 0.91

후크 주입 제 6 ....................................... 0.94는
6.1 동적 라이브러리 주입 ................................................ 94
6.1.1 동적 라이브러리 물품 ...... 94 ..............................
6.1.2 DynamicLibraries 디렉토리 .................. 95
6.1.3 DYLD_INSERT_LIBRARIES 환경 변수는 95 .........
6.1.4 탈옥 DLL 주입 ......................... 96
6.2 97 후크 ............................................................
6.2.1 Cydia를 기판 ........................... .... 97
6.2.2 .............................. 100 .. 기호 표
6.2.3에있어서, Swizzing ........................ .. 102

제 7 장 마하-O 파일 형식 구문 분석 ................... 104
7.1 마하-O 형식 파일 (104) ....................................
7.1.1 지방 헤드 ........................ ................ 106
7.1.2 108 마하 헤드 ....................................
LOAD 명령 .............................. 109 7.1.3
7.1.4 심볼 테이블 문자열 표 122 .. .....................
7.2 CFString 동작 절차 ................................................ 124 개
7.2.1 124 쓰기 시험 ..............................
CFString의 7.2.2 데이터 구조 (125 개) ..................
7.2.3 디버깅 프로세스 실행 .............................. 126
마하 O 바운드 콜 프로세스 분석 ................................. 7.3 ARM 함수 ............... .. 127
7.3.1 기록 테스트 코드 .............................. (127 개)
는 호출 프로세스하는 ARMv7 기능 7.3.2 분석 ....................................에 결합 .. 128 개
과정 ARM64 호출 결합 기능 7.3.3 분석 .................................... .. 136
7.3.4 140 ...................................................... 요약
정적 7.4 창고 파일 형식 .................................... ..142
클래스 덤프 수출 헤더 파일의 7.5 원칙 ............... 143
비트 코드에 대해 7.6 .......................................... ... 147
7.6.1 비트 코드 역할 ........................... .. 148
엑스 코드에서 비트 코드를 생성하는 방법 7.6.2 ... ..148
명령 줄 컴파일러를 통해 7.6.3 ............ 0.150 비트 코드
7.6.4 비트 코드합니다 ... 실행 파일로 컴파일 ..152
7.6.5 컴파일러 매개 변수 ........................... 153

제 8 ....................................... 154 고유 장치 ID
8.1 UDID .............................. 154 .. 장치 ID
8.2 ........................ IDFA ................................. 157
8.3 IDFV ......................................................... 157
8.4 OpenUDID .......................................... 158 ......
8.5 SimulateIDFA ........................................... 159 개
8.6 160 MAC 어드레스 ................................................
의 영구 저장 8.7 ......... ID ............................ 163
880 167 deviceToken .............................................

제 9 장, 브러시 ....................................... 0.168 부정 행위의 양을
9.1 탈옥 환경에서 얻을 루트 권한을 ..................... 0.168이
9.2 전화 정보를 수정 ........................ .................. 169
9.2.1 169 .............................. 기본 정보를 수정
9.2.2 와이파이 정보를 수정 ........................... 176
9.2.3은 deviceToken 수정 ......... 177 ...............
.............................. 9.2.4 위치 정보를 수정 178 개
9.3 애플리케이션 데이터 삭제 .......................................... 179
............... 9.4 지우기 키 체인 ........................... 181
9.5 명확 클립 보드 ............................................. 183
9.6 출판 응용 프로그램 ................................................ .. 183
9.6.1 앱 ..................... .. 183 DEB로 패키징
9.6.2 생산 Cydia를 소스 퍼블리싱 애플리케이션 ............... 184
스위치 권한 9.7 ................................. ............ 185 명
9.8 IP 주소 변경 ............................................. 186
9.9 안티 이탈 검출 .................................... ......... 0.188
임의의 위치 정보를 수정하지 않고 9.10 탈옥 ............... ..190
동일한 마이크로 채널 9.11 ......... 로그 (192)에 동시에 전화 개의
9.12 마이크로 문자 데이터 (62) ................................. ...... 193

정보와 증거 제 10 장 중요한 접근 ... ... ... ... ... ... ... 195
10.1 연락처 ................................................... 195
10.2 SMS ........................... ........................ .. 196 개
10.3 197 통화 기록 ................................................
10.4 위치 ............................................. ... (197)
10.5 네트워크 정보 ................................................ 199
10.6 206 .. 센서 정보 ..........................................
10.7 시스템 정보 ............... ...................... 210
10.8 214 .......................................... 하드웨어 ID 정보
애플리케이션 목록 (216)이 설치 ................................. 10.9
10.10 .. .................. 유출 데이터 (218 개)를 사용하여 분석 IDB
10.11 중요한 파일과 디렉토리 ................................................ 223
전화 정보를 획득 10.12 libimobiledevice ........... 226

장 균열의 11 응용 프로그램 .......................................... 228
11.1 재 패키지 애플리케이션 최대 ................................. 228여
11.1.1 재 패키지 애플리케이션을 ............... ............... 0.228
11.1.2는 .......................................... 235여
11.2 응용 프로그램 서명 .......................................... ..238
11.2. 0.238 ................................. 1 개 코드 서명
11.2.2 인증 메커니즘을 .241 .................................
11.2.3 프로필 ................................. 0.243
11.2.4 무거운 서명 .................................... ..244
11.3 ..245 캡처 및 변경 패키지는 ..........................................
11.3.1 tcpdump를 체포 패키지 ............................ 245
11.3.2 캡처 와이어 샤크 ......................... 248
11.3.3 찰스 파지 HTTPS 패킷 .. 250 ...
11.3.4 무거운 찰스 변경된 데이터 패킷 머리 ...... 254
11.3.5 혁신적인 SSL 상호 인증 .................. 257
11.4 문서 관리 ................................................ 258
11.5 균열 로그인 인증 ........................ ............ . 259 개
11.5.1 HTTP 전송 데이터가 얻어 ......... 259 개 ..
수득 11.5.2 해독 데이터 .. ..................... 260
11.5.3 크랙 방법 .................................. (261)

제 12 장 응용 프로그램 보호 .......................................... 262
12.1 함수 이름 혼란 .......................................... ..262
12.2 문자열 암호화 ............... ........................... ..262
12.3 265 코드 난독 ................................................
12.3.1 인라인 인라인 함수 ........................ 265
12.3 0.2 난독-LLVM 컴파일러 (266) ............
12.3.3 엑스 코드 LLVM ..........................................- 통합 구성 난독. 268
12.3.4 THEOS 통합 구성 난독-LLVM ............ ................................................ 270
12.4 270 ................................................ 검출 탈출
12.4.1가 중요한 문서가 있는지를 결정한다 .. ......... 270
12.4.2 직접 .................. 관련 파일을 읽습니다. 271
12.4.3 기능은 통계 파일을 결정하기 위해 .......... 271
12.4.4 검사 동적 라이브러리는 ..................... .. (272 개) 목록
12.4.5 검사 환경 변수를 ...... ..................... 272 개
12.4.6 기능 검사 272 ............... 도용 여부
12.5 해적 .................................... ............... 0.273
12.5.1 ............ ..273 Bundleidentifier 확인
12.5.2 소스 ... ..273 앱 스토어 여부를 확인
12.5.3 재계약 검사를 .............................. 276
코드 체크섬 12.5.4 0.277 ......................
12.6 및 278 ...................... 디버깅 방지 방지 antidebugging
12.6.1 antidebugging 방법 .................. ............ 279
12.6.2 .281 ................................. 항 안티 디버깅
285 ................................. 항 항 항 주입 주입 12.7

제 13 장 코드의 엔트리 포인트 도용 ........................... ..287
13.1 원칙 ................................................ 287
13.2 쓰기 쉘 코드 ........................ ............... 287
13.2.1 작성 ARM 어셈블러 ........................ 288
292 13.2.2 주요 기능 점프 주소 계산 ......
최종 ..................... 쉘 코드 13.2.3 294
13.3 삽입 코드 ................................................ 295
13.4 296 ... .......................................... 진입 점을 수정
............... 전환에 13.4.1 명령 296 ............
13.4.2는 ARMv7 진입 점 ........................ 297
13.4.3 arm64 진입 점 ........................ 297
13.5 무게 서명 .............................. ..................... 0.298

제 14 장 .......................................... 쉘 (300)의 내부에 기록 된
300 ...................... 파일 형식의 14.1 분석 유형을
삽입 코드 ........................ 14.2 .................. .. 301
14.3 수정 프로그램 엔트리 포인트 303 ......................................................
방법 함수 호출 ........................ 304 14.4 쉘 코드
......... 14.5 작성 및 디버깅 쉘 코드 0.308 ..................
14.5.1하는 ARMv7 쉘 코드 ..................... 309
14.5.2 arm64 쉘 코드 ..................... 316
14.6 요약 .......................................... .............. 329

제 15 장 331 시스템 관련 ..........................................
15.1 Cydia를 관련 문제 및 해결 ... ... ... ... ... 331
15.2 다운 그레이드 전설 .................................... ............ 334 개
15.3 액세스 제한 암호 보안 위험 ..................... 335
15.4 스캔 코드 ................................. 338 온라인 설치 응용 프로그램
15.5 오버 플로우 취약점 CVE-2018-4407 원격 ......... ... 344
15.6 디스크 공간의 문제를 해결 ..................... 345

이 책에 사용 된 도구의 목록을 부록 ..................... ..347

많은 보안 전문가가 작성 원을 중심으로 단어를 추천합니다

우리는 먼저 이익을해야합니다. 이 책은 시작하기 전에 일곱 장에 초점을 맞추고 환경 탈옥 방법은 일반 도구, ARM 어셈블러 및, 제 8 장 공격 뒤에 초점을 맞추고 역 등의 기본 응용 프로그램을 사용합니다 설명. 안티 전투 및 기술을. 이 책은 거의 점프 장을 읽을 초보자 일관성이다. 이 책의 제목이 명확하게 것처럼 이것은 매우 권위있는 점이다 "무술 요령." 나는 강하게 나는 당신이 크게 증가 역할을 할 것으로 예상,이 책의 iOS 보안 매니아를 읽을 것을 권장합니다.
- 이순신 펭, 아이폰 OS 보안 연구원

첸과 나는 7 년 동안 알게 된 그는 공격. 방어 비즈니스 경험 및 보안 방향을 10 년 이상하고있다. 이것은 1 차 보안 업계의 베테랑가 쓴 책, 책 Tiaofenlvxi 아이폰 OS 보안과 역의 응용 프로그램, 부정 행위의 다양한 방법을 공개하고 "울 파티"의 사용 양을 브러쉬에 설명 된, 작은 알려진 아이폰 OS 플랫폼 발표 쉘 기술을 작성합니다. 이 책의 내용은 실제 사용자 친화적, 아이폰 OS 보안 매니아 항목 및 개선의 대부분에 많은 도움이 될 것입니다.
- 리밍 청, 7 년 안전 실무자

이 책은 아이폰 OS 플랫폼은 현재 가장 인기있는 소프트웨어의 공격이다 자세히 설명합니다. 방지 기술은 아이폰 OS 보안 분야가 드문 걸작이다. 최첨단 보안 기술과 전투 경험의 년의 책 수집의 내용은, 우리가이 책을 읽고에 얻을 것으로 판단된다.
- 비 곤충, 수석 소프트웨어 보안 전문가, "맥 OS 소프트웨어 보안 및 분석 역"의를

추천

출처blog.51cto.com/6095891/2422154