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

九陰真經(iOS黑客攻防秘籍)/圖靈原創

  • 作者:陳德
  • 出版社:人民郵電
  • ISBN:9787115516107
  • 出版日期:2019/08/01
  • 裝幀:平裝
  • 頁數:348
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書內容易於理解,可以讓讀者循序漸進、系統性地學習iOS 安全技術。書中首先細緻地介紹了越獄環境的開發與逆向相關工具,然後依次講解了彙編基礎、動態調試、靜態分析、注入與hook、文件格式,最後為大家呈現了應用破解與應用保護、隱私獲取與取證、刷量與作弊、唯一設備ID、寫殼內幕等多個主題。本書適合逆向工程師、iOS高級開發工程師、越獄開發者、安全研究員以及電腦相關專業學生閱讀。

作者介紹
陳德
    陳德,安全專家,軟體安全研究員。2007年開始自學安全技術,在安全領域精通多方面技術,個人作品有eXfaker、FileMonitorKit和SystemKit等。

目錄
第1章  iOS安全機制
  1.1  應用的安裝源
  1.2  沙盒
  1.3  代碼簽名
  1.4  用戶許可權隔離
  1.5  數據執行保護
  1.6  地址隨機化
  1.7  後台程序
第2章  越獄環境開發工具的準備
  2.1  越獄與Cydia
  2.2  文件管理工具
    2.2.1  iFile:在手機上管理文件
    2.2.2  AFC2:通過USB管理手機 文件
  2.3  命令行工具
    2.3.1  MTerminal:手機中執行 命令行
    2.3.2  OpenSSH:在電腦上執行 命令行
  2.4  代碼注入測試工具
  2.5  遠程調試工具
    2.5.1  debugserver的配置與啟動
    2.5.2  LLDB連接debugserver及其 調試
    2.5.3  通過USB連接SSH進行調試
  2.6  反彙編工具
    2.6.1  IDA
    2.6.2  Hopper
  2.7  其他工具
第3章  ARM彙編基礎
  3.1  ARMv
    3.1.1  編寫32位彙編代碼
    3.1.2  寄存器與棧
    3.1.3  基礎指令
    3.1.4  條件跳轉與循環
    3.1.5  函數參數的調用過程
    3.1.6  Thumb指令
  3.2  ARM
    3.2.1  編寫64位的彙編代碼
    3.2.2  寄存器與棧
    3.2.3  函數參數的調用過程
  3.3  在Xcode中使用內聯彙編
    3.3.1  C C++ Objective-C調用彙編 函數
    3.3.2  直接編寫內聯彙編
第4章  應用逆向分析
  4.1  尋找main函數的入口
    4.1.1  編寫一個測試程序
    4.1.2  ARMv7的main函數入口
    4.1.3  ARM64的main函數入口
  4.2  動態調試
    4.2.1  反彙編
    4.2.2  添加斷點
    4.2.3  列印數據
    4.2.4  讀寫數據

    4.2.5  修改程序的執行流程
    4.2.6  查看信息
    4.2.7  執行到上層調用棧
    4.2.8  臨時修改變數的值
    4.2.9  使用幫助與搜索
  4.3  靜態分析
    4.3.1  通過字元串定位到代碼的 引用位置
    4.3.2  查看函數被調用的位置
    4.3.3  重設基地址
    4.3.4  修改代碼並保存文件
    4.3.5  使用IDA Python腳本
  4.4  逆向分析實例
第5章  Tweak編寫技術
  5.1  Theos開發環境的使用
    5.1.1  編寫第一個Tweak
    5.1.2  Theos工程文件
  5.2  逆向分析與編寫Tweak
    5.2.1  逆向分析
    5.2.2  編寫Tweak
第6章  注入與hook
  6.1  注入動態庫
    6.1.1  編寫動態庫
    6.1.2  DynamicLibraries目錄
    6.1.3  DYLD_INSERT_LIBRARIES環境 變數
    6.1.4  不越獄注入動態庫
  6.2  hook
    6.2.1  Cydia Substrate
    6.2.2  Symbol Table
    6.2.3  Method Swizzing
第7章  Mach-O文件格式解析
  7.1  Mach-O文件格式
    7.1.1  Fat頭部
    7.1.2  Mach頭部
    7.1.3  Load command
    7.1.4  符號表與字元串表
  7.2  CFString的運行過程
    7.2.1  編寫測試代碼
    7.2.2  CFString的數據結構
    7.2.3  調試運行過程
  7.3  Mach-O ARM函數綁定的調用過程分析
    7.3.1  編寫測試代碼
    7.3.2  分析ARMv7函數綁定的調用過程
    7.3.3  分析ARM64函數綁定的調用過程
    7.3.4  總結
  7.4  靜態庫文件格式
  7.5  class-dump導出頭文件的原理
  7.6  關於Bitcode
    7.6.1  Bitcode的作用
    7.6.2  在Xcode中如何生成Bitcode
    7.6.3  通過命令行編譯Bitcode

    7.6.4  將Bitcode編譯成可執行文件
    7.6.5  編譯器相關參數
第8章  唯一設備ID
  8.1  UDID與設備ID
  8.2  IDFA
  8.3  IDFV
  8.4  OpenUDID
  8.5  SimulateIDFA
  8.6  MAC地址
  8.7  ID的持久化存儲
  8.8  DeviceToken
第9章  刷量與作弊
  9.1  越獄環境下獲取root許可權
  9.2  修改手機信息
    9.2.1  修改基本信息
    9.2.2  修改Wi-Fi信息
    9.2.3  修改DeviceToken
    9.2.4  修改位置信息
  9.3  清除應用數據
  9.4  清除Keychain
  9.5  清除剪貼板
  9.6  發布應用
    9.6.1  將App打包成deb
    9.6.2  製作Cydia源發布應用
  9.7  許可權的切換
  9.8  變化IP地址
  9.9  反越獄檢測
  9.10  不用越獄修改任意位置信息
  9.11  在兩個手機上同時登錄同一微信
  9.12  微信的62數據
第10章  重要信息獲取與取證
  10.1  通訊錄
  10.2  簡訊
  10.3  通話記錄
  10.4  位置信息
  10.5  網路信息
  10.6  感測器信息
  10.7  系統信息
  10.8  硬體ID信息
  10.9  已安裝的應用列表
  10.10  使用idb分析泄露的數據
  10.11  重要的文件與目錄
  10.12  libimobiledevice獲取手機信息
第11章  應用破解
  11.1  重打包應用與多開
    11.1.1  重打包應用
    11.1.2  多開
  11.2  應用重簽名
    11.2.1  代碼簽名
    11.2.2  授權機制

    11.2.3  配置文件
    11.2.4  重簽名
  11.3  抓包和改包
    11.3.1  tcpdump抓包
    11.3.2  Wireshark抓包
    11.3.3  Charles抓取HTTPS數據包
    11.3.4  Charles修改數據包與重發
    11.3.5  突破SSL雙向認證
  11.4  文件監控
  11.5  破解登錄驗證
    11.5.1  得到HTTP傳輸的數據
    11.5.2  得到解密的數據
    11.5.3  破解方法
第12章  應用保護
  12.1  函數名混淆
  12.2  字元串加密
  12.3  代碼混淆
    12.3.1  inline內聯函數
    12.3.2  obfuscator-llvm編譯器
    12.3.3  Xcode集成配置obfuscator-llvm
    12.3.4  Theos集成配置obfuscator-llvm
  12.4  越獄檢測
    12.4.1  判斷相關文件是否存在
    12.4.2  直接讀取相關文件
    12.4.3  使用stat函數判斷文件
    12.4.4  檢查動態庫列表
    12.4.5  檢查環境變數
    12.4.6  檢查函數是否被劫持
  12.5  反盜版
    12.5.1  檢查Bundle identifier
    12.5.2  檢查來源是否為App Store
    12.5.3  檢查重簽名
    12.5.4  代碼校驗
  12.6  反調試與反反調試
    12.6.1  反調試方法
    12.6.2  反反調試
  12.7  反注入與反反注入
第13章  代碼入口點劫持
  13.1  實現原理
  13.2  編寫ShellCode
    13.2.1  編寫ARM彙編
    13.2.2  計算main函數的跳轉地址
    13.2.3  最終的ShellCode
  13.3  插入代碼
  13.4  修改入口點
    13.4.1  關於指令切換
    13.4.2  ARMv7入口點
    13.4.3  ARM64入口點
  13.5  重簽名
第14章  寫殼內幕

  14.1  判斷文件格式類型
  14.2  代碼的插入
  14.3  修改程序入口點
  14.4  Shellcode如何調用函數
  14.5  編寫和調試Shellcode
    14.5.1  ARMv7 Shellcode
    14.5.2  ARM64 Shellcode
  14.6  總結
第15章  系統相關
  15.1  Cydia的相關問題及修復方法
  15.2  降級傳說
  15.3  訪問限制密碼的安全隱患
  15.4  掃碼在線安裝應用
  15.5  CVE-2018-4407遠程溢出漏洞
  15.6  解決磁碟空間不足的問題
附錄A 書中用到的工具列表

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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