注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語言/工具老碼識途:從機(jī)器碼到框架的系統(tǒng)觀逆向修煉之路

老碼識途:從機(jī)器碼到框架的系統(tǒng)觀逆向修煉之路

老碼識途:從機(jī)器碼到框架的系統(tǒng)觀逆向修煉之路

定 價(jià):¥56.00

作 者: 韓宏 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì)

ISBN: 9787121173820 出版時(shí)間: 2012-08-01 包裝: 平裝
開本: 16開 頁數(shù): 344 字?jǐn)?shù):  

內(nèi)容簡介

  《老“碼”識途:從機(jī)器碼到框架的系統(tǒng)觀逆向修煉之路》以逆向反匯編為線索,自底向上,從探索者的角度,原生態(tài)地刻畫了對系統(tǒng)機(jī)制的學(xué)習(xí),以及相關(guān)問題的猜測、追蹤和解決過程,展現(xiàn)了系統(tǒng)級思維方式的淬煉方法。該思維方式是架構(gòu)師應(yīng)具備的一種重要素質(zhì)。本書內(nèi)容涉及反匯編、底層調(diào)試、鏈接、加載、鉤子、異常處理、測試驅(qū)動(dòng)開發(fā)、對象模型和機(jī)制、線程類封裝、跨平臺技術(shù)、插件框架、設(shè)計(jì)模式、GUI框架設(shè)計(jì)等。書中包含不少工業(yè)級或非公開案例。讀者不僅能以底層觀和調(diào)試技巧解決各種實(shí)際問題;還可掌握一套學(xué)習(xí)方法,如“猜測—實(shí)證—構(gòu)建”,調(diào)構(gòu)學(xué)習(xí)法。

作者簡介

暫缺《老碼識途:從機(jī)器碼到框架的系統(tǒng)觀逆向修煉之路》作者簡介

圖書目錄

\第1章  欲向碼途問大道,鏘鏘bit是吾刀
1.1  全局變量引發(fā)的故事
1.1.1  剖析賦值語句機(jī)器碼
1.1.2  修改賦值語句機(jī)器碼
1.1.3  直接構(gòu)建新的賦值語句
1.1.4  小結(jié)
1.2  理解指針和指針強(qiáng)制轉(zhuǎn)換
1.2.1  指針和它丟失的類型信息
1.2.2  指針強(qiáng)制轉(zhuǎn)換
1.3  函數(shù)調(diào)用和局部變量
1.3.1  計(jì)算指令中的跳轉(zhuǎn)地址
1.3.2  返回故鄉(xiāng)的準(zhǔn)備
1.3.3  給函數(shù)傳遞參數(shù)
1.3.4  函數(shù)獲取參數(shù)
1.3.5  局部變量
1.3.6  返回故鄉(xiāng)
1.3.7  返回點(diǎn)什么
1.3.8  掃尾工作
1.3.9  調(diào)用慣例
1.3.10  函數(shù)指針
1.4  數(shù)組、結(jié)構(gòu)體
1.4.1  數(shù)組
1.4.2  結(jié)構(gòu)體
1.5  無法溝通——對齊的錯(cuò)誤
1.5.1  結(jié)構(gòu)體對齊
1.5.2  無法溝通
1.6  switch語句的思考
1.6.1  switch機(jī)制探索
1.6.2  switch語句一定比if-else語句快嗎
1.6.3  switch的再次優(yōu)化
1.7  關(guān)于其他高級語言要素的反匯編學(xué)習(xí)
1.8  全局變量的疑問——重定位和程序結(jié)構(gòu)
1.8.1  獨(dú)一無二的全局變量?
1.8.2  不變的地址和重定位
1.8.3  動(dòng)態(tài)鏈接庫中的重定位
1.9  匯編的學(xué)習(xí)之路——閱讀RTL
1.10  程序設(shè)置說明
習(xí)題1第2章  庖丁解“碼”:底層的力量與樂趣
2.1  解密之hello world
2.2  奇怪的死循環(huán)
2.3  我們都犯過的錯(cuò)——指針的指針
2.4  互通的障礙(跨語種調(diào)用)
2.5  錯(cuò)誤的目的地
2.6  網(wǎng)絡(luò)發(fā)送出錯(cuò)了
2.7  為什么代碼運(yùn)行完畢卻出錯(cuò)
2.8  失效的管道
2.8.1  管道的力量
2.8.2  我要控制Telnet客戶端
2.8.3  不是所有管道都可抽象等價(jià)
2.8.4  一動(dòng)不動(dòng)的48小時(shí)
2.9  異常世界歷險(xiǎn)記
2.9.1  學(xué)習(xí)基礎(chǔ)概念
2.9.2  如何返回
2.9.3  那些狀態(tài)保存到哪里了
2.9.4  意外的秘密
習(xí)題2第3章  成長:與程序一起茁壯
3.1  初寫系統(tǒng)
3.1.1  代碼風(fēng)格
3.1.2  常量
3.1.3  最簡單的電話簿(1):功能設(shè)計(jì)和相關(guān)庫函數(shù)學(xué)習(xí)
3.1.4  最簡單的電話簿(2):系統(tǒng)實(shí)現(xiàn),分割函數(shù)
3.1.5  空字符結(jié)尾串的警覺
3.1.6  讓程序更有組織性
3.2  有序的世界:可測試與跟蹤的系統(tǒng)
3.2.1  電話簿擴(kuò)展(1):硬盤結(jié)構(gòu)體數(shù)組
3.2.2  指針的陷阱
3.2.3  動(dòng)態(tài)數(shù)組
3.2.4  變化的壓力與出路:重構(gòu)、單元測試和日志
3.2.5  電話簿擴(kuò)展(2): 可測試的恩賜
3.3  優(yōu)雅的積木
3.3.1  可復(fù)用硬盤數(shù)組
3.3.2  分享它(1):理解編譯鏈接過程
3.3.3  分享它(2):我的丑陋鏈接器
3.3.4  分享它(3):靜態(tài)鏈接庫
3.3.5  分享它(4):動(dòng)態(tài)鏈接庫
3.3.6  積木的藝術(shù)
習(xí) 題 3第4章  讓我們創(chuàng)造面向?qū)ο笳Z言吧
4.1  “封裝”數(shù)據(jù)函數(shù)合一,陳倉暗度this傳遞
4.1.1  那些討厭的事
4.1.2  像芯片一樣工作(1):數(shù)據(jù)合一
4.1.3  像芯片一樣工作(2):行為與數(shù)據(jù)合一
4.1.4  不想讓你傳遞“自己”
4.1.5  創(chuàng)造吧,新的語言
4.1.6  是這樣嗎?我們需要證明
4.2  太麻煩了,需要更簡單的創(chuàng)造與銷毀
4.2.1  創(chuàng)造構(gòu)造和析構(gòu)函數(shù)
4.2.2  構(gòu)造中分配資源,析構(gòu)中釋放資源
4.3  對比C語言的“對象”和面向?qū)ο?br />4.4  體驗(yàn)封裝的力量
4.4.1  生死原點(diǎn),整體資源管理
4.4.2  文件流
4.5  整體資源管理的愛恨
4.5.1  擴(kuò)展技巧:保證成對出現(xiàn),巧妙的自動(dòng)線程鎖
4.5.2  美麗的幻影:不可靠的自動(dòng)析構(gòu)
4.5.3  隱藏的敵人:不請而至的析構(gòu)和拷貝構(gòu)造
4.6  封裝之強(qiáng)化:內(nèi)外之別,親疏之分
4.6.1  私有的誕生
4.6.2  私有?阻止不了我
4.6.3  理解繼承的機(jī)制(1):模型
4.6.4  理解繼承的機(jī)制(2):在C語言中“玩”繼承
4.6.5  保護(hù)的誕生
4.7 “變”的煩惱與出路:創(chuàng)造虛函數(shù)
4.7.1  “三變”之苦:格式化字符串
4.7.2  函數(shù)指針,請帶我走出不斷修改的泥潭
4.7.3  再進(jìn)一步:做成對象
4.7.4  我們需要性能更好的版本
4.7.5  我們需要新語法,創(chuàng)造虛函數(shù)吧
4.7.6  驗(yàn)證虛表機(jī)制(1):反匯編分析
4.7.7  驗(yàn)證虛表機(jī)制(2):直接用虛表來調(diào)用虛函數(shù)
4.8  虛函數(shù)的那些事兒
4.8.1  理解“=”
4.8.2  純虛函數(shù),從dll導(dǎo)入對象
4.8.3  C語言實(shí)現(xiàn)虛函數(shù)
4.8.4  魂歸何處:析構(gòu)之“虛”
4.8.5  理解運(yùn)行期類型判斷dynamic_cast
4.9  靜態(tài)覆蓋
4.10  靜態(tài)與非靜態(tài)成員函數(shù)的區(qū)別
4.11  遙遠(yuǎn)的風(fēng)景:管窺 .NET對象
習(xí)題4  第5章  底層與抽象的混沌:一個(gè)跨平臺線程類的封裝、錯(cuò)誤與進(jìn)化
5.1  先學(xué)習(xí)多線程編程吧
5.1.1  概念
5.1.2  Windows下的線程接口
5.1.3  第一個(gè)線程程序
5.1.4  那些復(fù)雜的參數(shù)和bug
5.2  簡單、重用,讓我們構(gòu)造線程類吧
5.2.1  無賴的嘗試,原來是它——static
5.2.2  可愛的virtual和可恨的this
5.2.3  私有、保護(hù)、公有、只讀、純虛函數(shù),一個(gè)都不能少
5.2.4  析構(gòu)中釋放資源
5.2.5  我們發(fā)現(xiàn)了一個(gè)設(shè)計(jì)模式
5.2.6  我關(guān)心,你通知——我們的第二個(gè)設(shè)計(jì)模式
5.3  跨平臺的線程設(shè)計(jì)
5.3.1  討厭的Linux版本
5.3.2  源代碼跨平臺技術(shù)
5.3.3  跨平臺的版本
5.4  崩潰,哪里出錯(cuò)了
5.4.1  尋找錯(cuò)誤
5.4.2  C++下整體資源管理的反思
5.4.3  生生死死虛表誤,剝離策略世界殊——重生
習(xí)題5第6章  插件養(yǎng)成記
6.1  一個(gè)修改已有功能的實(shí)例
6.2  一個(gè)可以動(dòng)態(tài)添加功能的簡單實(shí)例
6.3  一個(gè)可以動(dòng)態(tài)添加功能的復(fù)雜實(shí)例
6.4  從函數(shù)到插件對象
6.5  delete的災(zāi)難:誰的書
6.5.1  釋放內(nèi)存的崩潰
6.5.2  解決之道:新生活,各管各
習(xí)題6第7章  天堂的階梯
7.1  遙望天堂,那些美麗與簡潔我向往
7.2  從最基礎(chǔ)開始吧,SDK編寫窗體程序
7.2.1  hello window和基本原理
7.2.2  來個(gè)復(fù)雜點(diǎn)的窗體程序
7.3  構(gòu)建我的GUI組件(1):簡單組件
7.4  構(gòu)建我的GUI組件(2):天堂的機(jī)器碼跳板
7.4.1  調(diào)試,我要看清你
7.4.2  我們的自定位代碼
7.4.3  自定位代碼版Button類
7.4.4  自定位代碼版Form類
7.4.5  為什么不錯(cuò)呢
7.5  構(gòu)建我的GUI組件(3):更多的組件
7.6  天堂階梯,玩賞框架那如花散落的繁復(fù)與如索串珠的簡潔之美
7.7  構(gòu)建我的GUI組件(4):我的天堂
7.8  他們的天堂
習(xí)題7

本目錄推薦

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