注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)信息安全加密與解密(第三版)

加密與解密(第三版)

加密與解密(第三版)

定 價(jià):¥59.00

作 者: 段鋼
出版社: 電子工業(yè)出版社
叢編項(xiàng): 安全技術(shù)大系
標(biāo) 簽: 信息安全

ISBN: 9787121066443 出版時(shí)間: 2008-01-01 包裝: 平裝
開本: 16 頁(yè)數(shù): 543 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書以加密與解密為切入點(diǎn),講述了軟件安全領(lǐng)域許多基礎(chǔ)知識(shí)和技能,如調(diào)試技能、逆向分析、加密保護(hù)、外殼開發(fā)、虛擬機(jī)設(shè)計(jì)等。讀者在掌握本書的內(nèi)容,很容易在漏洞分析、安全編程、病毒分析、軟件保護(hù)等領(lǐng)域擴(kuò)展,這些知識(shí)點(diǎn)都是相互的,彼此聯(lián)系。國(guó)內(nèi)高校對(duì)軟件安全這塊領(lǐng)域教育重視程度還不夠,許多方面還是空白,而近年來(lái)許多企業(yè)對(duì)軟件安全技術(shù)人才需求量越來(lái)越大。從就業(yè)角度來(lái)說(shuō),掌握這方面技術(shù),可以提高自身的競(jìng)爭(zhēng)能力;從個(gè)人成長(zhǎng)角度來(lái)說(shuō),研究軟件安全技術(shù)有助于掌握一些系統(tǒng)底層知識(shí),是提升職業(yè)技能的重要途徑。作為一名合格的程序員,除了掌握需求分析、設(shè)計(jì)模式等外,如能掌握一些系統(tǒng)底層知識(shí),熟悉整個(gè)系統(tǒng)的底層結(jié)構(gòu),對(duì)自己的工作必將獲益良多。本書可以作為學(xué)?;蚺嘤?xùn)機(jī)構(gòu)的軟件安全輔助教材,是安全技術(shù)愛好者、調(diào)試人員、程序開發(fā)人員不可多得的一本好書。

作者簡(jiǎn)介

  本書由看雪軟件安全網(wǎng)站(看雪學(xué)院)站長(zhǎng)段鋼主持編著。在本書的編寫過(guò)程中,參與創(chuàng)作的每位作者傾力將各自擅長(zhǎng)的專業(yè)技術(shù)毫無(wú)保留地奉獻(xiàn)給廣大讀者,使得本書展現(xiàn)出了極具價(jià)值的豐富內(nèi)容。如果讀者在閱讀本書后,能夠感受到管窺技術(shù)奧秘帶來(lái)的內(nèi)心的喜悅,并愿意與大家分享這份感受,這是作者最大的愿望。主 編:段 鋼編 委:(按章節(jié)順序排列)Blowfish,沈曉斌,丁益青,單海波,王勇,趙勇,唐植明,softworm,afanty,李江濤,林子深,印豪,馮典,羅翼,林小華,郭春楊Blowfish看雪首席版主。經(jīng)驗(yàn)豐富的大齡程序員。1992年上大學(xué)始接觸電腦,1997年讀研期間接觸網(wǎng)絡(luò)并自學(xué)加密解密技術(shù),一發(fā)不可收拾,其時(shí)常在教育網(wǎng)BBS灌水。喜多方涉獵,亦能抓住一點(diǎn)深入鉆研,對(duì)逆向分析技術(shù)尤為癡迷。多年來(lái)常在看雪論壇灌水,見證了論壇的風(fēng)風(fēng)雨雨,也結(jié)識(shí)了一些不錯(cuò)的朋友。參與章節(jié):第5章5.1 序列號(hào)保護(hù)方式第14章14.5 軟件保護(hù)的若干忠告沈曉斌看雪核心專家團(tuán)隊(duì)成員。看雪論壇ID為cnbragon,現(xiàn)攻讀密碼學(xué)專業(yè)碩士學(xué)位。最初的愛好是網(wǎng)絡(luò)安全,進(jìn)而研究軟件的逆向工程,對(duì)密碼學(xué)的興趣由此而發(fā)。對(duì)密碼學(xué)的各個(gè)方面都有所涉獵,尤其擅長(zhǎng)密碼學(xué)在軟件保護(hù)中的應(yīng)用研究。獨(dú)立完成了一個(gè)加密算法庫(kù)CryptoFBC。譯作有《程序員密碼學(xué)》。個(gè)人主頁(yè):www.cnbragon.cn參與章節(jié):第6章加密算法丁益青看雪技術(shù)專家。看雪論壇ID為cyclotron,復(fù)旦大學(xué)在讀碩士研究生,復(fù)旦大學(xué)日月光華BBS黑客與系統(tǒng)安全版版主,致力于Windows環(huán)境下可執(zhí)行文件的加密解密與逆向工程研究。主要作品有EmbedPE、IDT Protector、PEunLOCK等。個(gè)人主頁(yè):cyclotron.yculblog.com參與章節(jié):第8章8.3 偽編譯單海波看雪核心專家團(tuán)隊(duì)成員。看雪論壇ID為tankaiha,生于六朝古都南京,碩士研究生畢業(yè),現(xiàn)任某研究所工程師,工作之余好與計(jì)算機(jī)為伴。2002年接觸匯編并熱衷于病毒技術(shù)學(xué)習(xí),后偶遇看雪學(xué)院,遂終日游戲于程序加密與解密,不可自拔。2006年與kanxue及壇中數(shù)位好友成立.net安全小組DST(Dotnet Reverse Team),共同探討.net平臺(tái)下的軟件安全技術(shù)。個(gè)人主頁(yè):http://vxer.cn/blog參與章節(jié):第9章.Net平臺(tái)加解密王勇看雪技術(shù)專家。畢業(yè)于石油大學(xué)(華東)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)。擅長(zhǎng)C/C++、ASM和驅(qū)動(dòng)程序開發(fā)。對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)和Windows系統(tǒng)底層的研究有豐富的經(jīng)驗(yàn)。很高興這次能與各位高手一起合作,也希望能與編程愛好者及加密解密愛好者更多的交流。主頁(yè):http://www.w-yong.com參與章節(jié):第10 章10.15 編寫PE分析工具趙勇看雪技術(shù)專家。來(lái)自江蘇江陰,計(jì)算機(jī)業(yè)余愛好者,興趣愛好廣泛。參與章節(jié):第13章13.6 附加數(shù)據(jù)唐植明看雪技術(shù)核心權(quán)威??囱┱搲疘D為DiKeN,2002年畢業(yè)于蘭州大學(xué),計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)。愛好逆向工程,iPB(inside Pandora's Box)組織創(chuàng)始人(在這兒更是要感謝組織的兄弟姐妹們,大家團(tuán)結(jié)友好,互相學(xué)習(xí),為iPB的成功作出了巨大努力),曾在2002年編寫過(guò)《加密與解密實(shí)戰(zhàn)攻略》算法部分。參與章節(jié):第13章13.10 靜態(tài)脫殼softworm看雪技術(shù)天才。70后一代,非計(jì)算機(jī)專業(yè)的業(yè)余愛好者。1998年開始接觸逆向與破解,迄今已近10年,終于達(dá)到了“知道自己不知道”的境界。感興趣的方向包括殼、虛擬機(jī)保護(hù)、病毒引擎、Rootkit。后兩項(xiàng)還處于只知道名字的水平,愿與有共同愛好的朋友一起學(xué)習(xí)。E-mail:softworm2003@hotmail.com參與章節(jié):第13章13.9.2 Thmedia的SDK分析afanty看雪技術(shù)專家。多年專業(yè)研究軟件加解密技術(shù)。參與章節(jié):第14章14.1 防范算法求逆李江濤看雪技術(shù)核心權(quán)威??囱┱搲疘D為ljtt,喜歡學(xué)習(xí)編程技術(shù),常用編程語(yǔ)言為VC/MASM。對(duì)PB、VFP的反編譯有深入的研究,寫過(guò)DePB、FoxSpy等程序。平時(shí)大多數(shù)時(shí)間都在電腦上耕作,最大的希望是能夠領(lǐng)悟到編程的精髓,寫一個(gè)自己比較滿意的作品。E-mail:shellfan@163.com參與章節(jié):第14章14.2.2 SMC技術(shù)實(shí)現(xiàn)林子深看雪技術(shù)導(dǎo)師。看雪論壇ID為forgot,1989年生,看雪論壇外殼開發(fā)小組組長(zhǎng)。熟悉Win32平臺(tái)和80x86匯編,擅長(zhǎng)代碼的逆向,對(duì)殼的研究比較多。E-mail:forgot@live.com參與章節(jié):第12章12.4.1 虛擬機(jī)介紹第14章14.2.4 簡(jiǎn)單的多態(tài)變形技術(shù)第15章反跟蹤技術(shù)印豪看雪資深技術(shù)權(quán)威??囱┱搲疘D為Hying,擅長(zhǎng)加殼技術(shù),擁有獨(dú)立創(chuàng)作的加密利器。E-mail:newhying001@163.com 參與章節(jié):第16章外殼編寫基礎(chǔ)馮典看雪技術(shù)天才??囱┱搲疘D為bughoho,1990年生,來(lái)自四川,看雪論壇虛擬機(jī)開發(fā)小組組長(zhǎng),目前工作主要是從事逆向研究。個(gè)人自述:記得14歲時(shí)家里買了臺(tái)電腦,使我對(duì)編程有了極大的興趣。16歲上高一時(shí)已對(duì)讀書徹底不感興趣,于是退學(xué)(現(xiàn)在的我才發(fā)現(xiàn),我并不是對(duì)讀書感興趣,而是對(duì)教育制度的反感)。后來(lái)聽了家人的意見,轉(zhuǎn)讀四川新華電腦學(xué)校,感受頗多,一月之后便退學(xué),至于為什么我就不說(shuō)了。17歲時(shí),一個(gè)偶然的機(jī)會(huì),使我對(duì)逆向有了濃厚的興趣,并接觸到看雪論壇,也認(rèn)識(shí)到了kanxue。承蒙kanxue抬舉,讓我執(zhí)筆虛擬機(jī)這一章,由于我并不是一個(gè)才高八斗的人,所以寫得也沒(méi)有那么的妙筆生花、鬼斧神工了。參與章節(jié):第17章虛擬機(jī)的設(shè)計(jì) …………

圖書目錄

前言
第1篇 基礎(chǔ)篇
 第1章 基礎(chǔ)知識(shí)
  1.1 文本字符
   1.1.1 字節(jié)存儲(chǔ)順序
   1.1.2 ASCII與Unicode字符集
  1.2 WINDOWS 操作系統(tǒng)
   1.2.1 Win API簡(jiǎn)介
   1.2.2 常用Win32 API函數(shù)
   1.2.3 什么是句柄
   1.2.4 Windows 9x與Unicode
   1.2.5 Windows NT/2000/XP與Unicode
   1.2.6 Windows 消息機(jī)制
  1.3 保護(hù)模式簡(jiǎn)介
   1.3.1 虛擬內(nèi)存
   1.3.2 保護(hù)模式的權(quán)限級(jí)別
  1.4 認(rèn)識(shí)PE格式
第2篇 調(diào)試篇
 第2章 動(dòng)態(tài)分析技術(shù) 33
  2.1 OLLYDBG調(diào)試器
   2.1.1 OllyDbg界面
   2.1.2 OllyDbg的配置
   2.1.3 加載程序
   2.1.4 基本操作
   2.1.5 斷點(diǎn)
   2.1.6 插件
   2.1.7 Run trace
   2.1.8 Hit trace
   2.1.9 符號(hào)調(diào)試技術(shù)
   2.1.10 OllyDbg常見問(wèn)題
  2.2 SOFTICE調(diào)試器
第3章 靜態(tài)分析技術(shù) 31
  3.1 文件類型分析
   3.1.1 PEiD工具
   3.1.2 FileInfo工具
  3.2 靜態(tài)反匯編
   3.2.1 打開文件
   3.2.2 IDA的配置
   3.2.3 IDA主窗口界面
   3.2.6 交叉參考
   3.2.7 參考重命名
   3.2.8 標(biāo)簽的用法
   3.2.9 進(jìn)制的轉(zhuǎn)換
   3.2.10 代碼和數(shù)據(jù)轉(zhuǎn)換
   3.2.11 字符串
   3.2.12 數(shù)組
   3.2.13 結(jié)構(gòu)體
   3.2.14 枚舉類型
   3.2.15 堆棧變量
   3.2.16 IDC腳本
   3.2.17 FLIRT
   3.2.18 插件
   3.2.19 其他功能
   3.2.20 小結(jié)
3.3 可執(zhí)行文件的修改
3.4 靜態(tài)分析技術(shù)應(yīng)用實(shí)例
3.4.1 解密初步
   3.4.2 逆向工程初步
 第4章 逆向分析技術(shù) 35
  4.1 啟動(dòng)函數(shù)
  4.2 函數(shù)
   4.2.1 函數(shù)的識(shí)別
   4.2.2 函數(shù)的參數(shù)
   4.2.3 函數(shù)的返回值
  4.3 數(shù)據(jù)結(jié)構(gòu)
   4.3.1 局部變量
   4.3.2 全局變量
   4.3.3 數(shù)組
  4.4 虛函數(shù)
  4.5 控制語(yǔ)句
   4.5.1 IF-THEN-ELSE語(yǔ)句
   4.5.2 SWITCH-CASE語(yǔ)句
   4.5.3 轉(zhuǎn)移指令機(jī)器碼的計(jì)算
   4.5.4 條件設(shè)置指令
   4.5.5 純算法實(shí)現(xiàn)邏輯判斷
  4.6 循環(huán)語(yǔ)句
  4.7 數(shù)學(xué)運(yùn)算符
   4.7.1 整數(shù)的加法和減法
   4.7.2 整數(shù)的乘法
   4.7.3 整數(shù)的除法
  4.8 文本字符串
   4.8.1 字符串存儲(chǔ)格式
   4.8.2 字符尋址指令
   4.8.3 字母大小寫轉(zhuǎn)換
   4.8.4 計(jì)算字符串的長(zhǎng)度
  4.9 指令修改技巧
第3篇 解密篇
 第5章 常見的演示版保護(hù)技術(shù) 34
  5.1 序列號(hào)保護(hù)方式
   5.1.1 序列號(hào)保護(hù)機(jī)制
   5.1.2 如何攻擊序列號(hào)保護(hù)
   5.1.3 字符串比較形式
   5.1.4 注冊(cè)機(jī)制作
  5.2 警告(NAG)窗口
  5.3 時(shí)間限制
   5.3.1 計(jì)時(shí)器
   5.3.2 時(shí)間限制
   5.3.3 拆解時(shí)間限制保護(hù)
  5.4 菜單功能限制
   5.4.1 相關(guān)函數(shù)
   5.4.2 拆解菜單限制保護(hù)
  5.5 KEYFILE保護(hù)
   5.5.1 相關(guān)API函數(shù)
   5.5.2 拆解KeyFile保護(hù)
  5.6 網(wǎng)絡(luò)驗(yàn)證
   5.6.1 相關(guān)函數(shù)
   5.6.2 網(wǎng)絡(luò)驗(yàn)證破解一般思路
  5.7 CD-CHECK
   5.7.1 相關(guān)函數(shù)
   5.7.2 拆解光盤保護(hù)
  5.8 只運(yùn)行一個(gè)實(shí)例
   5.8.1 實(shí)現(xiàn)方案
   5.8.2 實(shí)例
  5.9 常用斷點(diǎn)設(shè)置技巧
 第6章 加密算法
  6.1 單向散列算法
   6.1.1 MD5算法
   6.1.2 SHA算法
   6.1.3 小結(jié)
  6.2 對(duì)稱加密算法
   6.2.1 RC4流密碼
   6.2.2 TEA算法
   6.2.3 IDEA算法
   6.2.4 BlowFish算法
   6.2.5 AES算法
   6.2.6 對(duì)稱加密算法小結(jié)
  6.3 公開密鑰加密算法
   6.3.1 RSA算法
   6.3.2 ElGamal公鑰算法
   6.3.3 DSA數(shù)字簽名算法
   6.3.4 橢圓曲線密碼編碼學(xué)
  6.4 其他算法
   6.4.1 CRC32算法
   6.4.2 Base64
  6.5 常見加密庫(kù)接口及其識(shí)別
   6.5.1 Miracl大數(shù)運(yùn)算庫(kù)
   6.5.2 FGInt
   6.5.4 其它加密算法庫(kù)介紹
第4篇 語(yǔ)言和平臺(tái)篇
 第7章 DELPHI程序
  7.1 認(rèn)識(shí)DELPHI
  7.2 DEDE反編譯器
  7.3 按鈕事件代碼
  7.4 模塊初始化與結(jié)束化
 第8章 VISUAL BASIC程序
  8.1 基礎(chǔ)知識(shí)
   8.1.1 字符編碼方式
   8.1.2 編譯模式
  8.2 自然編譯(NATIVE)
   8.2.1 相關(guān)VB函數(shù)
   8.2.2 VB程序比較方式
  8.3 偽編譯(PCODE)(cyclotron編寫)
   8.3.1 虛擬機(jī)與偽代碼
   8.3.2 動(dòng)態(tài)分析VB P-code程序
   8.3.3 偽代碼的綜合分析
   8.3.4 VB P-code攻擊實(shí)戰(zhàn)
 第9章 .NET平臺(tái)加解密(tankaiha 編寫) 51
  9.1 .NET概述
   9.1.1 什么是.Net
   9.1.2 幾個(gè)基本概念
   9.1.3 第一個(gè).Net程序
  9.2 MSIL與元數(shù)據(jù)
   9.2.1 PE結(jié)構(gòu)的擴(kuò)展
   9.2.2 .Net下的匯編MSIL
   9.2.3 MSIL與元數(shù)據(jù)的結(jié)合
  9.3 代碼分析技術(shù)
   9.3.1 靜態(tài)分析
   9.3.2 動(dòng)態(tài)調(diào)試
   9.3.3 代碼修改
  9.4 代碼保護(hù)技術(shù)及其逆向
   9.4.1 強(qiáng)名稱
   9.4.2 名稱混淆
   9.4.3 流程混淆
   9.4.4 壓縮
   9.4.5 加密
   9.4.6 其它保護(hù)手段
  9.5 深入.NET
   9.5.1 反射與CodeDOM
   9.5.2 Unmaganed API
   9.5.3 Rotor、MONO與.Net內(nèi)核
第5篇 系統(tǒng)篇
 第10章 PE文件格式 54
  10.1 PE的基本概念
   10.1.1 基地址
   10.1.2 相對(duì)虛擬地址
   10.1.3 文件偏移地址
   10.2 MS-DOS頭部
  10.3 PE文件頭
   10.3.1 Signature字段
   10.3.2 IMAGE_FILE_HEADER 結(jié)構(gòu)
   10.3.3 Optional Header
10.4 區(qū)塊
   10.4.1 區(qū)塊表
   10.4.2 各種區(qū)塊的描述
   10.4.3 區(qū)塊的對(duì)齊值
   10.4.4 文件偏移與虛擬地址轉(zhuǎn)換
10.5 輸入表
   10.5.1 輸入函數(shù)的調(diào)用
   10.5.2 輸入表結(jié)構(gòu)
   10.5.3 輸入地址表
   10.5.4 輸入表實(shí)例分析
  10.6 綁定輸入
  10.7 輸出表
   10.7.1 輸出表結(jié)構(gòu)
   10.7.2 輸出表結(jié)構(gòu)實(shí)例分析
  10.8 基址重定位
   10.8.1 基址重定位概念
   10.8.2 基址重定位結(jié)構(gòu)定義
   10.8.3 基址重定位結(jié)構(gòu)實(shí)例分析
  10.9 資源
   10.9.1 資源結(jié)構(gòu)
   10.9.2 資源結(jié)構(gòu)實(shí)例分析
   10.9.3 資源編輯工具
  10.10 TLS初始化
  10.11 調(diào)試目錄
  10.12 延遲裝入數(shù)據(jù)
  10.13 程序異常數(shù)據(jù)
  10.14 .NET頭部
  10.15 PE分析工具編寫
   10.15.1 文件格式檢查
   10.15.2 FileHeader和OptionalHeader內(nèi)容的讀取
   10.15.3 得到數(shù)據(jù)目錄表信息
   10.15.4 得到區(qū)塊表信息
   10.15.5 得到輸出表信息
   10.15.6 得到輸入表信息
 第11章 結(jié)構(gòu)化異常處理 11
  11.1 基本概念
   11.1.1 異常列表
   11.1.2 異常處理的基本過(guò)程
   11.1.3 SEH的分類
  11.2 SEH相關(guān)數(shù)據(jù)結(jié)構(gòu)
   11.2.1 TEB結(jié)構(gòu)
   11.2.2 EXCEPTION_REGISTRATION結(jié)構(gòu)
   11.2.3 EXCEPTION_POINTERS、EXCEPTION_RECORD、CONTEXT
  11.3 異常處理回調(diào)函數(shù)
第6篇 脫殼篇
 第12章 專用加密軟件 11
  12.1 認(rèn)識(shí)殼
   12.1.1 殼的概念
   12.1.2 壓縮引擎
  12.2 壓縮殼
   12.2.1 UPX
   12.2.2 ASPacK
12.3 加密殼
   12.3.1 ASProtect
   12.3.2 Armadillo
   12.3.3 EXECryptor
   12.3.4 Themida
  12.4 虛擬機(jī)保護(hù)軟件
   12.4.1 虛擬機(jī)介紹
   12.4.2 VMProtect簡(jiǎn)介
 第13章 脫殼技術(shù)64
  13.1 基礎(chǔ)知識(shí)
   13.1.1 殼的加載過(guò)程
   13.1.2 脫殼機(jī)
   13.1.3 手動(dòng)脫殼
  13.2 尋找OEP
   13.2.1 根據(jù)跨段指令尋找OEP
   13.2.2 用內(nèi)存訪問(wèn)斷點(diǎn)找OEP
   13.2.3 根據(jù)堆棧平衡原理找OEP
   13.2.4 根據(jù)編譯語(yǔ)言特點(diǎn)找OEP
  13.3 抓取內(nèi)存映像
   13.3.1 Dump原理
   13.3.2 反DUMP技術(shù)
  13.4 重建輸入表
   13.4.1 輸入表重建的原理
   13.4.2 確定IAT的地址和大小
   13.4.3 根據(jù)IAT重建輸入表
   13.4.4 ImportREC重建輸入表
   13.4.5 輸入表加密概括
  13.5 DLL文件脫殼
   13.5.1 尋找OEP
   13.5.2 Dump映像文件
   13.5.3 重建DLL的輸入表
   13.5.4 構(gòu)造重定位表
  13.6 附加數(shù)據(jù)
  13.7 PE文件的優(yōu)化
  13.8 壓縮殼
   13.8.1 UPX外殼
   13.8.2 ASPack外殼
  13.9 靜態(tài)脫殼
   13.9.1 外殼Loader的分析
   13.9.2 編寫靜態(tài)脫殼器
  13.10 加密殼
   13.10.1 ASProtect
   13.10.2 Thmedia的SDK分析
第7篇 保護(hù)篇
 第14章 軟件保護(hù)技術(shù) 26
  14.1 防范算法求逆
   14.1.1 基本概念
   14.1.2 堡壘戰(zhàn)術(shù)
   14.1.3 游擊戰(zhàn)術(shù)
  14.2 抵御靜態(tài)分析
   14.2.1 花指令
   14.2.2 SMC技術(shù)實(shí)現(xiàn)
   14.2.3 信息隱藏
   14.2.4 簡(jiǎn)單多態(tài)變形技術(shù)
  14.3 文件完整性檢驗(yàn)
   14.3.1 磁盤文件校驗(yàn)實(shí)現(xiàn)
   14.3.2 校驗(yàn)和(Checksum)
   14.3.3 內(nèi)存映像校驗(yàn)
  14.4 代碼與數(shù)據(jù)結(jié)合技術(shù)
   14.4.1 準(zhǔn)備工作
   14.4.2 加密算法選用
   14.4.3 手動(dòng)加密代碼
   14.4.4 使.text區(qū)塊可寫
  14.5 軟件保護(hù)的若干忠告
 第15章 反跟蹤技術(shù)(forgot編寫) 52
  15.1 由BEINGDEBUGGED引發(fā)的蝴蝶效應(yīng)
   15.1.1 BeingDebugged
   15.1.2 NtGlobalFlag
   15.1.3 Heap Magic
   15.1.4 從源頭消滅BeingDebugged
  15.2 回歸NATIVE:用戶態(tài)的夢(mèng)魘
   15.2.1 CheckRemoteDebuggerPresent
   15.2.2 ProcessDebugPort
   15.2.3 ThreadHideFromDebugger
   15.2.4 Debug Object
   15.2.5 SystemKernelDebuggerInformation
   15.2.6 Native API
   15.2.7 Hook和AntiHook
  15.3 真正的奧秘:小技巧一覽
   15.3.1 SoftICE檢測(cè)方法
   15.3.2 OllyDbg檢測(cè)方法
   15.3.3 調(diào)試器漏洞
   15.3.4 防止調(diào)試器附加
   15.3.5 父進(jìn)程檢測(cè)
   15.3.6 時(shí)間差
   15.3.7 通過(guò)Trap Flag檢測(cè)
   15.3.8 雙進(jìn)程保護(hù)
 第16章 外殼編寫基礎(chǔ)(Hying編寫)35
  16.1 外殼的結(jié)構(gòu)
  16.2 加殼主程序
   16.2.1 判斷文件是否為PE格式
   16.2.2 文件基本數(shù)據(jù)讀入
   16.2.3 附加數(shù)據(jù)讀取
   16.2.4 輸入表處理
   16.2.5 重定位表處理
   16.2.6 文件的壓縮
   16.2.7 資源數(shù)據(jù)處理
   16.2.8 區(qū)塊的融合
  16.3 外殼部分編寫
   16.3.1 外殼的加載過(guò)程
   16.3.2 自建輸入表
   16.3.4 外殼引導(dǎo)段
   16.3.5 外殼第二段
16.4 將外殼部分添加至原程序
 第17章 虛擬機(jī)的設(shè)計(jì)
  17.1 原理
   17.1.1 反匯編引擎
   17.1.2 指令分類
17.2 啟動(dòng)框架和調(diào)用約定
   17.2.1 調(diào)度器VStartVM
   17.2.2 虛擬環(huán)境:VMContext
   17.2.3 平衡堆棧:VBegin和VCheckEsp
  17.3 HANDLER的設(shè)計(jì)
   17.3.1 輔助Handler
   17.3.2 普通Handler和指令拆解
   17.3.3 標(biāo)志位問(wèn)題
   17.3.4 相同作用的指令
   17.3.5 轉(zhuǎn)移指令
   17.3.6 轉(zhuǎn)移跳轉(zhuǎn)指令的另一種實(shí)現(xiàn)
   17.3.7 CALL指令
   17.3.8 retn指令
   17.3.9 不可模擬指令
  17.4 托管代碼的異常處理
   17.4.1 VC++的異常處理
   17.4.2 Delphi的異常處理
  17.5 小結(jié)
第8篇 PEDIY篇
 第18章 補(bǔ)丁技術(shù)
  18.1 文件補(bǔ)丁
  18.2 內(nèi)存補(bǔ)丁
   18.2.1 跨進(jìn)程內(nèi)存存取機(jī)制
   18.2.2 Debug API機(jī)制
   18.2.3 利用調(diào)試寄存器機(jī)制
   18.2.4 DLL劫持技術(shù)
  18.3 SMC補(bǔ)丁技術(shù)
   18.3.1 單層SMC補(bǔ)丁技術(shù)
   18.3.2 多層SMC補(bǔ)丁技術(shù)
  18.4 補(bǔ)丁工具
 第19章 代碼的二次開發(fā)
  19.1 數(shù)據(jù)對(duì)齊
  19.2 增加空間
   19.2.1 區(qū)塊間隙
   19.2.2 手工構(gòu)造區(qū)塊
   19.2.3 工具輔助構(gòu)造區(qū)塊
  19.3 獲得函數(shù)的調(diào)用
   19.3.1 增加輸入函數(shù)
   19.3.2 顯式鏈接調(diào)用DLL
  19.4 代碼的重定位
   19.4.1 修復(fù)重定位表
   19.4.2 代碼的自定位技術(shù)
  19.5 增加輸出函數(shù)
  19.6 消息循環(huán)
   19.6.1 WndProc函數(shù)
   19.6.2 尋找消息循環(huán)
   19.6.3 WndProc匯編形式
  19.7 修改WNDPROC擴(kuò)充功能
   19.7.1 擴(kuò)充WndProc
   19.7.2 擴(kuò)充Exit菜單功能
   19.7.3 擴(kuò)充Open菜單功能
  19.8 增加接口
   19.8.1 用DLL增加功能
   19.8.2 擴(kuò)展消息循環(huán)
附錄
 附錄A 浮點(diǎn)指令
 附錄B 在Visual C++中使用內(nèi)聯(lián)匯編
術(shù)語(yǔ)表
參考文獻(xiàn)

本目錄推薦

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