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

軟體逆向分析技術及應用(網路空間安全實踐能力分級培養系列教材)

  • 作者:編者:魯宏偉//陳凱//鄧賢君//許雷永|責編:李錦
  • 出版社:人民郵電
  • ISBN:9787115622723
  • 出版日期:2024/01/01
  • 裝幀:平裝
  • 頁數:424
人民幣:RMB 149.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書根據本科生和研究生軟體逆向分析相關課程的教學需要,以實例為導引,面向攻防實踐,將逆向分析基礎和工具融入實例的剖析過程中,使學生能夠在解決實際問題的過程中掌握相關基礎和常用工具的使用方法。通過對軟體逆向基礎、常見文件格式解析、常用反彙編演算法及缺陷分析、Android程序逆向基礎和相關工具的介紹,讀者能夠掌握基本的逆向分析方法。隨著逆向分析技術的不斷演進,一些新的理論和技術不斷湧現,本書圍繞代碼混淆和反混淆、漏洞挖掘及協議逆向分析技術的相關方法和研究進展做了詳細的介紹,以幫助從事相關研究的讀者了解這些內容。
    本書既可作為高等院校相關課程的教材,也可以供從事逆向分析應用研究與開發的工程技術人員參考。

作者介紹
編者:魯宏偉//陳凱//鄧賢君//許雷永|責編:李錦

目錄
第1章  軟體逆向分析基礎
  1.1  初識軟體逆向分析
  1.2  軟體逆向分析的目的
    1.2.1  與安全相關的應用
    1.2.2  軟體開發中的逆向分析
  1.3  軟體逆向分析的合法性
    1.3.1  可以規避的例外
    1.3.2  軟體逆向分析與版權之爭
    1.3.3  漏洞利用
  1.4  如何掌握軟體逆向分析方法
    1.4.1  目標要明確
    1.4.2  擁有積極的心態
    1.4.3  感受逆向分析的樂趣
    1.4.4  學會檢索
    1.4.5  實踐實踐再實踐
    1.4.6  保持平和的心態
  1.5  軟體逆向分析過程
    1.5.1  靜態分析
    1.5.2  動態分析
  思考題
第2章  文件格式解析
  2.1  PE文件
    2.1.1  基本概念
    2.1.2  頭部信息
    2.1.3  區塊信息
    2.1.4  導入表和導出表
  2.2  ELF文件
    2.2.1  ELF文件的基本格式
    2.2.2  ELF文件頭部信息
    2.2.3  ELF文件的節區
    2.2.4  ELF文件的段
    2.2.5  ELF文件的「.dynamic」節區
  2.3  「.dex」文件
    2.3.1  「.dex」文件簡介
    2.3.2  「.dex」文件結構
  2.4  「.odex」文件結構
  思考題
第3章  理解程序邏輯和算術運算
  3.1  數據的存儲和訪問
    3.1.1  常量和變數
    3.1.2  基本數據類型
    3.1.3  指針、數組和字元串
    3.1.4  結構體、聯合體
    3.1.5  函數
  3.2  基本程序邏輯
    3.2.1  無條件分支指令
    3.2.2  條件分支指令
    3.2.3  循環指令
  3.3  算術運算
    3.3.1  算術標誌位

    3.3.2  整數運算
  思考題
第4章  常用反彙編演算法與分析
  4.1  反彙編演算法概述
  4.2  線性掃描反彙編演算法
  4.3  遞歸下降反彙編演算法
  4.4  反彙編演算法缺陷分析
    4.4.1  線性掃描反彙編演算法缺陷示例
    4.4.2  遞歸下降反彙編演算法缺陷示例
  4.5  反彙編案例
  思考題
第5章  反彙編演算法優化
  5.1  基於超集的反彙編演算法——Multiverse
    5.1.1  存在的挑戰
    5.1.2  解決思路
    5.1.3  映射
    5.1.4  重寫
    5.1.5  實現
  5.2  基於概率提示的反彙編演算法——PD
    5.2.1  概述
    5.2.2  X86指令的概率特徵
    5.2.3  概率提示反彙編演算法
    5.2.4  演算法實現
  5.3  基於多路徑探索的動態反彙編演算法
    5.3.1  指令執行軌跡
    5.3.2  多路徑探索
  思考題
第6章  Android程序逆向分析基礎
  6.1  Android程序的代碼結構
    6.1.1  壓縮文件結構
    6.1.2  反編譯文件
  6.2  Android虛擬機:Dalvik和ART
    6.2.1  Dalvik虛擬機
    6.2.2  ART虛擬機
    6.2.3  「.apk」程序的執行流程
  6.3  smali語言和基本語法
    6.3.1  smali代碼格式
    6.3.2  smali語言的數據類型
    6.3.3  寄存器
    6.3.4  方法定義
    6.3.5  常見Dalvik指令集
  6.4  JNI
    6.4.1  Java中調用Native函數
    6.4.2  C/C++中調用Java函數
  思考題
第7章  Android逆向分析工具及應用
  7.1  反編譯工具
    7.1.1  smali/baksmali
    7.1.2  apktool
    7.1.3  ShakaApktool

    7.1.4  AndroidKiller
    7.1.5  Jeb
    7.1.6  Jadx
    7.1.7  GDA
  7.2  動態分析工具
    7.2.1  Xposed框架
    7.2.2  Frida
    7.2.3  Objection
  7.3  協議分析工具
    7.3.1  Wireshark
    7.3.2  Fiddler
    7.3.3  BurpSuite
  思考題
第8章  軟體保護與反保護的基本方法
  8.1  軟體保護技術概述
    8.1.1  軟體加密技術
    8.1.2  防篡改技術
    8.1.3  反調試技術
    8.1.4  殼保護技術
  8.2  移動終端軟體保護技術概述
    8.2.1  靜態篡改防護技術
    8.2.2  動態篡改防護技術
  8.3  對ELF文件加殼
    8.3.1  ELF文件的載入過程
    8.3.2  常見ELF文件的加殼原理
    8.3.3  包含式ELF文件加殼方法
  8.4  Android應用加固
    8.4.1  「.dex」文件加固方法概述
    8.4.2  通用加殼技術
    8.4.3  動態脫殼方法
  8.5  Android應用脫殼分析實例
    8.5.1  Android中「.so」文件的載入流程分析
    8.5.2  Android動態調試過程
    8.5.3  加固方式分析
    8.5.4  「.so」文件分析
    8.5.5  還原JNI_OnLoad
    8.5.6  動態分析
  思考題
第9章  代碼混淆與反混淆
  9.1  代碼混淆技術基本概念
    9.1.1  代碼混淆技術的定義
    9.1.2  代碼混淆技術的分類
    9.1.3  代碼混淆技術與逆向分析的關係
  9.2  常見的基於源代碼的代碼混淆技術
    9.2.1  符號混淆
    9.2.2  結構混淆
    9.2.3  控制流混淆
    9.2.4  數據混淆
  9.3  二進位代碼混淆技術
    9.3.1  插入花指令

    9.3.2  代碼亂序
    9.3.3  常量展開
    9.3.4  調用地址隱藏
    9.3.5  指令移動
    9.3.6  數據混淆
  9.4  OLLVM原理
    9.4.1  LLVM原理介紹
    9.4.2  OLLVM簡介
  9.5  反混淆技術
    9.5.1  反混淆技術研究概況
    9.5.2  常用的反混淆技術
    9.5.3  基於IAT的反混淆技術
    9.5.4  控制流平坦化反混淆技術
  思考題
第10章  基於二進位代碼的漏洞挖掘技術
  10.1  漏洞概述
    10.1.1  bug與漏洞
    10.1.2  漏洞挖掘、漏洞分析、漏洞利用
  10.2  漏洞挖掘技術概述
    10.2.1  人工分析技術
    10.2.2  Fuzzing
    10.2.3  補丁比對技術
    10.2.4  靜態分析技術
    10.2.5  動態分析技術
    10.2.6  基於機器學習方法
  10.3  漏洞分析常用工具
    10.3.1  靜態分析工具CodeSonar
    10.3.2  用於滲透測試的幾種漏洞掃描工具
    10.3.3  Fuzzing工具
  10.4  可感知應用的進化模糊測試工具——VUzzer
    10.4.1  基礎知識
    10.4.2  問題分析
    10.4.3  方法分析
    10.4.4  設計與實現
  10.5  固件漏洞分析及實例
    10.5.1  典型固件漏洞分析方法梳理
    10.5.2  固件漏洞分析實例
  思考題
第11章  協議逆向分析技術
  11.1  協議分析概述
    11.1.1  網路協議分析的發展歷程
    11.1.2  協議分析技術的分類
  11.2  協議逆向分析基礎
    11.2.1  協議逆向分析模型
    11.2.2  消息格式提取方法
    11.2.3  狀態機推斷演算法
  11.3  網路協議分析技術
    11.3.1  基於網路流量的協議逆向分析
    11.3.2  基於程序分析的協議逆向分析
  11.4  工業控制協議分析

    11.4.1  工業控制協議安全現狀
    11.4.2  工業控制協議安全分析
    11.4.3  工業控制協議的特點
    11.4.4  工業控制協議規範解析
    11.4.5  動態污點分析技術在協議逆向分析中的應用
    11.4.6  基本塊粒度工業控制協議欄位邊界逆向分析演算法
  思考題
附錄A  一個簡單程序的逆向分析
  A.1  觀察程序的行為
  A.2  靜態分析
    A.2.1  尋找main函數
    A.2.2  main()函數分析
    A.2.3  dword_5F3088分析
    A.2.4  a1分析
    A.2.5  獲取Flag
    A.2.6  編寫腳本
    A.2.7  解決反編譯失敗問題
  A.3  動態分析
    A.3.1  選擇調試器
    A.3.2  跟蹤程序
  A.4  後記
  思考題
附錄B  惡意程序逆向分析示例
  B.1  靜態分析
    B.1.1  查殼
    B.1.2  查看導入函數
    B.1.3  查看關鍵字元串
    B.1.4  查找程序入口
  B.2  動態分析
    B.2.1  觀察程序行為
    B.2.2  分析程序行為
  B.3  程序修復
  思考題
附錄C  Android程序逆向分析示例
  C.1  靜態分析
    C.1.1  定位程序入口
    C.1.2  定位錯誤提示
    C.1.3  函數securityCheck分析
  C.2  動態分析
    C.2.1  「.so」文件的載入過程
    C.2.2  init_array分析
    C.2.3  JNI_OnLoad分析
    C.2.4  在JNI_OnLoad中設置斷點
    C.2.5  在securityCheck中設置斷點
  思考題

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