出版時間:2004-11 出版社:電子工業(yè)出版社 作者:飛天誠信科技公司 頁數(shù):443 字數(shù):572000
Tag標(biāo)簽:無
內(nèi)容概要
本書不但由淺入深地講解了軟件保護技術(shù),而且還精選并剖析了一些破解實例,并從一定的角度透視解密者的心態(tài),在多處對照了軟件保護與破解的思維方法。主要內(nèi)容有:軟件加密的發(fā)展歷史、誤區(qū)、方法,以及與特定語言相關(guān)的軟件加密技術(shù);破解技術(shù)剖析,以及常見的軟件加密薄弱環(huán)節(jié);PE技術(shù)、實戰(zhàn)外殼加密與反脫殼技術(shù)(附大量示例源碼),并提供了作者自己編寫的小工具(加殼工具PEMaker等);調(diào)試技術(shù)與反調(diào)試技術(shù)(附大量示例源碼);軟件加密技巧與整體方案設(shè)計;加密鎖分類及其使用技巧(智能卡加密鎖)。 本書是作者多年從事軟件保護所積累的經(jīng)驗和心得,有很強的實用性,本書主要面向軟件開發(fā)商、對軟件加密和解密有濃厚興趣的讀者。
書籍目錄
第1章 軟件加密綜述 1.1軟件加密的發(fā)展歷史 1.2軟件加密方式的確定因素 1.3軟件保護的應(yīng)用模式 1.4軟件加密的誤區(qū) 1.5軟件加密的代價第2章 方法 2.1密碼表 2.2軟盤加密 2.2.1軟盤的構(gòu)造和原理 2.2.2軟盤驅(qū)動器的結(jié)構(gòu)原理 2.2.3軟盤控制器 2.2.4終極軟盤控制方法--直接I/O 2.2.5軟盤加密技術(shù)與技巧 2.3電子注冊 2.3.1用戶名/密碼 2.3.2計算機信息 2.3.3Keyfile或Licensefile 2.4光盤加密 2.4.1光盤的構(gòu)造和原理 2.4.2常見的光盤加密方法 2.4.3光盤加密的缺點 2.5硬件加密 2.5.1硬件加密的發(fā)展史 2.5.2硬件加密的原理 2.5.3市面上常見的加密鎖第3章 破解 3.1了解解密者 3.1.1解密者的心態(tài) 3.1.2解密者的水平 3.1.3解密者的思路 3.2Patch,Serial和KeyMaker--地下世界的規(guī)則 3.2.1文件補丁(FilePatch) 3.2.2內(nèi)存補丁(Memo~Patch) 3.2.3序列碼(SerialNumber) 3.2.4注冊機(KeyMaker) 3.3另類破解 3.3.1內(nèi)存快照 3.3.2暴力破解 3.3.3溢出攻擊 3.4解密者的工作流程 3.4.1研究保護方法 3.4.2脫殼 3.4.3辨別開發(fā)工具 3.4.4靜態(tài)分析 3.4.5動態(tài)分析 3.4.6解密工具 3.4.7反編譯 3.5軟件保護的薄弱環(huán)節(jié) 3.5.1軟件的安裝與卸載 3.5.2軟件調(diào)用動態(tài)鏈接庫 3.5.3暴露信息的系統(tǒng)API調(diào)用 3.5.4一個被放大的加密點 3.5.5加密點的安排第4章 語言 4.1解釋與編譯 4.1.1編譯 4.1.2解釋 4.1.3編譯型語言 4.1.4解釋型語言 4.2永遠的匯編語言 4.2.1各代微處理器的寄存器的區(qū)別 4.2.2存儲器尋址的實地址方式和保護虛擬地址方式 4.2.3尋址方式概述 4.2.4常用指令概述 4.3Java代碼的保護 4.3.1類文件格式 4.3.2Java虛擬機 4.3.3Java的安全性 4.3.4Java類文件的保護 4.4虛擬機保護策略 4.4.1虛擬計算機簡介 4.4.2虛擬機保護策略的具體實現(xiàn) 4.4.3如何用TINY來保護軟件第5章 外殼 5.1什么是外殼 5.2與殼有關(guān)的技術(shù) 5.3PE基礎(chǔ)知識 5.3.1WIN32可執(zhí)行程序的加載 5.3.2虛擬地址 5.3.3RVA 5.3.4導(dǎo)出函數(shù)表 5.3.5引入函數(shù)表及引入函數(shù)地址表 5.3.6Section及Section表 5.3.7編譯器、Obi文件 5.3.8鏈接器、Lib文件 5.3.9WIN32ASM 5.3.10調(diào)用方式 5.3.11局部變量全局變量 5.3.12PE文件頭 5.4加殼與脫殼 5.4.1殼的識別 5.4.2使用ProcDump實現(xiàn)自動脫殼 5.4.3找入口點(OEP) 5.4.4引入表修復(fù) 5.4.5打造自己的外殼 5.5實戰(zhàn)自己的外殼 5.5.1PEM[aker使用 5.5.2指針、函數(shù)指針 5.5.3在程序啟動前添加MessageBox 5.5.4在啟動時做更多的事 5.5.5Windows程序入口 5.5.6殼的入口函數(shù) 5.5.7置換引入函數(shù)表實現(xiàn)HookExitProcess 5.5.8代碼、數(shù)據(jù) 5.5.9對代碼進行異或加密 5.5.10殼內(nèi)自檢 5.5.11基址重定位 5.6關(guān)于殼的擴充 5.6.1規(guī)避防毒軟件 5.6.2增加區(qū)塊 5.6.3增加程序引用的動態(tài)庫 5.6.4在殼中應(yīng)用線程 5.6.5定時訪問加密鎖 5.6.6利用Sleep實現(xiàn)定時檢測 5.6.7WndProcHook簡易法 5.6.8在殼中應(yīng)用C抖第6章 信息 6.1如何獲得用戶的身份 6.2什么樣的信息是我們需要的 6.2.1獲取網(wǎng)卡的MAC地址 6.2.2獲取CPU的信息 6.2.3獲取硬盤序列號信息 6.3密碼學(xué)應(yīng)用 6.3.1密碼學(xué)的定義 6.3.2密碼學(xué)的分類 6.3.3常用密碼算法介紹 6.3.4密碼學(xué)的應(yīng)用 6.3.5密碼學(xué)的局限性 6.4網(wǎng)絡(luò)認證第7章 調(diào)試 7.1調(diào)試工具介紹 7.1.1NuMega公司的SoftICE調(diào)試器 7.1.2WinDbg簡介 7.1.3國產(chǎn)調(diào)試器TRW 7.1.4用戶級調(diào)試器011yDebugger 7.2靜態(tài)分析與反靜態(tài)分析 7.2.1識別文件信息 7.2.2帶有反匯編功能的二進制編輯器 7.2.3反匯編工具 7.2.4花指令 7.3反跟蹤 7.3.1調(diào)試器檢測 7.3.2CC斷點的檢測、補丁系統(tǒng)動態(tài)庫 7.3.3API變址調(diào)用 7.3.4讓SoffiCE崩潰的技術(shù) 7.3.5AntiUIDebugger 7.3.6AntiSpy++ 7.3.7結(jié)構(gòu)化異常 7.4反補丁 7.5反脫殼 7.5.1一次性代碼 7.5.2核內(nèi)殼 7.5.3代碼塊動態(tài)加解密 7.5.4API重定向 7.5.5APIRledir 7.5.6AdvAPIHook 7.5.7Anti沖擊波2000 7.6反加載 7.7Win32Debug-API 7.7.1Debug-APl的使用 7.7.2Debug-API的應(yīng)用 7.8Monitor監(jiān)視技術(shù) 7.8.1監(jiān)視技術(shù)簡介 7.8.2市面常見的監(jiān)視工具簡介第8章 技巧 8.1時間控制的技巧 8.2帶有迷惑性的代碼 8.2.1分身的字符串 8.2.2捕捉解密者的陷阱 8.2.3虛假的錯誤信息 8.2.4驗證的時機 8.3邏輯的迷宮 8.4消息接口DLL 8.5類加密 8.5.1基類加密 8.5.2簡單數(shù)據(jù)類型加密 8.6用消息隱藏程序的流程第9章 加密鎖 9.1加密鎖簡介 9.2加密鎖的歷史 9.2.1第一代邏輯電路加密鎖 9.2.2第二代存儲器加密鎖 9.2.3第三代邏輯電路加存儲器加密鎖 9.2.4第四代可編程加密鎖 9.2.5第五代智能卡加密鎖 9.3加密鎖的攻防戰(zhàn) 9.4不可解密的加密鎖一智能卡帶來的革命 9.4.1智能卡簡介 9.4.2智能卡為什么可以應(yīng)用于加密 9.4.3采用智能卡技術(shù)的加密鎖所帶來的技術(shù)進步 9.4.4現(xiàn)有的幾種智能卡加密鎖 9.5加密鎖使用的技巧 9.5.1怎樣用可編程加密鎖加密 9.5.2怎樣用智能卡加密鎖加密 9.5.3怎樣用ROCKEY5虛擬加密鎖進行程序模擬保護 9.5.4不良的加密鎖加密方案舉例及應(yīng)對方法參考文獻
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載