8 (905) 200-03-37 Владивосток
с 09:00 до 19:00
CHN - 1.14 руб. Сайт - 21.13 руб.

Андоид программного обеспечения Авторитетное руководство Fengshengqiang Windows Linux MacOS Android Разработка программного обеспечения.

Цена: 1 205руб.    (¥57)
Артикул: 619815979546

Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.

Этот товар на Таобао Описание товара
Продавец:蚌埠新华书店图书专营店
Адрес:Аньхой
Рейтинг:
Всего отзывов:0
Положительных:0
Добавить в корзину
Другие товары этого продавца
¥48.951 035руб.
¥94.92 006руб.
¥37.95802руб.
¥22.75481руб.


Параметры продукта


Введение

     Эта книга в основном представляет технологии безопасности программного обеспечения на платформе Android.Начиная с фонда построения платформы и языка, он постепенно объяснил программную атакующую и оборонительную технологию на платформе Android.В этой книге есть 12 глав, которые систематически объясняют конструкцию окружающей среды, формат файлов, статический анализ, динамическая отладка, технология защиты крючков и программного обеспечения, оболочки программного обеспечения, такие как форматы файлов, статический анализ, динамическая отладка, крючковые и программные оболочки, связанные с Android Software Security.Эта книга имеет большее обновление по сравнению с первым изданием.Кроме того, эта книга обновляет структуру каталогов, объясняя технологию безопасности программного обеспечения Java и нативных слоев, и она более подробно и разумно в расположении контента.В то же время популярные главы программного обеспечения добавляются в настоящее время, большинство из которых являются технологиями, которые еще не были раскрыты.Кроме того, каждая глава в книге объясняется в примере объяснения, которое является более практичным.


Каталог

Глава 1 Создайте среду анализа для программы Android

1.1 Создайте среду анализа Windows1

1.1.1 Установить JDK1

1.1.2 Установить Android SDK2

1.1.3 Установите Android NDK5

1.1.4 Android Studio интегрированная среда разработки6

1.1.5 Создать симулятор Android7

1.1.6 Cygwin9

1.1.7 Bash на Ubuntu на Windows11

1.2 Построить среду анализа macOS12

1.2.1 Установить JDK12

1.2.2 Установите Android SDK14

1.2.3 Установите Android NDK14

1.2.4 Android Studio Интегрированная среда разработки15

1.3 Строительная среда анализа Ubuntu15

1.3.1 Установить JDK16

1.3.2 Установите Android SDK17

1.3.3 Установите Android NDK17

1.3.4 Android Studio интегрированная среда разработки18

1.4 Общие инструменты обратного анализа19

1.5 Обычная команда Linux Shell19

1.6 Среда анализа источника строительства20

1.6.1 Компилирование исходного кода Android в MacOS20

1.6.2 Скомпилируйте исходный код Android в Ubuntu26

1.6.3 Компилирование исходного кода Android в Windows26

1.7 Сводка этой главы27


Глава 2 Как проанализировать программу Android

2.1 Напишите первую программу Android28

2.1.1 Создание проекта Android28

2.1.2 Компиляция и создание файла APK30

2.2 Crack первая программа Android35

2.2.1 Трещивание и запуск35

2.2.2 APK -файл Anti -Compilation35

2.2.3 АНАЛИЗ APK FILE36

2.2.4 Измените код файла Smali44

2.2.5. Повторный файл APK и подпись подписи45

2.2.6 Установка и тестирование47

2.2.7 Резюме48

2.3 Резюме этой главы48


Глава 3 Далвик исполняемый формат и спецификация байт -кодов

3.1 Dalvik Virtual Machine49

3.1.1 Характеристики виртуальной машины Далвика49

3.1.2 Dalvik Virtual Machine и Java Virtual Machine49

3.1.3 Процесс выполнения виртуальной машины54

3.1.4 Метод выполнения виртуальной машины56

3.2 Dalvik Language Foundation56

3.2.1 Формат инструкции Dalvik57

3.2.2 Инструмент компиляции Dex Capital58

3.2.3 Dalvik Register59

3.2.4 Метод регистрации именования61

3.2.5 Dalvik Bytecode62

3.3 Набор инструкций Dalvik63

3.3.1 Тип инструкции64

3.3.2 Инструкции по эксплуатации воздуха64

3.3.3 Инструкции по эксплуатации данных64

3.3.4 Инструкция вернуть65

3.3.5 Инструкция по определению данных65

3.3.6 Инструкция блокировки66

3.3.7 Инструкции по эксплуатации экземпляра66

3.3.8 Инструкции по эксплуатации массива66

3.3.9 Инструкция67

3.3.1067

3.3.11 Инструкции по сравнению68

3.3.1269

3.3.13 Инструкция по вызову метода69

3.3.14 Инструкция по преобразованию данных70

3.3.15 Инструкции по эксплуатации данных70

3.4 Dalvik для обучения упражнения71

3.4.1 Записать файл Smali71

3.4.2 Компилировать файл Smali73

3.4.373

3.5 Резюме этой главы73

 

Глава 4 Общий формат файлов Android

4.1 Файл библиотеки74

4.1.1 Jar Package74

4.1.2 AAR Package75

4.2 Apk78

4.2.1 Структура файла APK78

4.2.2 Процесс генерации файла APK79

4.2.3 Процесс установки APK84

4.3 Classe.dex90

4.3.1 Структура файла DEX90

4.3.2 Процесс проверки и оптимизации файла DEX104

4.3.3 Модификация файлов DEX108

4.3.4 Multidex111

4.4 Androidmanifest.xml113

4.4.1 Формат файла AndroidManifest.xml113

4.4.2 Формат файла axml114

4.4.3 Модификация файлов AXML121

4.5 Resources.Arsc121

4.5.1 Формат файла ARSC122

4.5.2 Модификация файлов ARSC128

4.6 Справочник мета-инф128

4.6.1 cert.rsa128

4.6.2 Manifest.mf129

4.6.3 cert.sf130

4.7 Odex132

4.7.1 Сгенерировать файл ODEX132

4.7.2 Формат файла ODEX132

4.7.3 Конвертировать файл ODEX в файл DEX136

4.8 ов137

4.8.1 Art Virtual Machine137

4.8.2 Сгенерировать файл овсяна137

4.8.3 Формат овсяного файла138

4.8.4 Преобразовать файл овса в файл dex141

4.9 Резюме этой главы143


Глава 5 Статический анализ Android Программа

5.1 Статический анализ Введение145

5.2 Чтение кода Смали145

5.2.1 Структура файлов Smali145

5.2.2 Циновое предложение148

5.2.3 Переключение предложения приговора153

5.2.4158

5.3 Читать код Java163

5.3.1 Преобразовать файл DEX в пакет JAR163

5.3.2 Инструмент анализа банки163

5.4 Навыки позиционирования кода164

5.4.1 Метод анализа входа164

5.4.2 Метод обратной связи с информацией165

5.4.3 Метод функции функции165

5.5 Используйте JEB для статического анализа165

5.5.1 Установите Jeb165

5.5.2 Функция статического анализа Джеба166

5.5.3 Сценарий Джеба и плагин -в169

5.6 Используйте IDA Pro для статического анализа170

5.6.1 Поддержка IDA Pro для Android170

5.6.2 Анализ файл dex dex170

5.6.3 Код позиционирования ключа172

5.7 Используйте Androguard для статического анализа174

5.7.1 Установите Androguard175

5.7.2 Как использовать Androguard175

5.7.3 Используйте androlyze.py для анализа179

5.8 Резюме этой главы182

 

Глава 6 Динамический анализ Android программы

6.1 Динамическая структура анализа183

6.2 Навыки динамического анализа189

6.2.1 Метод инъекции кода189

6.2.2 Метод отслеживания стека192

6.2.3 Профилирование метода193

6.2.4 Проверка пользовательского интерфейса196

6.3 Используйте JDB Dynamic Debug APK198

6.4 Используйте JEB Dynamic Debug APK200

6.5 Используйте динамическую отладку IDA Pro201

6.6 Сводка этой главы203


Глава 7 Основная компиляция ARM

7.1 Android и ARM -процессоры204

7.1.1 Обзор архитектуры процессора Arm204

7.1.2 Архитектура процессора, поддерживаемая Android205

7.2 Android Arm Eabi206

7.2.1 Armeabi206

7.2.2 Armeabi-V7a207

7.2.3 ARM64-V8A208

7.3 Процесс генерации нативных программ ARM208

7.3.1 Предварительная обработка210

7.3.2 Компиляция211

7.3.3 Сборка215

7.3.4 Ссылка215

7.4 Язык Ассамблеи ARM216

7.4.1 Структура программы программы сборки ARM216

7.4.2 Инструкции по сборке221

7.4.3 Регистрация223

7.4.4 Метод обращения процессора224

7.4.5 Передача параметров подпрограммы227

7.5 Набор инструкций по сборке рук230

7.5.1 Классификация набора инструкций ARM230

7.5.2 Кодирование инструкции по рук231

7.5.3 Анализ формата инструкции ARM233

7.5.4234

7.6 Набор инструкций по сбору большого пальца240

7.6.1 16 -битная инструкция кодировки240

7.6.2 16 -битный анализ инструкций241

7.6.3 32 -bit242

7.6.4 32 -bit filmance Analysis244

7.7 Aarch64 Набор инструкций сборки246

7.7.1 Aarch64 Кодирование инструкций246

7.7.2 Aarch64 Анализ формата инструкций247

7.8 Резюме этой главы250

 

Глава 8 Разработка программы Android и обратный анализ Android

8.1 Разработка нативной программы251

8.1.1 Нативная программа проекта252

8.1.2 STL Выбор253

8.1.3 JNI254

8.1.4 Параметры компиляции и элементы конфигурации256

8.2 Трансплантация нативной программы256

8.2.1 Трансплантация проекта ADT257

8.2.2 Трансплантация проекта UNIX с открытым исходным кодом258

8.2.3 Трансплантация проекта CMAKE262

8.2.4 Трансплантация других типов проектов264

8.3 Функция входа нативного программы264

8.3.1 Анализ входной функции нативной программы264

8.3.2 Таким образом, анализ функций ввода269

8.4 Формат файла нативного программы271

8.4.1 Типы файлов нативных программ271

8.4.2 Формат файла эльфийского файла Aarch64274

8.4.3 Таблица заголовков программы278

8.4.4 Таблица заголовков секции281

8.4.5.Dynamic Раздел283

8.4.6 Таблица символов285

8.4.7 Таблица символов286

8.4.8 Полученная таблица и таблица PLT287

8.4.9 Форма реконструкции адреса291

8.5 Инструмент анализа обновления нативной программы295

8.5.1 NDK Toolchain295

8.5.2 IDA Pro297

8.5.3 Хоппер301

8.6 Обратный анализ программы Native C программы C302

8.6.1 Компиляция программ Native C303

8.6.2 Для структуры циркулирующей ветви305

8.6.3 во время циркулирующей структуры ветви309

8.6.4 Если……Иначе структура ветвления312

8.6.5 Структура циркулирующей ветви316

8.6.6 Оптимизированная программа C319

8.7 Натив C ++ Программа обратный анализ321

8.7.1 Обратный анализ C ++ STL322

8.7.2 обратный анализ класса C ++326

8.7.3 C ++ Программа RTTI332

8.8 Нативные, так что динамический обратный анализ библиотеки336

8.9 Резюме этой главы337

 

Глава 9 Нативная программа Android Динамическая отладка

9.1 отладчик GDB338

9.1.1 Сценарий NDK-GDB338

9.1.2 Настройка отладчика GDB339

9.1.3 Общие команды отладчика GDB340

9.1.4 Используйте GDB для отладки нативных программ Android342

9.1.5 Фронт -концом GDB отладчика GDB344

9.2 LLDB отладчик346

9.2.1 Настройка отладчика LLDB346

9.2.2 Общие команды отладчика LLDB348

9.2.3 Используйте LLDB для отладки нативных программ Android350

9.2.4 Передний графический интерфейс отладчика LLDB353

9.3 Используйте IDA Pro для отладки нативных программ Android353

9.4 Резюме этой главы358

 

Глава 10 Крюк и инъекция

10.1 Тип крюка359

10.1.1 Далвик Хук359

10.1.2 Art Hook362

10.1.3 LD_PRELOAD Hook364

10.1.4 Получил крюк366

10.1.5 встроенный крючок367

10.2 Крюк -каркас xposed368

10.3 Сцена и приложение крючков372

10.3.1 Открыть выходной вывод отладки журнала372

10.3.2 APK Plug -in373

10.3.3 Обход SSL Pinning373

10.4 Динамическая инъекция374

10.4.1 Таким образом динамическая инъекция библиотеки374

10.4.2 DEX Incection376

10.5 инъекционная рамка Frida377

10.5.1 Установка и конфигурация FRIDA377

10.5.2 Выполните инъекцию и крючок378

10.5.3 Отслеживание нативного метода384

10.6 Резюме этой главы386

 

Глава 11 Технология защиты программного обеспечения

11.1 Технология защиты программного обеспечения Введение387

11.2 Технология путаницы программного обеспечения388

11.2.1 Стушение исходного кода.389

11.2.2 Шаблон путаница389

11.2.3 AST путаница391

11.2.4 IR путаница397

11.2.5 Dex путаница397

11.2.6 DEX Second Busватием399

11.3 Защита ресурсов401

11.4 Проверка интеграции403

11.5 Антицентная технология404

11.5.1 Обнаружение обнаружения статуса отладчика404

11.5.2 Обнаружение обнаружения порта отладчика.404

11.5.3 Обнаружение состояния процесса406

11.6 Тестирование операционной среды407

11.6.1 Обнаружение симулятора407

11.6.2 Обнаружение корней409

11.6.3 Тест крюка409

11.7 Резюме этой главы411

 

Глава 12 Software Shell

12.1 Android Software Shell412

12.2 Характеристики и разведка программной оболочки413

12.2.1 Компилятор отпечаток пальца413

12.2.2 Особенности программной оболочки416

12.2.3 Инструменты проверки оболочек418

12.3 Динамическая нагрузочная оболочка418

12.3.1 Метод обстрела кеша418

12.3.2 Метод обстрела дампа памяти419

12.3.3 Метод обстрела динамической отладки420

12.3.4 Метод обстрела крючка423

12.3.5 Метод обстрела системы индивидуального424

12.4 оболочка рисования кода425

12.4.1 Метод обстрела памяти425

12.4.2 Метод обстрела крючка427

12.4.3.427

12.5 Кодовая путаница оболочка429

12.5.1 Фонд LLVM430

12.5.2 Напишите проход434

12.5.3 Obfusccator-llvm440

12.5.4. Кодируйте оболочку с обстрелом443

12.6 Резюме этой главы451



об авторе

     Сетевое название "не -червя”Независимый исследователь безопасности программного обеспечения, старший эксперт по безопасности, ISC2016 Независимый лектор по обеспечению безопасности ISC2016, Rich Experience в области практического опыта безопасности программного обеспечения.С 2008 года многие технические статьи были опубликованы в хорошо известном журнале безопасности "Hacker Defense".


Рекомендуемая рекомендация

Эта книга подходит для разработчиков Android, исследователей безопасности и читателей, которые заинтересованы в безопасности системы Android.