Binary Hacks Rebooted: 探索底層世界的89個實戰技法 | 誠品線上

Binary Hacks Rebooted: 低レイヤの世界を探検するテクニック89選

作者 河田旺/ 小池悠生/ 渡邉慶一/ 佐伯學哉/ 荒田實樹
出版社 聯合發行股份有限公司
商品描述 Binary Hacks Rebooted: 探索底層世界的89個實戰技法:⭐⭐⭐傳奇名著,強勢回歸⭐⭐⭐「連核心駭客都未必知道的極致技巧,全都在此」LinuxKernelHacker、RubyCommitter小

內容簡介

內容簡介 ⭐⭐⭐ 傳奇名著,強勢回歸 ⭐⭐⭐ 「連核心駭客都未必知道的極致技巧,全都在此」 Linux Kernel Hacker、Ruby Committer小崎資廣 推薦!! 本書是一部聚焦於底層程式開發的Hack技巧集,是由2006年出版的《Binary Hacks》一書重新編寫而成。 所謂底層,是指抽象化程度較低、接近電腦運作的層次,而Hack則是指以巧妙的方式解決問題的手法。 現在的電腦系統是層層堆疊而成的,藉由抽象化的層疊設計,實現了豐富且多樣的功能。由於每一層都經過巧妙設計,多數情況下,我們只需使用其功能,而無須深入理解內部運作。 儘管如此,我們有時仍需要剝開抽象化的各個層次,仔細查看系統內部。這可能是為了理解抽象機制本身,或是活用那些被抽象層所隱藏的功能,例如想優化效能、進行與安全性有關的程式開發等。更重要的是,探索這些層次本身及其底下的運作原理,是非常有趣的一件事。在開發人員們累積至今的每個元件及其組合中,總是會有新發現。 本書精選89個Hack,作為通往底層世界的多重入口,帶你逐步深入系統核心。

作者介紹

作者介紹 河田旺 軟體工程師,從事特定用途晶片的編譯器與執行階段開發,亦涉獵二進位相關軟體維護。京都大學資訊學碩士,專攻類型論。 小池悠生 GMO Cybersecurity by Ierae 執行長,資安與 CTF 專家。曾為 DEFCON CTF 決賽最年輕參賽者,兩度晉級 ICPC 世界賽。熱衷底層技術與系統原始碼研究。 渡邉慶一 外資 IT 企業作業系統工程師,虛擬化技術團隊主管。東京大學資訊工程碩士,專長函式型程式驗證與編譯器實作,關注安全運算相關技術。 佐伯學哉 軟體工程師,專注作業系統與虛擬機開發。東京大學資訊工程碩士。長期投入系統程式設計與實驗性專案。 荒田實樹 數學背景軟體工程師,從事 Python 開發,興趣為函數式語言與編譯器設計。專注 Haskell 與 Standard ML,並深入研究浮點數與數值計算。

產品目錄

產品目錄 推薦序 執筆群 引言 第 1 章 入門 #1 如何閱讀未知的二進位文件 #2 組合語言入門 #3 重溫 Hello, World! 第 2 章 ELF Hack #4 ELF 檔案的區段 #5 利用 ld-linux.so 的環境變數 #6 搜尋共享函式庫時所搜尋的目錄 #7 使用 dlopen 於執行時載入函式庫及其應用技巧 #8 運用 IFUNC 於執行時切換實作 #9 ELF 的雜湊表的運作原理 #10 理解 TLS 的運作原理 #11 查看核心檔案 #12 使用輔助向量將資訊傳遞給程序 #13 靜態連結與 ASLR 的關係 #14 使用 sold 之後再連結所倚賴的共享函式庫 #15 破解 glibc #16 用 patchelf 改寫 ELF 二進位文件的欄位 #17 用 LIEF 改寫 ELF 二進位文件 #18 使用了 PT_NOTE 的二進位修補程式 #19 執行 DWARF Expression:DWARF I #20 用 DWARF 計算算式:DWARF II #21 以 DWARF 輸出到標準輸出:DWARF III 第 3 章 OS Hack #22 可執行檔及其啟動方式 #23 在 Linux 上使用 Huge Page #24 使用 CRIU 保存及恢復程序 #25 掌握 procfs sysfs 的基礎知識 #26 依用途選擇檔案系統 #27 替換特定程序可見的檔案 #28 使用 FUSE 自製檔案系統 #29 特殊的記憶體範圍 vsyscall 與 vDSO #30 使用 KVM 建立虛擬機器監視器 #31 Linux 核心 Hack 入門 #32 Unikernel:將應用程式做為作業系統來運作 #33 UEFI 與 Secure Boot #34 以 GNU 工具鏈輸出機器語言檔案 #35 建立在 QEMU 上運作的韌體 #36 在 Chromebook 上執行自製韌體 第 4 章 容器 Hack #37 使用 Linux 命名空間來隔離程序 #38 用 cgroup 管理程序的資源 #39 用 chroot pivot_root 切換根目錄 #40 讓一般使用者能像 root 一樣操作的 3 種方法 #41 rootless 容器的使用方法及其運作原理 #42 在使用者命名空間內建立各種命名空間 #43 從 proc PID root 直接存取容器內的檔案 第 5 章 偵錯工具與追蹤器 Hack #44 gdb 小訣竅 #45 使用 rr 進行 Record and Replay 偵錯 #46 用 Sanitizer 找出底層錯誤:Sanitizer I #47 Address Sanitizer 的運作原理:Sanitizer II #48 Linux 效能分析入門 #49 使用 ftrace 追蹤核心內發生的事 #50 使用了 eBPF 的追蹤入門 #51 用 DBI 追蹤及改變所執行的命令 #52 用 Intel PT 迅速追蹤 第 6 章 安全性 Hack #53 以 seccomp 限制程序可使用的系統呼叫 #54 以 Landlock 建立非特權程序沙箱 #55 ASLR:針對未經授權之記憶體存取的安全機制 #56 ROP:惡意利用記憶體損害的標準攻擊手法 #57 Intel CET:針對 ROP 的安全機制 #58 透過 Clang CFI 偵測未經授權的控制流程 #59 觀察堆疊框的變化 #60 模糊測試的概要與分類 #61 用灰箱模糊測試找出錯誤與漏洞 #62 用 LibAFL 實作 Fuzzer #63 改良以 LibAFL 實作的 Fuzzer #64 使用 angr 進行符號執行 #65 BadUSB:欺騙使用者的 USB 裝置 #66 Row Hammer:針對 DRAM 漏洞的攻擊手法 #67 Meltdown 與 Spectre:針對 CPU 漏洞的攻擊手法 第 7 章 數值表示與資料處理 Hack #68 整數表示的基礎知識 #69 各式各樣的整數表示法 #70 理解浮點數的位元串表示 #71 浮點例外 #72 改變浮點數的捨入方式 #73 對抗涉及浮點環境之程式碼的編譯器最佳化 #74 深入探索 NaN #75 關於各個架構間的浮點數差異 #76 SIMD 命令集的基礎知識 #77 撰寫 SIMD 平行化程式碼 #78 使用了 SIMD 命令的各種技術 第 8 章 語言處理系統 Hack #79 利用 NaN 將標記值存放在 64 位元值中 #80 以 ucontext.h 實作共常式 #81 Profile Guided Optimization #82 使用 LD_PRELOAD 來替換記憶體配置器 #83 瞭解 ABI 與呼叫慣例 #84 使用 libffi 呼叫於執行時才知道其簽章的函式 #85 於執行時產生機器語言 #86 使用 GCC Clang 的內建函式 第 9 章 其他 Hack #87 用語集 #88 Binary Hacks 所需之工具 #89 文獻介紹 索引

商品規格

書名 / Binary Hacks Rebooted: 探索底層世界的89個實戰技法
作者 / 河田旺 小池悠生 渡邉慶一 佐伯學哉 荒田實樹
簡介 / Binary Hacks Rebooted: 探索底層世界的89個實戰技法:⭐⭐⭐傳奇名著,強勢回歸⭐⭐⭐「連核心駭客都未必知道的極致技巧,全都在此」LinuxKernelHacker、RubyCommitter小
出版社 / 聯合發行股份有限公司
ISBN13 / 9786264253208
ISBN10 /
EAN / 9786264253208
誠品26碼 / 2683144891000
頁數 / 656
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 15.5X23X3.05CM
級別 / N:無

最佳賣點

最佳賣點 : ⭐⭐⭐ 傳奇名著,強勢回歸 ⭐⭐⭐
「連核心駭客都未必知道的極致技巧,全都在此」
Linux Kernel Hacker、Ruby Committer小崎資廣 推薦!!