《天書夜讀:從彙編語言到Windows核心編程》 是2008年10月電子工業出版社出版的圖書,作者是譚文、邵堅磊。
基本介紹
- 書名:天書夜讀:從彙編語言到Windows核心編程
- 作者:譚文、邵堅磊
- ISBN:9787121073397
- 出版社:電子工業出版社
- 出版時間:2008年10月
- 叢書名:驅網核心技術叢書
內容簡介,圖書目錄,
內容簡介
本書從基本的windows程式與彙編指令出發,深入淺出地講解了windows核心的編程、調試、閱讀,以及自行探索的方法。讀者在使用c/c++開發windows程式的基礎上,將熟練掌握彙編和c語言的套用,深入了解windows底層,並掌握閱讀windows核心的基本方法,以及windows核心的基本編程方法。
本書適合使用c/c++在windows上編程的讀者,尤其適合希望加深自己技術功底的windows應用程式員、計算機專業的有志於軟體開發的大中院校學生;專業的windows核心程式設計師,亦可從本書得到超越一般核心程式開發的啟發。
圖書目錄
入手篇 熟悉彙編
第1章 彙編指令與c語言
1.1 上機建立第一個工程
1.1.1用visual studio創建工程
1.1.2用visual studio查看彙編代碼
1.2 簡要複習常用的彙編指令
1.2.1堆疊相關指令
1.2.2數據傳送指令
1.2.3跳轉與比較指令
1.3 c函式的參數傳遞過程
第2章 c語言的流程和處理
2.1 c語言的循環反彙編
2.1.1 for循環
2.1.2 do循環
2.1.3 while循環
2.2 c語言判斷與分支的反彙編
2.2.1 if-else判斷分支
2.2.2 switch-case判斷分支
2.3 c語言的數組與結構
2.4 c語言的共用體和枚舉類型
. 第3章 練習反彙編c語言程式
3.1 算法的反彙編
3.1.1算法反彙編代碼分析
3.1.2算法反彙編閱讀技巧
3.2 發行版的反彙編
3.3 彙編反c語言練習
基礎篇 核心編程
第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.2使用list_entry
4.2.3使用長長整型數據
4.2.4使用自選鎖
第5章 檔案與註冊表操作
5.1 檔案操作
5.1.1使用object_attributes
5.1.2打開和關閉檔案
5.1.3檔案讀/寫操作
5.2 註冊表操作
5.2.1註冊表鍵的打開
5.2.2註冊表值的讀
5.2.3註冊表值的寫
第6章 時間與執行緒
6.1 時間與定時器
6.1.1獲得當前滴答數
6.1.2獲得當前系統時間
6.1.3使用定時器
6.2 執行緒與事件
6.2.1使用系統執行緒
6.2.2線上程中睡眠
6.2.3使用同步事件
第7章 驅動、設備與請求
7.1 驅動與設備
7.1.1驅動入口與驅動對象
7.1.2分發函式和卸載函式
7.1.3設備與符號連結
7.1.4設備的安全創建
7.1.5設備與符號連結的用戶相關性
7.2 請求處理
7.2.1 irp與io_stack_location
7.2.2打開與關閉請求的處理
7.2.3套用層信息傳入
7.2.4驅動層信息傳出
探索篇 研究核心
第8章 進入windows核心
8.1 開始windows核心編程
8.1.1核心編程的環境準備
8.1.2用c語言寫一個核心程式
8.2 學習用windbg進行調試
8.2.1軟體的準備
8.2.2設定windows xp調試執行
8.2.3設定vmware虛擬機調試
8.2.4設定被調試機為vista的情況
8.2.5設定windows核心符號表
8.2.6調試例子diskperf
8.3 認識核心代碼函式調用方式
8.4 嘗試反寫c核心代碼
8.5 如何在代碼中尋找需要的信息
第9章 用c++編寫的核心程式
9.1 用c++開發核心程式
9.1.1建立一個c++的核心工程
9.1.2使用c接口標準聲明
9.1.3使用類靜態成員函式
9.1.4實現new操作符
9.2 開始閱讀一個反彙編的類
9.2.1 new操作符的實現
9.2.2構造函式的實現
9.3 了解更多的c++特性
第10章 繼續探索windows核心
10.1 探索windows已有核心調用
10.2 自己實現xp的新調用
10.2.1對照調試結果和數據結構
10.2.2寫出c語言的對應代碼
10.3 沒有符號表的情況
10.4 64位作業系統下的情況
10.4.1分析64位作業系統的調用
10.4.2深入了解64位核心調用參數傳遞
深入篇 修改核心
第11章 機器碼與反彙編引擎
11.1 了解intel的機器碼
11.1.1可執行指令與數據
11.1.2單條指令的組成
11.1.3 mod-reg-r/m的組成
11.1.4其他的組成部分
11.2 反彙編引擎xde32基本數據結構
11.3 反彙編引擎xde32具體實現
第12章 cpu許可權級與分頁機制
12.1 ring0和ring3許可權級
12.2 保護模式下的分頁記憶體保護
12.3 分頁記憶體不可執行保護
12.3.1不可執行保護原理
12.3.2不可執行保護的漏洞
12.4 許可權級別的切換
12.4.1調用門及其漏洞
12.4.2 sysenter和sysexit指令
第13章 開發windows核心hook
13.1 xp下hook系統調用iocalldriver
13.2 vista下iofcalldriver的跟蹤
13.3 vista下inline hook
13.3.1寫入跳轉指令並拷貝代碼
13.3.2實現中繼函式
實戰篇 實際開發
第14章 反病毒、木馬實例開發
14.1 反病毒、木馬的構想
14.2 開發核心驅動
14.2.1在核心中檢查執行檔
14.2.2在核心中生成設備接口
14.2.3在核心中等待監控進程的回響
14.3 開發監控進程
14.4 本軟體進一步展望
第15章 rootkit與hips
15.1 rootkit為何很重要
15.2 rootkit如何逃過檢測
15.3 hips如何檢測rootkit
第16章 手寫指令保護代碼
16.1 混淆字元串
16.2 隱藏核心函式
16.3 混淆流程與數據操作
16.3.1混淆函式出口
16.3.2插入有意義的花指令
第17章 用vmprotect保護代碼
17.1 安裝vmprotect
17.2 使用vmprotect
17.3 查看vmprotect效果
參考文獻