Linux x86 匯編語言視角下的 shellcode 開發與分析

劉曉陽

  • 出版商: 清華大學
  • 出版日期: 2025-07-01
  • 售價: $414
  • 貴賓價: 9.5$393
  • 語言: 簡體中文
  • 頁數: 250
  • ISBN: 730269446X
  • ISBN-13: 9787302694465
  • 相關分類: kali-linux
  • 立即出貨

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

相關主題

商品描述

"本書將基於Kali Linux系統介紹x86匯編語言程序的開發方法,從理論基礎出發,結合實戰項目,詳細闡述匯編語言的語法規則和shellcode機器碼的編寫流程和分析方法,以及加密和混淆shellcode機器碼的方式。

本書共12章,第1~3章詳細講述Kali Linux的使用方法,從搭建Kali Linux虛擬機環境開始,逐步深入介紹Linux系統命令,以及調試器gdb基本用法等相關內容。第4~7章將介紹匯編語言的基礎語法規則,包括數據操作、流程控制、函數定義與調用,以及調用庫函數的方法。第8~12章闡述了使用匯編語言開發shellcode機器碼的流程、加密和混淆shellcode的方式,以及分析Metasploit工具內置Linux shellcode的方法。

本書示例代碼豐富,實際性和系統性較強,詳細闡述每個案例,助力讀者透徹地理解書中的重點、難點。本書既適合初學者入門,對於工作多年的安全工程師也有參考價值,並可作為高等院校和培訓機構相關專業的教學參考書。

作者簡介

劉曉陽,多年來一直從事網絡安全方面的教學和研究工作。在網絡滲透測試方面有十分豐富的實踐經驗,擅長對企業內網的滲透測試、開發紅隊安全工具的相關技術。已出版《惡意代碼逆向分析基礎詳解》等計算機網絡安全圖書。

目錄大綱

本書源碼

第1章搭建匯編語言開發環境

1.1創建虛擬機實驗環境

1.1.1虛擬機軟件

1.1.2輕松安裝虛擬機軟件

1.1.3Linux系統的基本概念

1.1.4導入Kali的虛擬機文件

1.2構建匯編開發工具包

1.2.1編寫第1個匯編程序

1.2.2編譯與鏈接匯編程序

第2章輕松掌握Linux命令行

2.1Linux文件管理

2.1.1Linux文件系統結構

2.1.2常用文件管理命令

2.2Linux權限管理

2.2.1Linux用戶的分類

2.2.2Linux的文件權限

2.3Linux網絡管理

2.3.1配置網絡IP地址

2.3.2測試網絡連通性

2.4VIM的基本用法

2.5Shell腳本基礎

第3章輕松調試可執行程序

3.1探索程序的基本原理

3.1.1存儲數據的基本格式

3.1.2編程語言的發展歷史

3.2初識Linux程序調試器

3.2.1淺析調試程序的原理

3.2.2調試器gdb的基本用法

第4章匯編語言中的數據操作

4.1常量與變量

4.1.1內存空間的分段

4.1.2不同格式的字面量

4.1.3定義常量的方法

4.1.4定義變量的方法

4.1.5調試常量與變量程序

4.2數據傳送

4.2.1寄存器與內存地址

4.2.2MOV指令

4.2.3LEA指令

4.2.4XCHG指令

4.3算術運算

4.3.1加法

4.3.2減法

4.3.3乘法

4.3.4除法

4.3.5自增

4.3.6自減

4.4邏輯運算

4.4.1邏輯與

4.4.2邏輯或

4.4.3邏輯非

4.4.4邏輯異或

第5章匯編語言中的控制結構

5.1順序結構

5.2選擇結構

5.2.1結束指令

5.2.2比較指令

5.2.3跳轉指令

5.3循環結構

5.3.1計數循環

5.3.2條件循環

5.3.3無限循環

第6章匯編語言中的函數

6.1函數的定義與調用

6.1.1定義函數的指令

6.1.2調用函數的指令

6.1.3分析函數案例

6.2程序棧幀

6.2.1初識棧結構

6.2.2x86棧空間

6.2.3函數序言

6.2.4函數尾聲

6.2.5分析棧幀案例

第7章匯編語言調用系統庫函數

7.1函數調用約定

7.1.1fastcall調用約定

7.1.2stdcall調用約定

7.1.3cdecl調用約定

7.2初識系統庫函數

7.2.1系統調用與庫函數的區別

7.2.2系統庫函數的分類

7.2.3調用庫函數的方法

第8章初識shellcode代碼

8.1shellcode的來源

8.1.1使用msfvenom生成shellcode

8.1.2從第三方網站獲取shellcode

8.2C語言實現shellcode加載程序

8.2.1基於Windows的shellcode加載程序

8.2.2實現跨平臺shellcode加載程序

8.3實現第1個shellcode

8.3.1編寫正常退出的程序

8.3.2解決壞字節問題的方法

8.3.3編寫並測試shellcode

第9章輕松編寫shellcode代碼

9.1執行/bin/sh程序的shellcode

9.1.1/bin/sh程序

9.1.2硬編碼問題

9.1.3解決硬編碼問題

9.1.4實現jmpcallpop版的shellcode

9.1.5實現push stack版的shellcode

9.2綁定類型的shellcode

9.2.1Bind shellcode套接字原理

9.2.2實現Bind shellcode

9.3反向類型的shellcode

9.3.1反向shellcode套接字原理

9.3.2實現反向shellcode

9.3.3自定義IP和端口號的反向shellcode

第10章解析shellcode代碼的加密技術

10.1基於XOR加解密shellcode

10.1.1XOR算法的基本原理

10.1.2實現XOR算法的加解密

10.2基於RC4加解密shellcode

10.3基於AES加解密shellcode

第11章解析shellcode代碼的混淆技術

11.1基於IPv4混淆shellcode代碼

11.1.1IPv4混淆的基本原理

11.1.2實現IPv4混淆shellcode

11.1.3將IPv4地址還原為shellcode

11.2基於MAC地址混淆shellcode代碼

11.2.1MAC地址混淆的基本原理

11.2.2實現MAC地址混淆shellcode

11.2.3將MAC地址還原為shellcode

第12章實戰分析Metasploit內置的shellcode

12.1常用分析工具

12.1.1構建Libemu環境

12.1.2反匯編工具ndisasm

12.2分析綁定shellcode

12.3分析反向shellcode

類似商品