幫助中心 | 我的帳號 | 關於我們

Android軟體安全權威指南/安全技術大系

  • 作者:豐生強
  • 出版社:電子工業
  • ISBN:9787121355202
  • 出版日期:2019/03/01
  • 裝幀:平裝
  • 頁數:451
人民幣:RMB 95 元      售價:
放入購物車
加入收藏夾

內容大鋼
    豐生強著的《Android軟體安全權威指南/安全技術大系》主要介紹Android平台上的軟體安全技術。從平台搭建和語言基礎開始,循序漸進地講解了Android平台上的軟體攻防技術。本書共12章,系統地講解了與Android軟體安全相關的環境搭建、文件格式、靜態分析、動態調試、Hook與注入、軟體保護技術、軟體殼等多個主題。本書較第1版更新幅度較大,加入了Windows、Linux、macOS 3個平台上的軟體平台支持,在文件格式上加入了OAT、ELF等新的文件格式。另外,本書更新調整了目錄結構,將Java與Native層的軟體安全技術分開講解,在內容安排上更加細緻、合理。同時,加入了時下流行的軟體殼章節,內容大多是目前尚未公開的技術。另外,書中的每一章中都以實例講解的方式來展開內容,實踐性較強。
    本書適合Android開發人員、安全研究人員及對Android系統安全感興趣的讀者閱讀。

作者介紹
豐生強
    豐生強,網名非蟲,獨立軟體安全研究員,資深安全專家,ISC2016安全訓練營獨立講師,有著豐富的軟體安全實戰經驗。自2008年起,在知名安全雜誌《黑客防線》上發表多篇技術文章,從此踏上軟體安全道路,常年混跡於國內各大軟體安全論壇。著有暢銷安全圖書《Android軟體安全與逆向分析》。 

目錄
第1章  搭建Android程序分析環境
  1.1  搭建Windows分析環境
    1.1.1  安裝JDK
    1.1.2  安裝Android SDK
    1.1.3  安裝Android NDK
    1.1.4  Android Studio集成開發環境
    1.1.5  創建Android模擬器
    1.1.6  Cygwin
    1.1.7  Bash on Ubuntu on Windows
  1.2  搭建macOS分析環境
    1.2.1  安裝JDK
    1.2.2  安裝Android SDK
    1.2.3  安裝Android NDK
    1.2.4  Android Studio集成開發環境
  1.3  搭建Ubuntu分析環境
    1.3.1  安裝JDK
    1.3.2  安裝Android SDK
    1.3.3  安裝Android NDK
    1.3.4  Android Studio集成開發環境
  1.4  常用逆向分析工具
  1.5  常用Linux Shell命令
  1.6  搭建源碼分析環境
    1.6.1  在macOS中編譯Android源碼
    1.6.2  在Ubuntu中編譯Android源碼
    1.6.3  在Windows中編譯Android源碼
  1.7  本章小結
第2章  如何分析Android程序
  2.1  編寫第一個Android程序
    2.1.1  創建Android工程
    2.1.2  編譯生成APK文件
  2.2  破解第一個Android程序
    2.2.1  破解入手
    2.2.2  反編譯APK文件
    2.2.3  分析APK文件
    2.2.4  修改smali文件的代碼
    2.2.5  重新編譯APK文件並簽名
    2.2.6  安裝和測試
    2.2.7  小結
  2.3  本章小結
第3章  Dalvik可執行格式與位元組碼規範
  3.1  Dalvik虛擬機
    3.1.1  Dalvik虛擬機的特點
    3.1.2  Dalvik虛擬機與Java虛擬機的區別
    3.1.3  虛擬機的執行流程
    3.1.4  虛擬機的執行方式
  3.2  Dalvik語言基礎
    3.2.1  Dalvik指令格式
    3.2.2  DEX反彙編工具
    3.2.3  Dalvik寄存器
    3.2.4  寄存器命名法

    3.2.5  Dalvik位元組碼
  3.3  Dalvik指令集
    3.3.1  指令類型
    3.3.2  空操作指令
    3.3.3  數據操作指令
    3.3.4  返回指令
    3.3.5  數據定義指令
    3.3.6  鎖指令
    3.3.7  實例操作指令
    3.3.8  數組操作指令
    3.3.9  異常指令
    3.3.10  跳轉指令
    3.3.11  比較指令
    3.3.12  欄位操作指令
    3.3.13  方法調用指令
    3.3.14  數據轉換指令
    3.3.15  數據運算指令
  3.4  Dalvik指令練習
    3.4.1  編寫smali文件
    3.4.2  編譯smali文件
    3.4.3  測試運行
  3.5  本章小結
第4章  常見Android文件格式
  4.1  庫文件
    4.1.1  jar包
    4.1.2  aar包
  4.2  APK
    4.2.1  APK文件結構
    4.2.2  APK文件的生成流程
    4.2.3  APK的安裝流程
  4.3  classes.dex
    4.3.1  DEX文件結構
    4.3.2  DEX文件的驗證與優化過程
    4.3.3  DEX文件的修改
    4.3.4  MultiDex
  4.4  AndroidManifest.xml
    4.4.1  AndroidManifest.xml文件的格式
    4.4.2  AXML文件格式
    4.4.3  AXML文件的修改
  4.5  resources.arsc
    4.5.1  ARSC文件格式
    4.5.2  ARSC文件的修改
  4.6  META-INF目錄
    4.6.1  CERT.RSA
    4.6.2  MANIFEST.MF
    4.6.3  CERT.SF
  4.7  ODEX
    4.7.1  生成ODEX文件
    4.7.2  ODEX文件格式
    4.7.3  將ODEX文件轉換成DEX文件

  4.8  OAT
    4.8.1  ART虛擬機
    4.8.2  生成OAT文件
    4.8.3  OAT文件格式
    4.8.4  將OAT文件轉換成DEX文件
  4.9  本章小結
第5章  靜態分析Android程序
  5.1  靜態分析簡介
  5.2  閱讀smali代碼
    5.2.1  smali文件結構
    5.2.2  循環語句
    5.2.3  switch分支語句
    5.2.4  try/catch語句
  5.3  閱讀Java代碼
    5.3.1  將DEX文件轉換成jar包
    5.3.2  jar分析工具
  5.4  代碼定位技巧
    5.4.1  入口分析法
    5.4.2  信息反饋法
    5.4.3  特徵函數法
  5.5  使用JEB進行靜態分析
    5.5.1  安裝JEB
    5.5.2  JEB的靜態分析功能
    5.5.3  JEB的腳本化與插件
  5.6  使用IDA Pro進行靜態分析
    5.6.1  IDA Pro對Android的支持
    5.6.2  分析DEX文件
    5.6.3  定位關鍵代碼
  5.7  使用Androguard進行靜態分析
    5.7.1  安裝Androguard
    5.7.2  Androguard的使用方法
    5.7.3  使用androlyze.py進行分析
  5.8  本章小結
第6章  動態分析Android程序
  6.1  動態分析框架
  6.2  動態分析技巧
    6.2.1  代碼注入法
    6.2.2  棧跟蹤法
    6.2.3  Method Profiling
    6.2.4  UI檢查
  6.3  使用JDB動態調試APK
  6.4  使用JEB動態調試APK
  6.5  使用IDA Pro動態調試APK
  6.6  本章小結
第7章  ARM反彙編基礎
  7.1  Android與ARM處理器
    7.1.1  ARM處理器架構概述
    7.1.2  Android支持的處理器架構
  7.2  Android ARM EABI
    7.2.1  armeabi

    7.2.2  armeabi-v7a
    7.2.3  arm64-v8a
  7.3  ARM原生程序的生成過程
    7.3.1  預處理
    7.3.2  編譯
    7.3.3  彙編
    7.3.4  鏈接
  7.4  ARM彙編語言
    7.4.1  ARM彙編程序結構
    7.4.2  彙編指令
    7.4.3  寄存器
    7.4.4  處理器定址方式
    7.4.5  子程序參數傳遞
  7.5  ARM彙編指令集
    7.5.1  ARM指令集分類
    7.5.2  ARM指令編碼
    7.5.3  ARM指令格式解析
    7.5.4  常見ARM指令
  7.6  Thumb彙編指令集
    7.6.1  16位Thumb指令編碼
    7.6.2  16位Thumb指令格式解析
    7.6.3  32位Thumb指令編碼
    7.6.4  32位Thumb指令格式解析
  7.7  AArch64彙編指令集
    7.7.1  AArch64指令編碼
    7.7.2  AArch64指令格式解析
  7.8  本章小結
第8章  Android原生程序開發與逆向分析
  8.1  原生程序開發
    8.1.1  原生程序工程
    8.1.2  STL的選擇
    8.1.3  JNI
    8.1.4  編譯選項與配置項
  8.2  原生程序移植
    8.2.1  ADT項目的移植
    8.2.2  UNIX開源項目的移植
    8.2.3  CMake項目的移植
    8.2.4  其他類型項目的移植
  8.3  原生程序入口函數
    8.3.1  原生程序入口函數分析
    8.3.2  so入口函數分析
  8.4  原生程序文件格式
    8.4.1  原生程序的文件類型
    8.4.2  AArch64 ELF文件格式
    8.4.3  Program Header Table
    8.4.4  Section Header Table
    8.4.5  .dynamic節區
    8.4.6  字元串表
    8.4.7  符號表
    8.4.8  got表與plt表

    8.4.9  地址重定位表
  8.5  原生程序逆向分析工具
    8.5.1  NDK Toolchain
    8.5.2  IDA Pro
    8.5.3  Hopper
  8.6  原生C程序逆向分析
    8.6.1  編譯原生C程序
    8.6.2  for循環分支結構
    8.6.3  while循環分支結構
    8.6.4  if……else分支結構
    8.6.5  switch循環分支結構
    8.6.6  優化后的C程序
  8.7  原生C 程序逆向分析
    8.7.1  C STL的逆向分析
    8.7.2  C 類的逆向分析
    8.7.3  C 程序的RTTI
  8.8  原生so動態庫逆向分析
  8.9  本章小結
第9章  Android原生程序動態調試
  9.1  gdb調試器
    9.1.1  ndk-gdb腳本
    9.1.2  配置gdb調試器
    9.1.3  gdb調試器的常用命令
    9.1.4  使用gdb調試Android原生程序
    9.1.5  gdb調試器的GUI前端
  9.2  lldb調試器
    9.2.1  配置lldb調試器
    9.2.2  lldb調試器的常用命令
    9.2.3  使用lldb調試Android原生程序
    9.2.4  lldb調試器的GUI前端
  9.3  使用IDA Pro調試Android原生程序
  9.4  本章小結
第10章  Hook與注入
  10.1  Hook的類型
    10.1.1  Dalvik Hook
    10.1.2  ART Hook
    10.1.3  LD_PRELOAD Hook
    10.1.4  GOT Hook
    10.1.5  Inline Hook
  10.2  Hook框架Xposed
  10.3  Hook場景與應用
    10.3.1  開啟日誌調試輸出
    10.3.2  APK插件
    10.3.3  繞過SSL Pinning
  10.4  動態注入
    10.4.1  so動態庫注入
    10.4.2  DEX注入
  10.5  注入框架Frida
    10.5.1  Frida的安裝與配置
    10.5.2  執行注入與Hook

    10.5.3  跟蹤Native方法
  10.6  本章小結
第11章  軟體保護技術
  11.1  軟體保護技術簡介
  11.2  軟體混淆技術
    11.2.1  源碼混淆
    11.2.2  模板混淆
    11.2.3  AST混淆
    11.2.4  IR混淆
    11.2.5  DEX混淆
    11.2.6  DEX二次混淆
  11.3  資源保護
  11.4  完整性校驗
  11.5  反調試技術
    11.5.1  調試器狀態檢測
    11.5.2  調試器埠檢測
    11.5.3  進程狀態檢測
  11.6  運行環境檢測
    11.6.1  模擬器檢測
    11.6.2  Root檢測
    11.6.3  Hook檢測
  11.7  本章小結
第12章  軟體殼

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032