逆向工程核心原理

李承遠

  • 出版商: 人民郵電
  • 出版日期: 2014-05-01
  • 定價: $779
  • 售價: 8.5$662
  • 語言: 簡體中文
  • 頁數: 679
  • 裝訂: 平裝
  • ISBN: 7115350183
  • ISBN-13: 9787115350183
  • 相關分類: 資訊安全
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

<內容簡介>

《逆向工程核心原理》十分詳盡地介紹了代碼逆向分析的核心原理。作者李承遠在Ahnlab 研究所工作多年,書中不僅包括其以此經驗為基礎親自編寫的大量代碼,還包含了逆向工程研究人員必須瞭解的各種技術和技巧。徹底理解並切實掌握逆向工程這門技術,就能在眾多IT相關領域進行拓展運用,這本《逆向工程核心原理》就是通向逆向工程大門的捷徑。
    想成為逆向工程研究員的讀者或正在從事逆向開發工作的開發人員一定會通過《逆向工程核心原理》獲得很大幫助。同時,想成為安全領域專家的人也可從《逆向工程核心原理》輕鬆起步。

<目錄>

第一部分  代碼逆向技術基礎
第1章  關於逆向工程 
  1.1  逆向工程 
  1.2  代碼逆向工程 
    1.2.1  逆向分析法 
    1.2.2  源代碼、十六進制代碼、彙編代碼 
    1.2.3  「打補丁」與「破解」 
  1.3  代碼逆向準備 
    1.3.1  目標 
    1.3.2  激情 
    1.3.3  谷歌 
  1.4  學習逆向分析技術的禁忌 
    1.4.1  貪心 
    1.4.2  急躁 
  1.5  逆向分析技術的樂趣 
第2章  逆向分析Hello World!程序 
  2.1  Hello World!程序 
  2.2  調試HelloWorld.exe程序 
    2.2.1  調試目標 
    2.2.2  開始調試 
    2.2.3  入口點 
    2.2.4  跟蹤40270C函數 
    2.2.5  跟蹤40104F跳轉語句 
    2.2.6  查找main()函數 
  2.3  進一步熟悉調試器 
    2.3.1  調試器指令 
    2.3.2  「大本營」 
    2.3.3  設置「大本營」的四種方法 
  2.4  快速查找指定代碼的四種方法 
    2.4.1  代碼執行法 
    2.4.2  字符串檢索法 
    2.4.3  API檢索法(1):在調用代碼中設置斷點 
    2.4.4  API檢索法(2):在API代碼中設置斷點 
  2.5  使用「打補丁」方式修改「Hello World!」字符串 
    2.5.1  「打補丁」 
    2.5.2  修改字符串的兩種方法 
  2.6  小結 
第3章  小端序標記法 
  3.1  字節序 
    3.1.1  大端序與小端序 
    3.1.2  在OllyDbg中查看小端序 
第4章  IA-32寄存器基本講解 
  4.1  什麼是CPU寄存器 
  4.2  IA-32寄存器 
  4.3  小結 
第5章  棧 
  5.1  棧
    5.1.1  棧的特徵 
    5.1.2  棧操作示例 
第6章  分析abex'crackme#1 

  6.1  abex'crackme #1 
    6.1.1  開始調試 
    6.1.2  分析代碼 
  6.2  破解 
  6.3  將參數壓入棧 
  6.4  小結 
第7章  棧幀 
  7.1  棧幀 
  7.2  調試示例:stackframe.exe 
    7.2.1  StackFrame.cpp 
    7.2.2  開始執行main()函數&生成棧幀 
    7.2.3  設置局部變量 
    7.2.4  add()函數參數傳遞與調用 
    7.2.5  開始執行add()函數&生成棧幀 
    7.2.6  設置add()函數的局部變量(x, y) 
    7.2.7  ADD運算 
    7.2.8  刪除函數add()的棧幀&函數執行完畢(返回) 
    7.2.9  從棧中刪除函數add()的參數(整理棧) 
    7.2.10  調用printf()函數 
    7.2.11  設置返回值 
    7.2.12  刪除棧幀&main()函數終止 
  7.3  設置OllyDbg選項 
    7.3.1  Disasm選項 
    7.3.2  Analysis1選項 
  7.4  小結 
第8章  abex'crackme #2 
  8.1  運行abex'crackme #2 
  8.2  Visual Basic文件的特徵 
    8.2.1  VB專用引擎 
    8.2.2  本地代碼和偽代碼 
    8.2.3  事件處理程序 
    8.2.4  未文檔化的結構體 
  8.3  開始調試 
    8.3.1  間接調用 
    8.3.2  RT_MainStruct結構體 
    8.3.3  ThunRTMain()函數 
  8.4  分析crackme 
    8.4.1  檢索字符串 
    8.4.2  查找字符串地址 
    8.4.3  生成Serial的演算法 
    8.4.4  預測代碼 
    8.4.5  讀取Name字符串的代碼 
    8.4.6  加密循環 
    8.4.7  加密方法 
  8.5  小結 
  ……
第9章  Process Explorer——最優秀的進程管理工具
第10章  函數調用約定
第11章  視頻講座
第12章  究竟應當如何學習代碼逆向分析

第二部分  PE文件格式
第13章  PE文件格式
第14章  運行時壓縮
第15章  調試UPX壓縮的notepad程序
第16章  基址重定位表
第17章  從可執行文件中刪除.reloc節區
第18章  UPack PE文件頭詳細分析
第19章  UPack調試-查找OEP
第20章  「內嵌補丁」練習
第三部分  DLL註入
第21章  Windows消息鉤取
第22章  惡意鍵盤記錄器
第23章  DLL註入
第24章  DLL卸載
第25章  通過修改PE加載DLL
第26章  PE Tools
第27章  代碼註入
第28章  使用彙編語言編寫註入代碼
第四部分  API鉤取
第29章  API鉤取:逆向分析之「花」
第30章  記事本WriteFile() API鉤取)  300
第31章  關於調試器
第32章  計算器顯示中文數字
第33章  隱藏進程
第34章  高級全局API鉤取:IE連接控制
第35章  優秀分析工具的五種標準
第五部分  64位&Windows內核6
第36章  64位計算
第37章  x64處理器
第38章  PE32+
第39章  WinDbg
第40章  64位調試
第41章  ASLR
第42章  內核6中的會話
第43章  內核6中的DLL註入
第44章  InjDll.exe:DLL註入專用工具
第六部分  高級逆向分析技術
第45章  TLS回調函數
第46章  TEB
第47章  PEB
第48章  SEH
第49章  IA-32指令
第七部分  反調試技術
第50章  反調試技術
第51章  靜態反調試技術
第52章  動態反調試技術
第53章  高級反調試技術
第八部分  調試練習
第54章  調試練習1:服務
第55章  調試練習2:自我創建

第56章  調試練習3:PE映像切換
第57章  調試練習4:Debug Blocker
結束語
索引