|
簡體版
論壇
暢銷
連載
圖書
資訊
首頁
國學/古籍
|
文學藝術
|
人文社科
|
經濟管理
|
生活時尚
|
科學技術
|
教材教輔
|
少兒讀物
圖書搜索:
全部
ISBN
書名
作者
叢編項
出版社
主題項
簡介
全部圖書
可讀圖書
可購圖書
高級搜索
加密與解密(第三版)
-
書籍詳細信息
查看同類圖書:
科學技術
»
計算機/網絡
»
信息安全
»
加密與解密(第三版)
加密與解密(第三版)
【作 者】:
段鋼
【叢編項】:
安全技術大系
【裝幀項】:
平裝 16 / 543
【出版項】:
電子工業出版社
/ 2008年
【ISBN號】:
9787121066443 / 7121066440
【原書定價】:
¥59.00
有2家書店打折銷售
【主題詞】:
計算機/網絡-
信息安全
書籍介紹
購買本書
【圖書簡介】
本書以加密與解密為切入點,講述了軟件安全領域許多基礎知識和技能,如調試技能、逆向分析、加密保護、外殼開發、虛擬機設計等。讀者在掌握本書的內容,很容易在漏洞分析、安全編程、病毒分析、軟件保護等領域擴展,這些知識點都是相互的,彼此聯系。國內高校對軟件安全這塊領域教育重視程度還不夠,許多方面還是空白,而近年來許多企業對軟件安全技術人才需求量越來越大。從就業角度來說,掌握這方面技術,可以提高自身的競爭能力;從個人成長角度來說,研究軟件安全技術有助于掌握一些系統底層知識,是提升職業技能的重要途徑。作為一名合格的程序員,除了掌握需求分析、設計模式等外,如能掌握一些系統底層知識,熟悉整個系統的底層結構,對自己的工作必將獲益良多。本書可以作為學校或培訓機構的軟件安全輔助教材,是安全技術愛好者、調試人員、程序開發人員不可多得的一本好書。
【作者簡介】
本書由看雪軟件安全網站(看雪學院)站長段鋼主持編著。在本書的編寫過程中,參與創作的每位作者傾力將各自擅長的專業技術毫無保留地奉獻給廣大讀者,使得本書展現出了極具價值的豐富內容。如果讀者在閱讀本書后,能夠感受到管窺技術奧秘帶來的內心的喜悅,并愿意與大家分享這份感受,這是作者最大的愿望。主 編:段 鋼編 委:(按章節順序排列)Blowfish,沈曉斌,丁益青,單海波,王勇,趙勇,唐植明,softworm,afanty,李江濤,林子深,印豪,馮典,羅翼,林小華,郭春楊Blowfish看雪首席版主。經驗豐富的大齡程序員。1992年上大學始接觸電腦,1997年讀研期間接觸網絡并自學加密解密技術,一發不可收拾,其時常在教育網BBS灌水。喜多方涉獵,亦能抓住一點深入鉆研,對逆向分析技術尤為癡迷。多年來常在看雪論壇灌水,見證了論壇的風風雨雨,也結識了一些不錯的朋友。參與章節:第5章5.1 序列號保護方式第14章14.5 軟件保護的若干忠告沈曉斌看雪核心專家團隊成員。看雪論壇ID為cnbragon,現攻讀密碼學專業碩士學位。最初的愛好是網絡安全,進而研究軟件的逆向工程,對密碼學的興趣由此而發。對密碼學的各個方面都有所涉獵,尤其擅長密碼學在軟件保護中的應用研究。獨立完成了一個加密算法庫CryptoFBC。譯作有《程序員密碼學》。個人主頁:www.cnbragon.cn參與章節:第6章加密算法丁益青看雪技術專家。看雪論壇ID為cyclotron,復旦大學在讀碩士研究生,復旦大學日月光華BBS黑客與系統安全版版主,致力于Windows環境下可執行文件的加密解密與逆向工程研究。主要作品有EmbedPE、IDT Protector、PEunLOCK等。個人主頁:cyclotron.yculblog.com參與章節:第8章8.3 偽編譯單海波看雪核心專家團隊成員。看雪論壇ID為tankaiha,生于六朝古都南京,碩士研究生畢業,現任某研究所工程師,工作之余好與計算機為伴。2002年接觸匯編并熱衷于病毒技術學習,后偶遇看雪學院,遂終日游戲于程序加密與解密,不可自拔。2006年與kanxue及壇中數位好友成立.net安全小組DST(Dotnet Reverse Team),共同探討.net平臺下的軟件安全技術。個人主頁:http://vxer.cn/blog參與章節:第9章.Net平臺加解密王勇看雪技術專家。畢業于石油大學(華東)計算機科學與技術專業。擅長C/C++、ASM和驅動程序開發。對面向對象程序設計和Windows系統底層的研究有豐富的經驗。很高興這次能與各位高手一起合作,也希望能與編程愛好者及加密解密愛好者更多的交流。主頁:http://www.w-yong.com參與章節:第10 章10.15 編寫PE分析工具趙勇看雪技術專家。來自江蘇江陰,計算機業余愛好者,興趣愛好廣泛。參與章節:第13章13.6 附加數據唐植明看雪技術核心權威。看雪論壇ID為DiKeN,2002年畢業于蘭州大學,計算機科學與技術專業。愛好逆向工程,iPB(inside Pandora's Box)組織創始人(在這兒更是要感謝組織的兄弟姐妹們,大家團結友好,互相學習,為iPB的成功作出了巨大努力),曾在2002年編寫過《加密與解密實戰攻略》算法部分。參與章節:第13章13.10 靜態脫殼softworm看雪技術天才。70后一代,非計算機專業的業余愛好者。1998年開始接觸逆向與破解,迄今已近10年,終于達到了“知道自己不知道”的境界。感興趣的方向包括殼、虛擬機保護、病毒引擎、Rootkit。后兩項還處于只知道名字的水平,愿與有共同愛好的朋友一起學習。E-mail:softworm2003@hotmail.com參與章節:第13章13.9.2 Thmedia的SDK分析afanty看雪技術專家。多年專業研究軟件加解密技術。參與章節:第14章14.1 防范算法求逆李江濤看雪技術核心權威。看雪論壇ID為ljtt,喜歡學習編程技術,常用編程語言為VC/MASM。對PB、VFP的反編譯有深入的研究,寫過DePB、FoxSpy等程序。平時大多數時間都在電腦上耕作,最大的希望是能夠領悟到編程的精髓,寫一個自己比較滿意的作品。E-mail:shellfan@163.com參與章節:第14章14.2.2 SMC技術實現林子深看雪技術導師。看雪論壇ID為forgot,1989年生,看雪論壇外殼開發小組組長。熟悉Win32平臺和80x86匯編,擅長代碼的逆向,對殼的研究比較多。E-mail:forgot@live.com參與章節:第12章12.4.1 虛擬機介紹第14章14.2.4 簡單的多態變形技術第15章反跟蹤技術印豪看雪資深技術權威。看雪論壇ID為Hying,擅長加殼技術,擁有獨立創作的加密利器。E-mail:newhying001@163.com 參與章節:第16章外殼編寫基礎馮典看雪技術天才。看雪論壇ID為bughoho,1990年生,來自四川,看雪論壇虛擬機開發小組組長,目前工作主要是從事逆向研究。個人自述:記得14歲時家里買了臺電腦,使我對編程有了極大的興趣。16歲上高一時已對讀書徹底不感興趣,于是退學(現在的我才發現,我并不是對讀書感興趣,而是對教育制度的反感)。后來聽了家人的意見,轉讀四川新華電腦學校,感受頗多,一月之后便退學,至于為什么我就不說了。17歲時,一個偶然的機會,使我對逆向有了濃厚的興趣,并接觸到看雪論壇,也認識到了kanxue。承蒙kanxue抬舉,讓我執筆虛擬機這一章,由于我并不是一個才高八斗的人,所以寫得也沒有那么的妙筆生花、鬼斧神工了。參與章節:第17章虛擬機的設計 …………
【本書目錄】
前言
第1篇 基礎篇
第1章 基礎知識
1.1 文本字符
1.1.1 字節存儲順序
1.1.2 ASCII與Unicode字符集
1.2 WINDOWS 操作系統
1.2.1 Win API簡介
1.2.2 常用Win32 API函數
1.2.3 什么是句柄
1.2.4 Windows 9x與Unicode
1.2.5 Windows NT/2000/XP與Unicode
1.2.6 Windows 消息機制
1.3 保護模式簡介
1.3.1 虛擬內存
1.3.2 保護模式的權限級別
1.4 認識PE格式
第2篇 調試篇
第2章 動態分析技術 33
2.1 OLLYDBG調試器
2.1.1 OllyDbg界面
2.1.2 OllyDbg的配置
2.1.3 加載程序
2.1.4 基本操作
2.1.5 斷點
2.1.6 插件
2.1.7 Run trace
2.1.8 Hit trace
2.1.9 符號調試技術
2.1.10 OllyDbg常見問題
2.2 SOFTICE調試器
第3章 靜態分析技術 31
3.1 文件類型分析
3.1.1 PEiD工具
3.1.2 FileInfo工具
3.2 靜態反匯編
3.2.1 打開文件
3.2.2 IDA的配置
3.2.3 IDA主窗口界面
3.2.6 交叉參考
3.2.7 參考重命名
3.2.8 標簽的用法
3.2.9 進制的轉換
3.2.10 代碼和數據轉換
3.2.11 字符串
3.2.12 數組
3.2.13 結構體
3.2.14 枚舉類型
3.2.15 堆棧變量
3.2.16 IDC腳本
3.2.17 FLIRT
3.2.18 插件
3.2.19 其他功能
3.2.20 小結
3.3 可執行文件的修改
3.4 靜態分析技術應用實例
3.4.1 解密初步
3.4.2 逆向工程初步
第4章 逆向分析技術 35
4.1 啟動函數
4.2 函數
4.2.1 函數的識別
4.2.2 函數的參數
4.2.3 函數的返回值
4.3 數據結構
4.3.1 局部變量
4.3.2 全局變量
4.3.3 數組
4.4 虛函數
4.5 控制語句
4.5.1 IF-THEN-ELSE語句
4.5.2 SWITCH-CASE語句
4.5.3 轉移指令機器碼的計算
4.5.4 條件設置指令
4.5.5 純算法實現邏輯判斷
4.6 循環語句
4.7 數學運算符
4.7.1 整數的加法和減法
4.7.2 整數的乘法
4.7.3 整數的除法
4.8 文本字符串
4.8.1 字符串存儲格式
4.8.2 字符尋址指令
4.8.3 字母大小寫轉換
4.8.4 計算字符串的長度
4.9 指令修改技巧
第3篇 解密篇
第5章 常見的演示版保護技術 34
5.1 序列號保護方式
5.1.1 序列號保護機制
5.1.2 如何攻擊序列號保護
5.1.3 字符串比較形式
5.1.4 注冊機制作
5.2 警告(NAG)窗口
5.3 時間限制
5.3.1 計時器
5.3.2 時間限制
5.3.3 拆解時間限制保護
5.4 菜單功能限制
5.4.1 相關函數
5.4.2 拆解菜單限制保護
5.5 KEYFILE保護
5.5.1 相關API函數
5.5.2 拆解KeyFile保護
5.6 網絡驗證
5.6.1 相關函數
5.6.2 網絡驗證破解一般思路
5.7 CD-CHECK
5.7.1 相關函數
5.7.2 拆解光盤保護
5.8 只運行一個實例
5.8.1 實現方案
5.8.2 實例
5.9 常用斷點設置技巧
第6章 加密算法
6.1 單向散列算法
6.1.1 MD5算法
6.1.2 SHA算法
6.1.3 小結
6.2 對稱加密算法
6.2.1 RC4流密碼
6.2.2 TEA算法
6.2.3 IDEA算法
6.2.4 BlowFish算法
6.2.5 AES算法
6.2.6 對稱加密算法小結
6.3 公開密鑰加密算法
6.3.1 RSA算法
6.3.2 ElGamal公鑰算法
6.3.3 DSA數字簽名算法
6.3.4 橢圓曲線密碼編碼學
6.4 其他算法
6.4.1 CRC32算法
6.4.2 Base64
6.5 常見加密庫接口及其識別
6.5.1 Miracl大數運算庫
6.5.2 FGInt
6.5.4 其它加密算法庫介紹
第4篇 語言和平臺篇
第7章 DELPHI程序
7.1 認識DELPHI
7.2 DEDE反編譯器
7.3 按鈕事件代碼
7.4 模塊初始化與結束化
第8章 VISUAL BASIC程序
8.1 基礎知識
8.1.1 字符編碼方式
8.1.2 編譯模式
8.2 自然編譯(NATIVE)
8.2.1 相關VB函數
8.2.2 VB程序比較方式
8.3 偽編譯(PCODE)(cyclotron編寫)
8.3.1 虛擬機與偽代碼
8.3.2 動態分析VB P-code程序
8.3.3 偽代碼的綜合分析
8.3.4 VB P-code攻擊實戰
第9章 .NET平臺加解密(tankaiha 編寫) 51
9.1 .NET概述
9.1.1 什么是.Net
9.1.2 幾個基本概念
9.1.3 第一個.Net程序
9.2 MSIL與元數據
9.2.1 PE結構的擴展
9.2.2 .Net下的匯編MSIL
9.2.3 MSIL與元數據的結合
9.3 代碼分析技術
9.3.1 靜態分析
9.3.2 動態調試
9.3.3 代碼修改
9.4 代碼保護技術及其逆向
9.4.1 強名稱
9.4.2 名稱混淆
9.4.3 流程混淆
9.4.4 壓縮
9.4.5 加密
9.4.6 其它保護手段
9.5 深入.NET
9.5.1 反射與CodeDOM
9.5.2 Unmaganed API
9.5.3 Rotor、MONO與.Net內核
第5篇 系統篇
第10章 PE文件格式 54
10.1 PE的基本概念
10.1.1 基地址
10.1.2 相對虛擬地址
10.1.3 文件偏移地址
10.2 MS-DOS頭部
10.3 PE文件頭
10.3.1 Signature字段
10.3.2 IMAGE_FILE_HEADER 結構
10.3.3 Optional Header
10.4 區塊
10.4.1 區塊表
10.4.2 各種區塊的描述
10.4.3 區塊的對齊值
10.4.4 文件偏移與虛擬地址轉換
10.5 輸入表
10.5.1 輸入函數的調用
10.5.2 輸入表結構
10.5.3 輸入地址表
10.5.4 輸入表實例分析
10.6 綁定輸入
10.7 輸出表
10.7.1 輸出表結構
10.7.2 輸出表結構實例分析
10.8 基址重定位
10.8.1 基址重定位概念
10.8.2 基址重定位結構定義
10.8.3 基址重定位結構實例分析
10.9 資源
10.9.1 資源結構
10.9.2 資源結構實例分析
10.9.3 資源編輯工具
10.10 TLS初始化
10.11 調試目錄
10.12 延遲裝入數據
10.13 程序異常數據
10.14 .NET頭部
10.15 PE分析工具編寫
10.15.1 文件格式檢查
10.15.2 FileHeader和OptionalHeader內容的讀取
10.15.3 得到數據目錄表信息
10.15.4 得到區塊表信息
10.15.5 得到輸出表信息
10.15.6 得到輸入表信息
第11章 結構化異常處理 11
11.1 基本概念
11.1.1 異常列表
11.1.2 異常處理的基本過程
11.1.3 SEH的分類
11.2 SEH相關數據結構
11.2.1 TEB結構
11.2.2 EXCEPTION_REGISTRATION結構
11.2.3 EXCEPTION_POINTERS、EXCEPTION_RECORD、CONTEXT
11.3 異常處理回調函數
第6篇 脫殼篇
第12章 專用加密軟件 11
12.1 認識殼
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 虛擬機保護軟件
12.4.1 虛擬機介紹
12.4.2 VMProtect簡介
第13章 脫殼技術64
13.1 基礎知識
13.1.1 殼的加載過程
13.1.2 脫殼機
13.1.3 手動脫殼
13.2 尋找OEP
13.2.1 根據跨段指令尋找OEP
13.2.2 用內存訪問斷點找OEP
13.2.3 根據堆棧平衡原理找OEP
13.2.4 根據編譯語言特點找OEP
13.3 抓取內存映像
13.3.1 Dump原理
13.3.2 反DUMP技術
13.4 重建輸入表
13.4.1 輸入表重建的原理
13.4.2 確定IAT的地址和大小
13.4.3 根據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 構造重定位表
13.6 附加數據
13.7 PE文件的優化
13.8 壓縮殼
13.8.1 UPX外殼
13.8.2 ASPack外殼
13.9 靜態脫殼
13.9.1 外殼Loader的分析
13.9.2 編寫靜態脫殼器
13.10 加密殼
13.10.1 ASProtect
13.10.2 Thmedia的SDK分析
第7篇 保護篇
第14章 軟件保護技術 26
14.1 防范算法求逆
14.1.1 基本概念
14.1.2 堡壘戰術
14.1.3 游擊戰術
14.2 抵御靜態分析
14.2.1 花指令
14.2.2 SMC技術實現
14.2.3 信息隱藏
14.2.4 簡單多態變形技術
14.3 文件完整性檢驗
14.3.1 磁盤文件校驗實現
14.3.2 校驗和(Checksum)
14.3.3 內存映像校驗
14.4 代碼與數據結合技術
14.4.1 準備工作
14.4.2 加密算法選用
14.4.3 手動加密代碼
14.4.4 使.text區塊可寫
14.5 軟件保護的若干忠告
第15章 反跟蹤技術(forgot編寫) 52
15.1 由BEINGDEBUGGED引發的蝴蝶效應
15.1.1 BeingDebugged
15.1.2 NtGlobalFlag
15.1.3 Heap Magic
15.1.4 從源頭消滅BeingDebugged
15.2 回歸NATIVE:用戶態的夢魘
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檢測方法
15.3.2 OllyDbg檢測方法
15.3.3 調試器漏洞
15.3.4 防止調試器附加
15.3.5 父進程檢測
15.3.6 時間差
15.3.7 通過Trap Flag檢測
15.3.8 雙進程保護
第16章 外殼編寫基礎(Hying編寫)35
16.1 外殼的結構
16.2 加殼主程序
16.2.1 判斷文件是否為PE格式
16.2.2 文件基本數據讀入
16.2.3 附加數據讀取
16.2.4 輸入表處理
16.2.5 重定位表處理
16.2.6 文件的壓縮
16.2.7 資源數據處理
16.2.8 區塊的融合
16.3 外殼部分編寫
16.3.1 外殼的加載過程
16.3.2 自建輸入表
16.3.4 外殼引導段
16.3.5 外殼第二段
16.4 將外殼部分添加至原程序
第17章 虛擬機的設計
17.1 原理
17.1.1 反匯編引擎
17.1.2 指令分類
17.2 啟動框架和調用約定
17.2.1 調度器VStartVM
17.2.2 虛擬環境:VMContext
17.2.3 平衡堆棧:VBegin和VCheckEsp
17.3 HANDLER的設計
17.3.1 輔助Handler
17.3.2 普通Handler和指令拆解
17.3.3 標志位問題
17.3.4 相同作用的指令
17.3.5 轉移指令
17.3.6 轉移跳轉指令的另一種實現
17.3.7 CALL指令
17.3.8 retn指令
17.3.9 不可模擬指令
17.4 托管代碼的異常處理
17.4.1 VC++的異常處理
17.4.2 Delphi的異常處理
17.5 小結
第8篇 PEDIY篇
第18章 補丁技術
18.1 文件補丁
18.2 內存補丁
18.2.1 跨進程內存存取機制
18.2.2 Debug API機制
18.2.3 利用調試寄存器機制
18.2.4 DLL劫持技術
18.3 SMC補丁技術
18.3.1 單層SMC補丁技術
18.3.2 多層SMC補丁技術
18.4 補丁工具
第19章 代碼的二次開發
19.1 數據對齊
19.2 增加空間
19.2.1 區塊間隙
19.2.2 手工構造區塊
19.2.3 工具輔助構造區塊
19.3 獲得函數的調用
19.3.1 增加輸入函數
19.3.2 顯式鏈接調用DLL
19.4 代碼的重定位
19.4.1 修復重定位表
19.4.2 代碼的自定位技術
19.5 增加輸出函數
19.6 消息循環
19.6.1 WndProc函數
19.6.2 尋找消息循環
19.6.3 WndProc匯編形式
19.7 修改WNDPROC擴充功能
19.7.1 擴充WndProc
19.7.2 擴充Exit菜單功能
19.7.3 擴充Open菜單功能
19.8 增加接口
19.8.1 用DLL增加功能
19.8.2 擴展消息循環
附錄
附錄A 浮點指令
附錄B 在Visual C++中使用內聯匯編
術語表
參考文獻
【購買本書】
購書指南»
商城名稱
價格
配送信息
優惠活動
去看看
購買
卓越網
¥44.20
送貨上門:國內308個城市
郵寄:全球
特快專遞:全球
海外航空快遞
七周年店慶,全場免費配送
去看看
訂購
當當網
¥44.25
當天加急送:北京五環以內
送貨上門:國內178個城市
郵寄:全球
特快專遞:全球
特惠商品68折封頂
去看看
訂購
中國圖書館網
¥0.4/頁起
郵寄、快遞:全國
特快專遞EMS:全球
提供稀缺絕版圖書文獻影印服務
去看看
預定
說明:
1、由于網上書店可能根據各種情況隨時調整價格,我們的價格信息存在滯后性。以上價格僅作參考,具體以網上書店標示的價格為準。
2、如價格折扣信息和原書定價存在較大誤差,可能是該店售書為本書的不同版本或不同裝禎形式,請讀者自行鑒別。
3、對如何網上購書存在疑問,請點擊上面購書指南鏈接查詢。
本目錄推薦新書
·
計算機安全、可靠性與保...
·
良性入鋟:道德黑客非官...
·
網絡安全基礎應用與標準...
·
網絡安全基礎
·
數字權利管理的安全與保...
·
Security in Communicat...
·
潛在威脅分析:從惡作劇...
·
網絡安全體系結構
·
信息安全風險評估
·
密鑰共享體制和安全多方...
本目錄推薦閱讀
最近瀏覽的書籍
關于我們
-
廣告服務
-
使用幫助
-
購書指南
-
免責聲明
-
商務合作
-
讀書目錄
-
本站書目
-
出版單位
-
聯系我們
Copyright © 讀書網 www.dushu.com 2006-2007, All Rights Reserved.
鄂ICP備06000781號 公安備4201502577