加密與解密

出版時(shí)間:2008-7  出版社:電子工業(yè)出版社  作者:段鋼  頁數(shù):543  
Tag標(biāo)簽:無  

內(nèi)容概要

本書以加密與解密為切入點(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)域教育重視程度還不夠,許多方面還是空白,而近年來許多企業(yè)對(duì)軟件安全技術(shù)人才需求量越來越大。從就業(yè)角度來說,掌握這方面技術(shù),可以提高自身的競(jìng)爭(zhēng)能力;從個(gè)人成長(zhǎng)角度來說,研究軟件安全技術(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)段鋼主持編著。在本書的編寫過程中,參與創(chuàng)作的每位作者傾力將各自擅長(zhǎng)的專業(yè)技術(shù)毫無保留地奉獻(xiàn)給廣大讀者,使得本書展現(xiàn)出了極具價(jià)值的豐富內(nèi)容。如果讀者在閱讀本書后,能夠感受到管窺技術(shù)奧秘帶來的內(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ù)尤為癡迷。多年來常在看雪論壇灌水,見證了論壇的風(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è)加密算法庫CryptoFBC。譯作有《程序員密碼學(xué)》。參與章節(jié):第6章  加密算法丁益青看雪技術(shù)專家。看雪論壇ID為cyclotron,復(fù)旦大學(xué)在讀碩士研究生,復(fù)旦大學(xué)日月光華BBS黑客與系統(tǒng)安全版版主,致力于Windows環(huán)境下可執(zhí)行文件的加密解密與逆向工程研究。主要作品有EmbedPE、IDT Protector、PEunLOCK等。參與章節(jié):第8章  8.3 偽編譯單海波看雪核心專家團(tuán)隊(duì)成員??囱┱搲疘D為tankaiha,生于六朝古都南京,碩士研究生畢業(yè),現(xiàn)任某研究所工程師,工作之余好與計(jì)算機(jī)為伴。2002年接觸匯編并熱衷于病毒技術(shù)學(xué)習(xí),后偶遇看雪學(xué)院,遂終日游戲于程序加密與解密,不可自拔。2006年與kanxue及壇中數(shù)位好友成立.net安全小組DST(Dotnet Reverse Team),共同探討.net平臺(tái)下的軟件安全技術(shù)。參與章節(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)。很高興這次能與各位高手一起合作,也希望能與編程愛好者及加密解密愛好者更多的交流。參與章節(jié):第10章  10.15 編寫PE分析工具趙勇看雪技術(shù)專家。來自江蘇江陰,計(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年編寫過《加密與解密實(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í)。參與章節(jié):第13章  13.9.2 Thmedia的SDK分析afanty看雪技術(shù)專家。多年專業(yè)研究軟件加解密技術(shù)。參與章節(jié):第14章  14.1 防范算法求逆李江濤看雪技術(shù)核心權(quán)威??囱┱搲疘D為ljtt,喜歡學(xué)習(xí)編程技術(shù),常用編程語言為VC/MASM。對(duì)PB、VFP的反編譯有深入的研究,寫過DePB、FoxSpy等程序。平時(shí)大多數(shù)時(shí)間都在電腦上耕作,最大的希望是能夠領(lǐng)悟到編程的精髓,寫一個(gè)自己比較滿意的作品。參與章節(jié):第14章  14.2.2 SMC技術(shù)實(shí)現(xiàn)林子深看雪技術(shù)導(dǎo)師??囱┱搲疘D為forgot,1989年生,看雪論壇外殼開發(fā)小組組長(zhǎng)。熟悉Win32平臺(tái)和80x86匯編,擅長(zhǎng)代碼的逆向,對(duì)殼的研究比較多。參與章節(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)作的加密利器。參與章節(jié):第16章  外殼編寫基礎(chǔ)馮典看雪技術(shù)天才。看雪論壇ID為bughoho,1990年生,來自四川,看雪論壇虛擬機(jī)開發(fā)小組組長(zhǎng),目前工作主要是從事逆向研究。個(gè)人自述:記得14歲時(shí)家里買了臺(tái)電腦,使我對(duì)編程有了極大的興趣。16歲上高一時(shí)已對(duì)讀書徹底不感興趣,于是退學(xué)(現(xiàn)在的我才發(fā)現(xiàn),我并不是對(duì)讀書感興趣,而是對(duì)教育制度的反感)。后來聽了家人的意見,轉(zhuǎn)讀四川新華電腦學(xué)校,感受頗多,一月之后便退學(xué),至于為什么我就不說了。17歲時(shí),一個(gè)偶然的機(jī)會(huì),使我對(duì)逆向有了濃厚的興趣,并接觸到看雪論壇,也認(rèn)識(shí)到了kanxue。承蒙kanxue抬舉,讓我執(zhí)筆虛擬機(jī)這一章,由于我并不是一個(gè)才高八斗的人,所以寫得也沒有那么的妙筆生花、鬼斧神工了。參與章節(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常見問題  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 控制語句   4.5.1 IF-THEN-ELSE語句   4.5.2 SWITCH-CASE語句   4.5.3 轉(zhuǎn)移指令機(jī)器碼的計(jì)算   4.5.4 條件設(shè)置指令   4.5.5 純算法實(shí)現(xiàn)邏輯判斷  4.6 循環(huán)語句  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 常見加密庫接口及其識(shí)別   6.5.1 Miracl大數(shù)運(yùn)算庫   6.5.2 FGInt   6.5.4 其它加密算法庫介紹第4篇 語言和平臺(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 異常處理的基本過程   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 殼的加載過程   13.1.2 脫殼機(jī)   13.1.3 手動(dòng)脫殼  13.2 尋找OEP   13.2.1 根據(jù)跨段指令尋找OEP   13.2.2 用內(nèi)存訪問斷點(diǎn)找OEP   13.2.3 根據(jù)堆棧平衡原理找OEP   13.2.4 根據(jù)編譯語言特點(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 通過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 外殼的加載過程   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)志位問題   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ù)語表參考文獻(xiàn)

章節(jié)摘錄

第1篇 基礎(chǔ)篇第1章 基礎(chǔ)知識(shí)研究加密與解密,必須要了解一些Windows系統(tǒng)的基礎(chǔ)知識(shí),這樣在分析的過程中才能有的放矢地處理各種問題。1.1 文本字符在學(xué)習(xí)過程中會(huì)與各類字符打交道,它們?cè)赪indows里扮演著重要角色。1.1.1 字節(jié)存儲(chǔ)順序多字節(jié)數(shù)據(jù)是按怎樣的順序存放的呢?實(shí)際情況和CPU有關(guān),微處理機(jī)中的存放順序有正序(BiG-Endian)和逆序(Little-Endian)之分。常見的Intel體系芯片使用的編碼方式屬于Little—Endian類;某些RISC架構(gòu)的CPU,如IBM的Power—PC等屬于BiG—Endian類。兩種編碼區(qū)別:·BiG—Endian 高位字節(jié)存入低地址,低位字節(jié)存入高地址,依次排列;·Little—Endian 低位字節(jié)存入低地址,高位字節(jié)存入高地址,反序排列。例如,將12345678h寫入到以1000h開始的內(nèi)存中,則結(jié)果如圖1.1所示。本書以運(yùn)行在Intel x86 CPU上的Windows為講解平臺(tái),因此涉及的編碼皆為L(zhǎng)ittle.Endian類。1.1.2 ASCIl與Unicode字符集美國(guó)信息交換標(biāo)準(zhǔn)碼(ASCII)是一個(gè)7位的編碼標(biāo)準(zhǔn),包括26個(gè)小寫字母、26個(gè)大寫字母、10個(gè)數(shù)字、32個(gè)符號(hào)、33個(gè)控制代碼和一個(gè)空格,總共128個(gè)代碼。由于計(jì)算機(jī)通常用“字節(jié)”(byte)這個(gè)8位的存儲(chǔ)單位來進(jìn)行信息交換,因此不同的計(jì)算機(jī)廠家對(duì)ASCIl進(jìn)行了擴(kuò)充,增加了128個(gè)附加的字符來補(bǔ)充ASCII。

編輯推薦

《加密與解密(第3版)》暢銷書升級(jí)版,值得期待; 看雪軟件安全學(xué)院眾多一流高手合力歷時(shí)4年精心打造; 全面揭示W(wǎng)indows平臺(tái)的加密與解密技術(shù)。 軟件安全是信息安全領(lǐng)域的重要內(nèi)容,涉及到軟件相關(guān)的加密、解密、逆向分析、漏洞分析、安全編程以及病毒分析等。目前,國(guó)內(nèi)高校對(duì)軟件安全教育重視程度不夠,許多方面還是空白。隨著互聯(lián)網(wǎng)應(yīng)用的普及和企業(yè)信息化程度的不斷提升,社會(huì)和企業(yè)對(duì)軟件安全技術(shù)人才需求逐年上升,在計(jì)算機(jī)病毒查殺、網(wǎng)游安全、網(wǎng)絡(luò)安全、個(gè)人信息安全等方面人才缺口很大,相關(guān)職位待遇較高。從就業(yè)角度來看,掌握軟件安全相關(guān)知識(shí)和技能,不但可以提高自身的職場(chǎng)競(jìng)爭(zhēng)能力,而且有機(jī)會(huì)發(fā)揮更大的個(gè)人潛力,獲得滿意的薪酬;從個(gè)人成長(zhǎng)方面來說,研究軟件安全技術(shù)有助于掌握許多系統(tǒng)底層知識(shí),是提升職業(yè)技能的重要途徑。作為一名合格的程序員,除了掌握需求分析、設(shè)計(jì)模式等,如能掌握一些系統(tǒng)底層知識(shí),熟悉整個(gè)系統(tǒng)的底層結(jié)構(gòu),對(duì)自己的工作必將獲益良多。揭示軟件加密與解密最核心,看雪安全技術(shù)團(tuán)隊(duì)全力支持。專家講壇,全面探討,軟件安全問題與解決之道。技術(shù)剖析,深入淺出,分析加密與解密技術(shù)核心。共同進(jìn)步,循序漸進(jìn)。迅速提升讀者的專業(yè)水平?!都用芘c解密(第3版)》技術(shù)支持:看雪軟件安全網(wǎng)站提供《加密與解密(第3版)》的全面技術(shù)支持服務(wù),閱讀此書過程中,如有什么問題或?qū)W習(xí)心得,歡迎光臨論壇與這些傳說中的好手共同交流。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    加密與解密 PDF格式下載


用戶評(píng)論 (總計(jì)144條)

 
 

  •   最開始接觸逆向工程這個(gè)概念,就是通過看雪論壇....本身破解就是一個(gè)很酷的東西...一直覺得很神秘,現(xiàn)在段鋼大大以及看雪的一眾高手傾力出品了這本<<加密與解密>>,在看到介紹之后就果斷滴買了!(加**當(dāng)?shù)蝺r(jià)格也確實(shí)geiliable)...這本書,語言易懂,而且內(nèi)容很全面,看里面的內(nèi)容,是一種享受...里面涵蓋了密碼算法,脫殼技術(shù),以及軟件保護(hù)方面的知識(shí)..適合入門使用.還是標(biāo)題那句話:看雪出品,必屬精品.
  •   真的很好的一本書呀.首先出書的是看雪,在軟件安全方面,看雪可以算是權(quán)威了和向?qū)Я?其次在書中的確會(huì)讓人很快入門,而且學(xué)習(xí)到很多有趣的知識(shí).比如修改PE、DLL劫持……最后,其實(shí)匯編語言不是那么簡(jiǎn)單。學(xué)校的學(xué)的匯編語言還是有用的,不是只能搞DOS下的軟件的。學(xué)習(xí)加密與解密,可以當(dāng)作參考書來學(xué)習(xí),也可以當(dāng)作教科書來學(xué)習(xí)。
  •   這本書包含了加密與解密第二版的重要部分以及軟件加密技術(shù)內(nèi)幕的重要章節(jié),可以說是買此書就等于買了兩本好書。
  •   看雪老大段鋼的新書,真是好書!就是送貨的要求沒滿足我,我星期四定的,星期天就送來了。我在我的送貨要求里是星期一至星期五送貨的,星期天我要上課,但是當(dāng)當(dāng)就偏偏在星期天給送來了。還好我寢室有同學(xué),幫我去拿了~希望當(dāng)當(dāng)下次不要在周末給關(guān)來了,寧可慢一些!還是多做一些評(píng)價(jià)這本書吧,這本書從各個(gè)方便講了加密與解密的內(nèi)容,但是對(duì)于新手來說還是只有前幾章能看懂。對(duì)于后面,沒有PE基礎(chǔ),不熟悉windows編程的人來說,有些難于上手,所以我強(qiáng)烈建議學(xué)完了windows編程后再看這本書,當(dāng)然會(huì)密碼學(xué)算法更好~
  •   建議買0day的時(shí)候也把這本書買了,詳細(xì)介紹了0day中的工具的用法,對(duì)加密解密,軟件漏洞的學(xué)習(xí)很有幫助
  •   看雪潛水N久,早就想買一本來收藏,可惜前面的基本書都絕版了.可惜.這次終于買到了.入門來說不錯(cuò),想要深入的研究加密解密,最主要的就是動(dòng)手,自己實(shí)踐.
  •   這本書非常適合對(duì)軟件安全技術(shù)的人學(xué)習(xí)參考
  •   希望能繼續(xù)出加密解密的進(jìn)階版,感謝看雪論壇,感謝段剛老師。 很希望出新版。
  •   基本來說一本書出到三版以上,質(zhì)量是不會(huì)差的,《加密和解密》也是這樣,我很久以前買了第一版,最近又買了第三版,感覺書的印刷質(zhì)量和內(nèi)容都有了不少提高,這本書是非常適合加解密人的入門書,強(qiáng)烈推薦。
  •   加密與解密是許多人認(rèn)為比較神密高深的東西!我也是這種心態(tài)。但有一種好奇就想去了解所以就購買了這本加密與解密(第三版),但拿到書后,覺得看通這本書還有很長(zhǎng)的路要走。沒有匯編基礎(chǔ),一切得從頭來。路漫漫其修遠(yuǎn),有書有目標(biāo)弄懂終有時(shí)日!
  •   此書不錯(cuò),是軟件加密和破解方面的專家之作。但缺點(diǎn)是沒光盤。當(dāng)當(dāng)送貨比較及時(shí),從定貨到收貨五天。
  •   1、當(dāng)當(dāng)網(wǎng)的貨到付款很好,讓買家放心。2、書本的價(jià)格非常合理,《加密與解密》這本書的價(jià)值遠(yuǎn)遠(yuǎn)大于書本本身,45元相當(dāng)實(shí)惠,比起那些東拼西湊來計(jì)算機(jī)類書籍強(qiáng)的多?。。。。。。。。。。。?!3、讓我最感動(dòng)的是快遞大哥周末的時(shí)候送來的,當(dāng)時(shí)愛人不在家,他可能在家看孩子,但是我一個(gè)電話打過去,他抱著孩子爬6樓給我送來,真是萬分感謝。(注:其實(shí)不需要那么著急的,抱著孩子到6樓給我送,實(shí)在是我的錯(cuò)誤。如果知道的話,我自己去拿就是了)4、感謝當(dāng)當(dāng)網(wǎng)提供這么方便的服務(wù)5、嘿嘿。如果送貨時(shí)間能快一些就好了
  •   軟件安全愛好者案頭必備圖書,內(nèi)容豐富翔實(shí)。發(fā)貨挺迅速的,價(jià)格公道。
  •   對(duì)加密解密感興趣的人,這本書是本很不錯(cuò)的選擇;如果有點(diǎn)匯編和sdk編程經(jīng)驗(yàn)的話,學(xué)起來更容易點(diǎn);
  •   對(duì)于學(xué)加密解密的朋友來說,此書是必讀的
  •   幫你了解網(wǎng)絡(luò)安全是什么,軟件的漏洞都在那里
  •   加密與解密(第三版),增加知識(shí)
  •   較為全面、系統(tǒng)講解了加密、解密概念、方法以及所采用的各類工具。
  •   加密與解密這本書還是值得購買的,讓我學(xué)到不少知識(shí)。
  •   學(xué)習(xí)加密與解密的好書!
  •   書很厚,但文章全是精華。對(duì)Win平臺(tái)下的軟件加解密講得入木三分,精彩至極。這本書的暢銷自在情理之中。建議程序員和有一定匯編基礎(chǔ)的人去拜讀。這本書,只有鉆研,才會(huì)有收獲.
  •   今天終于收到加密與解密第三版了!書包裝不錯(cuò),初次在當(dāng)當(dāng)網(wǎng)購物,感覺不錯(cuò)!以后繼續(xù)合作!
  •   這本書不錯(cuò),是想學(xué)習(xí)加密解密應(yīng)該多看的書。
  •   很好的加密與解密的學(xué)習(xí)材料~~
  •   是學(xué)習(xí)加密解密的好東西啊
  •   加密與解密這本素真的很好,特別適合新手入門。
  •   非常好的書,對(duì)加密解密有興趣的都應(yīng)該看看
  •   好書,從中可以系統(tǒng)地學(xué)到軟件保護(hù)的相關(guān)知識(shí),使讀者受益非淺
  •   看雪出的經(jīng)典書。比較全面,像讀者展示了這個(gè)領(lǐng)域的技術(shù)。
  •   非常詳細(xì)的入門級(jí)教材。加解密技術(shù)本身入門就不容易。需要個(gè)各計(jì)算機(jī)基礎(chǔ)知識(shí)。
  •   對(duì)于學(xué)加密和解密來說,段老大寫的書不錯(cuò),從第一版到三版都購買了,第三版更新了很多新內(nèi)容.
  •   看雪的書要支持一下的,普及技術(shù)
  •   別人說可以不買書,直接看論壇就可以了,其實(shí)不然,本書將所有知識(shí)點(diǎn)整理并有條理的介紹加密和解密!
  •   這本書講解的不錯(cuò),安全領(lǐng)域的好書。
  •   講的內(nèi)容很全面,感覺深度不夠。當(dāng)一個(gè)加密和解密的入門介紹。
  •   這本書綜合了看雪學(xué)院上各方面技術(shù)的精華,雖然看雪上都能夠查到相關(guān)知識(shí),但還是書看著有感覺,查閱起來也方便。
  •   非常實(shí)用,全面,實(shí)用,基礎(chǔ),從代碼層面了解軟件,程序
  •   看雪論壇的經(jīng)典之作,非常值得購買的一本書,希望大家也能支持一下正版圖書!
  •   在看雪論壇看了一些基礎(chǔ)資料,讓我學(xué)到了許多東西.
    如果有一定的基礎(chǔ)看這樣的書,受益菲淺呀.
  •   主要傾向于軟件安全,想搞反病毒的。這個(gè)就可看可不看
  •   書內(nèi)容好,質(zhì)量也是非常好,絕對(duì)是破解加密界的經(jīng)典!
  •   終于買到這本書了,感覺很爽啊,本來對(duì)安全方面就很關(guān)心的我,終于得到滿足了。謝謝看雪學(xué)院,謝謝當(dāng)當(dāng)網(wǎng)
  •   這是一本非常不錯(cuò)的一本書,關(guān)于軟件的內(nèi)部的各個(gè)方面,有一個(gè)非常細(xì)致的說明與講解
  •   很不錯(cuò)的一本書,支持看雪??!呵呵
  •   支持看雪,買了看到我學(xué)習(xí)成績(jī)倒數(shù)第三了,真的很好看
  •   看雪論壇的書,我不怎么搞逆向工程,只是作為自己的愛好。但是我覺得對(duì)逆向思維很有幫助,買了
  •   看雪老大的作品!我就在看雪混!支持!物超所值!
  •   對(duì)于看雪的作品一定支持!
  •   從看雪論壇追著看,此書真的不錯(cuò)
  •   還沒開始看 在看雪論壇 看到的這本書 應(yīng)該很不錯(cuò)吧
  •   這本書是看雪論壇里面的精華帖子的集合,但是讓我們個(gè)人去一個(gè)個(gè)看這些帖子就太費(fèi)勁了,集合起來很好,而且有了條理性了。
  •   也許我是一個(gè)喜歡追根問底的人吧,看到那一個(gè)個(gè)炫目的程序運(yùn)行結(jié)果,就想知道那些代碼是怎么在內(nèi)存中組織的?我還能改進(jìn)它嗎?這本書,將我引進(jìn)了計(jì)算機(jī)底層世界的大門。
  •   本來手上有本書的電子版,初看了十幾頁就已決定入手實(shí)體書了,收到貨后,質(zhì)量很好,講的內(nèi)容也很詳細(xì),例子分析得很到位,有逆向工程基本知識(shí)的人絕對(duì)能在本書中收益頗多,推薦!
  •   對(duì)于想自學(xué)逆向工程這類知識(shí)的學(xué)生,這本書非常經(jīng)典。實(shí)際操作一下書中的例子,自習(xí)思考其中的緣由,可以更快更好地掌握這類知識(shí)。
  •   哥終于正式?jīng)Q定涉足加解密行當(dāng)了,看著本書入門真不錯(cuò)!
  •   書里講的很詳細(xì),真的教會(huì)了我很多東西,看雪論壇真是個(gè)好論壇啊。
  •   是看了看雪論壇推薦菜買的,值得(僅對(duì)我自己)。
  •   內(nèi)容很充實(shí),可以學(xué)到很多的底層知識(shí)
  •   還不錯(cuò),看了與收獲,對(duì)一些底層的東西有更深一步的了解
  •   非常適合實(shí)踐的一本書,底層必備。
  •   很專業(yè)不愧是看雪的老大啊?。。。?!
  •   看雪的教材真的很超值,很喜歡
  •   在看雪學(xué)習(xí)有一段時(shí)間了,可是還有很多地方弄不明白。
  •   接合了前面2本的精華,去除了過時(shí)的東西,增加了新的東西,對(duì)計(jì)算機(jī)各個(gè)方面的人來說都是一本值得收藏的書,我自認(rèn)為是國(guó)人寫的最好的一本計(jì)算機(jī)科普書籍之一,一般計(jì)算機(jī)的書籍都屬國(guó)外的。反正很好很喜歡,很厚,很好,很大,還有很紅。呵呵。。。。已經(jīng)買了支持一下
  •   我很喜歡這本書,它讓我學(xué)了很多以前只以為很懂的技術(shù)
  •   看雪的經(jīng)典之作不用多說了你懂的
  •   看雪出的書,不錯(cuò),性價(jià)比也不錯(cuò)
  •   看雪會(huì)一步一步的引導(dǎo)你走向高手。
  •   看雪的又一經(jīng)典之作??!
  •   俺是初學(xué),看雪的書,肯定值得的了。
  •   看雪出的就是牛,值!
  •   仔細(xì)品嘗看雪的大作是一種享受?。?!
  •   做底層,就要看這本
  •   六月二十九才發(fā)貨過來,還沒看過,是朋友介紹所以就收藏看看樓主:我是現(xiàn)大一學(xué)生,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),還不知適我沒.給個(gè)見意.三克油!!!
  •   技術(shù)永遠(yuǎn)的摯愛
  •   紙張不錯(cuò),大概瀏覽了一下,內(nèi)容挺全面,還沒深入讀,先支持一個(gè)。
  •   是一本好書,問題是我有許多不懂的地方。
  •   雖然書有點(diǎn)老,但是對(duì)于一個(gè)隊(duì)這方面了解很少的來說,作為入門還是挺好的。
  •   還不錯(cuò),是正版的,現(xiàn)在正在看,當(dāng)當(dāng)不錯(cuò),以后繼續(xù)支持,就是發(fā)貨速度有待提高。
  •   首先證明,的確是第三版,當(dāng)時(shí)買的時(shí)候網(wǎng)站上沒有封皮,生怕買錯(cuò)了。書很大,比我想象中的要大,大概比A4紙還要稍微寬一些。很厚也很重,但是紙略微薄了一點(diǎn),不過這么厚的書,是可以理解的。內(nèi)容沒有全看完,講的很細(xì),也很基礎(chǔ)。適合初學(xué)者。不帶光盤,盤需要根據(jù)前言的網(wǎng)址下載。
  •   書的內(nèi)容不錯(cuò),就是對(duì)我來說有點(diǎn)深,最好多點(diǎn)實(shí)例就好了!
  •   不知道是不是發(fā)貨速度太快導(dǎo)致書破了,不過我要的是內(nèi)容,所以外觀就遠(yuǎn)遠(yuǎn)不夠重要了。
  •   送貨很及時(shí),書的內(nèi)容也很容易理解!非常好的一本書!
  •   這本書的內(nèi)容都是循序漸進(jìn)的講解,很好
  •   這本書非常實(shí)在,都是一些高手編的,很好
  •   絕對(duì)好書,非常實(shí)際而且作者很為讀者考慮,盡量減少讀者成本~謝謝作者
  •   質(zhì)量還不錯(cuò),內(nèi)容很強(qiáng)大,不建議沒win編程基礎(chǔ)的人買,讀起來有些吃力!!
  •   學(xué)習(xí)這方面的最好能看下
  •   很經(jīng)典,已經(jīng)第三版了,不過要有匯編的基礎(chǔ)。
  •   內(nèi)容十分豐富,沖著論壇名氣買的,果真沒讓我失望。
  •   看的很費(fèi)勁,但是我會(huì)努力看下去的,是本好書,但是需要有基礎(chǔ)
  •   非常好,非常系統(tǒng)
  •   早就想買這書,都第三版了,只是還沒什么時(shí)間看,印刷質(zhì)量不錯(cuò)
  •   內(nèi)容豐富,全面,
  •   好書。不解釋。
  •   好書,不過多評(píng)論
  •   不錯(cuò),入門的好書
  •   該書發(fā)行與踏雪網(wǎng)站相結(jié)合,既有理論又不乏實(shí)踐,好書。偶喜歡!
  •   一本好書值這個(gè)錢個(gè)人感覺比前兩版寫的要好不少。通俗了好多,作為入門不錯(cuò)
  •   很好!催眠的好書,呵呵
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7