注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)信息安全Binary Hacks:黑客秘笈100選

Binary Hacks:黑客秘笈100選

Binary Hacks:黑客秘笈100選

定 價:¥39.00

作 者: (日)高林哲 等著,蔣斌,楊超 譯
出版社: 中國電力出版社
叢編項:
標(biāo) 簽: 信息安全

ISBN: 9787508387932 出版時間: 2010-01-01 包裝: 平裝
開本: 18開 頁數(shù): 370 字?jǐn)?shù):  

內(nèi)容簡介

  《Binary Hacks:黑客秘笈100選》的主題是關(guān)于底層程序的技術(shù)。說到底層,就是和“原始的”計算機很接近的意思。軟件的世界是一個抽象化的積累,逐步演化到現(xiàn)在的階段。抽象化就是隱藏底層的復(fù)雜部分,相比較來說是可以提高生產(chǎn)性、安全性的方法,并給開發(fā)者提供程序化的手段。但是,如果認(rèn)為完全不依賴底層系統(tǒng)級的技術(shù)來進行編程,這是行不通的。追求性能上的最佳,盡可能提高可信賴性,想解決偶爾發(fā)生的“謎一樣的錯誤”,在這些情況下,了解底層系統(tǒng)級的技術(shù)就顯得尤為重要。遺憾的是,抽象化并不能代替所有的?!禕inary Hacks:黑客秘笈100選》的目的就是在上述的情況下,都能使用的大量Know-how的介紹。《Binary Hacks:黑客秘笈100選》Binary Hack定義為“能驅(qū)動軟件的底層技術(shù)的Know-how”,從最基本的工具使用開始,安全編程,OS到提高處理器的處理性能的技術(shù),在一個很寬泛的范圍內(nèi)都進行了說明。

作者簡介

暫缺《Binary Hacks:黑客秘笈100選》作者簡介

圖書目錄

本書寄語
編寫說明
前言
第1章 介紹
1.Binary Hack入門
2.Binary Hack用語的基礎(chǔ)知識
3.用File查詢文件的類型
4.用0d轉(zhuǎn)儲二進制文件
第2章 目標(biāo)文件Hack
5.ELF入門
6.靜態(tài)鏈接庫和共享庫
7.通過Idd查閱共享庫的依賴關(guān)系
8.用readelf表示ELF文件的信息
9.用objdump來轉(zhuǎn)儲目標(biāo)文件
10.用objdump反匯編目標(biāo)文件
11.用objcopy嵌入可執(zhí)行文件的數(shù)據(jù)
12.用nm檢索包含在目標(biāo)文件里的符號
13.用strings從二進制文件中提取字符串
14.用c++filt對c++的符號進行轉(zhuǎn)儲
15.用addr2line從地址中獲取文件名和行號
16.用strip刪除目標(biāo)文件中的符號
17.用ar操作靜態(tài)鏈接庫
18.在鏈接C程序和C++程序時要注意的問題
19.注意鏈接時的標(biāo)識符沖突
20.建立GNu,Linux的共享庫,為什么要用PIC編譯
21.用statifier對動態(tài)鏈接的可執(zhí)行文件進行模擬靜態(tài)鏈接
第3章 GNU編程Hack
22.GCC的GNU擴展入門
23.在GCc上使用內(nèi)聯(lián)匯編(inline assembler)
24.活用在GCC的built in函數(shù)上的最優(yōu)化
25.不使用glibc寫Hello World
26.使用TLS(Thread—Local Stotage)
27.根據(jù)系統(tǒng)不同用glibc來更換加載庫
28.由鏈接后的庫來變換程序的運行
29.控制對外公開庫的符號
30.在對外公開庫的符號上利用版本來控制動作
31.在main()的前面調(diào)用函數(shù)
32.GCC根據(jù)生成的代碼來生成運行時的代碼
33.允許/禁止運行放置在stack里的代碼
34.運行放置在heap上的代碼
35.建成PIE(位置獨立運行形式)
36.用C++書寫同步方法(synchronized method)
37.用C++生成singleton
38.理解g++的異常處理(thrOW篇)
39.理解g++的異常處理(sjLj篇)
40.理解g++的異常處理(DwARF2篇)
41.理解g++異常處理的成本
第4章 安全編程Hack
42.GCC安全編寫入門
43.用一ftrapv檢測整數(shù)溢出
44.用Mudflap檢測出緩沖區(qū)溢出
45.用一D—FORTIFY—SOuRcE檢測緩;中區(qū)溢出
46.用一fstack—protectm‘保護堆棧
47.將進行位遮蔽的常量無符號化
48.注意避免移位過大
49.注意64位環(huán)境中0和NULL的不同之處
50.POSIx的線程安全函數(shù)
51.安全編寫信號處理的方法
52.用sigwait將異步信號進行同步處理
53.用sigsafe將信號處理安全化
54.用Valgrind檢測出內(nèi)存泄漏
55.使用Valgrind檢測出錯誤的內(nèi)存訪問
56.用Helgrind檢測出多線程程序的bug
57.用fakeroot在相似的root權(quán)限中運行進程
第5章 運行時Hack
58.程序轉(zhuǎn)變成main()
59.怎樣調(diào)用系統(tǒng)調(diào)用
60.用LD-PRELOAD更換共享庫
61.用LD-PRELOAD來lap既存的函數(shù)
62.用dlopen進行運行時的動態(tài)鏈接
63.用c表示回溯
64.檢測運行中進程的路徑名
65.檢測正在加載的共享庫
66.掌握process和動態(tài)庫map memory
67.用libbfd取得符號的一覽表
68.運行c++語言時進行demangle
69.用ffcall動態(tài)決定簽名,讀出函數(shù)
70.用1ibdwaif取得調(diào)試信息
71.通過dumper簡化dump結(jié)構(gòu)體的數(shù)據(jù)
72.自行加載目標(biāo)文件
73.通過libunwind控制call chain
74.用GNU lightning Portable生成運行編碼
75.獲得stack的地址
76.用sigaltstack處理stack overflow
77.hook面向函數(shù)的enter/exit
78.從signal handler中改寫程序的context
79.取得程序計數(shù)器的值
80.通過自動改寫來改變程序的操作
81.使用sIGSEGV來確認(rèn)地址的有效性
82.用strace來跟蹤系統(tǒng)調(diào)用
83.用1trace來跟蹤進程調(diào)用共享庫的函數(shù)
84.用Jockey來記錄、再生Linux的程序運行
85.用prelink將程序啟動高速化
86.通過livepatch在運行中的進程上發(fā)布補丁
第6章 profile調(diào)試器Hack
87.使用gprof檢索profile
88.使用sysprof搜索系統(tǒng)profile
89.使用optofile獲取詳細(xì)的系統(tǒng)profile
90.使用GDB操作運行進程
91.使用硬件調(diào)試的功能
92.c程序中break point的設(shè)定可以用斷點這個說法
第7章 其他的Hack
93.Boehm GC的結(jié)構(gòu)
94.請注意處理器的存儲器順序
95.對Poitable foroutine Library(PcL)進行輕量的并行處理
96.計算cPu的clock數(shù)
97.浮點數(shù)的bit列表現(xiàn)
98.x86的浮點數(shù)運算命令的特殊性
99.用結(jié)果無限大和NaN化運算來生成信號
100.文獻介紹

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號