資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡(luò)安全教程|anzei.cn|我的開發(fā)技術(shù)隨記

 找回密碼
 注冊成為正式會員
查看: 47152|回復(fù): 326
打印 上一主題 下一主題

加密與解密第四版 隨書光盤及源碼

  [復(fù)制鏈接]

715

主題

1223

帖子

1

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
11472
積分
4971
貢獻(xiàn)
0
在線時(shí)間
2065 小時(shí)
注冊時(shí)間
2015-4-20
最后登錄
2024-7-9

終身VIP會員

跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2019-5-21 23:40:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
加密與解密第四版 隨書光盤及源碼
前    言
       軟件安全是信息安全領(lǐng)域的重要內(nèi)容,涉及軟件的逆向分析、加密、解密、漏洞分析、安全編程及病毒分析等。隨著互聯(lián)網(wǎng)應(yīng)用的普及和企業(yè)信息化程度的不斷提升,社會和企業(yè)對安全技術(shù)人才的需求逐年增加,國內(nèi)高校對信息安全學(xué)科也越來越重視,但在計(jì)算機(jī)病毒查殺、網(wǎng)絡(luò)安全、個人信息安全等方面的人才缺口仍然很大。習(xí)近平總書記指出“網(wǎng)絡(luò)空間的競爭,歸根結(jié)底是人才競爭”。著重發(fā)現(xiàn)、培養(yǎng)、輸送信息安全專業(yè)人才,已經(jīng)成為各國信息安全戰(zhàn)略的重要組成部分。從就業(yè)的角度來看,掌握信息安全相關(guān)知識和技能,從業(yè)者不但可以提高自身的職場競爭力,而且有機(jī)會發(fā)揮更大的個人潛力、獲得滿意的薪酬;從個人成長方面來說,研究信息安全技術(shù)有助于掌握許多系統(tǒng)底層知識,是提升職業(yè)技能的重要途徑。作為一名合格的程序員,除了掌握需求分析、設(shè)計(jì)模式等,如果能掌握一些系統(tǒng)底層知識,熟悉整個系統(tǒng)的底層結(jié)構(gòu),必將獲益良多。本書以軟件逆向?yàn)榍腥朦c(diǎn),講述了軟件安全領(lǐng)域相關(guān)的基礎(chǔ)知識和技能。讀者在閱讀本書的內(nèi)容后,很容易就能在逆向分析、漏洞分析、安全編程、病毒分析等領(lǐng)域進(jìn)行擴(kuò)展。這些知識點(diǎn)的相互關(guān)聯(lián),將促使讀者開闊思路,使所學(xué)融會貫通,領(lǐng)悟更多的學(xué)習(xí)方法,提升自身的學(xué)習(xí)能力。


[attach]1798[/attach]

[attach]1799[/attach]


  《加密與解密》從第1版到今天的第4版,能夠一直陪伴讀者,完全基于廣大讀者的熱情和鼓舞,在此深表謝意。

目    錄

基礎(chǔ)篇


第1章  基礎(chǔ)知識2


1.1  什么是加密與解密2


1.1.1  軟件的加密與解密2


1.1.2  軟件逆向工程2


1.1.3  逆向分析技術(shù)3


1.2  文本字符4


1.2.1  ASCII與Unicode字符集4


1.2.2  字節(jié)存儲順序6


1.3  Windows操作系統(tǒng)6


1.3.1  Win32 API函數(shù)6


1.3.2  WOW649


1.3.3  Windows消息機(jī)制9


1.3.4  虛擬內(nèi)存10


調(diào)試篇


第2章  動態(tài)分析技術(shù)14


2.1  OllyDbg調(diào)試器14


2.1.1  OllyDbg的界面14


2.1.2  OllyDbg的配置15


2.1.3  基本操作16


2.1.4  常用斷點(diǎn)27


2.1.5  插件35


2.1.6  Run trace36


2.1.7  Hit trace37


2.1.8  調(diào)試符號37


2.1.9  加載程序39


2.1.10  OllyDbg的常見問題40


2.2  x64dbg調(diào)試器42


2.3  MDebug調(diào)試器44


2.3.1  MDebug的界面44


2.3.2  表達(dá)式45


2.3.3  調(diào)試45


2.3.4  斷點(diǎn)46


2.3.5  MDebug的其他功能47


2.4  WinDbg調(diào)試器47


2.4.1  WinDbg的安裝與配置47


2.4.2  調(diào)試過程51


2.4.3  斷點(diǎn)命令51


2.4.4  棧窗口53


2.4.5  內(nèi)存命令55


2.4.6  腳本56


2.4.7  調(diào)試功能擴(kuò)展58


2.4.8  小結(jié)59


第3章  靜態(tài)分析技術(shù)60


3.1  文件類型分析60


3.2  反匯編引擎61


3.2.1  OllyDbg的ODDisasm61


3.2.2  BeaEngine61


3.2.3  Udis8661


3.2.4  Capstone62


3.2.5  AsmJit63


3.2.6  Keystone64


3.2.7  小結(jié)64


3.3  靜態(tài)反匯編65


3.3.1  IDA Pro簡介65


3.3.2  IDA的配置66


3.3.3  IDA主窗口界面68


3.3.4  交叉參考69


3.3.5  參考重命名70


3.3.6  標(biāo)簽的用法71


3.3.7  格式化指令操作數(shù)71


3.3.8  函數(shù)的操作72


3.3.9  代碼和數(shù)據(jù)轉(zhuǎn)換72


3.3.10  字符串73


3.3.11  數(shù)組74


3.3.12  結(jié)構(gòu)體75


3.3.13  枚舉類型79


3.3.14  變量80


3.3.15  FLIRT81


3.3.16  IDC腳本82


3.3.17  插件86


3.3.18  IDA調(diào)試器87


3.3.19  遠(yuǎn)程調(diào)試90


3.3.20  其他功能93


3.3.21  小結(jié)94


3.4  十六進(jìn)制工具94


3.5  靜態(tài)分析技術(shù)應(yīng)用實(shí)例97


3.5.1  解密初步97


3.5.2  逆向工程初步99


解密篇


第4章  逆向分析技術(shù)102


4.1  32位軟件逆向技術(shù)102


4.1.1  啟動函數(shù)102


4.1.2  函數(shù)103


4.1.3  數(shù)據(jù)結(jié)構(gòu)111


4.1.4  虛函數(shù)115


4.1.5  控制語句117


4.1.6  循環(huán)語句124


4.1.7  數(shù)學(xué)運(yùn)算符125


4.1.8  文本字符串128


4.1.9  指令修改技巧130


4.2  64位軟件逆向技術(shù)131


4.2.1  寄存器131


4.2.2  函數(shù)132


4.2.3  數(shù)據(jù)結(jié)構(gòu)142


4.2.4  控制語句145


4.2.5  循環(huán)語句154


4.2.6  數(shù)學(xué)運(yùn)算符158


4.2.7  虛函數(shù)169


4.2.8  小結(jié)193


第5章  演示版保護(hù)技術(shù)194


5.1  序列號保護(hù)方式194


5.1.1  序列號保護(hù)機(jī)制194


5.1.2  如何攻擊序列號保護(hù)機(jī)制195


5.1.3  字符串比較形式197


5.1.4  制作注冊機(jī)198


5.2  警告窗口203


5.3  時(shí)間限制205


5.3.1  計(jì)時(shí)器205


5.3.2  時(shí)間限制205


5.3.3  拆解時(shí)間限制保護(hù)206


5.4  菜單功能限制207


5.4.1  相關(guān)函數(shù)207


5.4.2  拆解菜單限制保護(hù)208


5.5  KeyFile保護(hù)208


5.5.1  相關(guān)API函數(shù)208


5.5.2  拆解KeyFile保護(hù)209


5.6  網(wǎng)絡(luò)驗(yàn)證213


5.6.1  相關(guān)函數(shù)214


5.6.2  破解網(wǎng)絡(luò)驗(yàn)證的一般思路214


5.7  光盤檢測219


5.7.1  相關(guān)函數(shù)219


5.7.2  拆解光盤保護(hù)220


5.8  只運(yùn)行1個實(shí)例221


5.8.1  實(shí)現(xiàn)方法221


5.8.2  實(shí)例222


5.9  常用斷點(diǎn)設(shè)置技巧222


第6章  加密算法223


6.1  單向散列算法223


6.1.1  MD5算法223


6.1.2  SHA算法227


6.1.3  SM3密碼雜湊算法231


6.1.4  小結(jié)231


6.2  對稱加密算法231


6.2.1  RC4流密碼231


6.2.2  TEA算法233


6.2.3  IDEA算法236


6.2.4  BlowFish算法243


6.2.5  AES算法246


6.2.6  SM4分組密碼算法259


6.2.7  小結(jié)259


6.3  公開密鑰加密算法259


6.3.1  RSA算法260


6.3.2  ElGamal公鑰算法264


6.3.3  DSA數(shù)字簽名算法270


6.3.4  橢圓曲線密碼編碼學(xué)272


6.3.5  SM2算法279


6.4  其他算法279


6.4.1  CRC32算法279


6.4.2  Base64編碼280


6.5  常見的加密庫接口及其識別281


6.5.1  Miracl大數(shù)運(yùn)算庫281


6.5.2  FGInt283


6.5.3  其他加密算法庫介紹284


6.6  加密算法在軟件保護(hù)中的應(yīng)用285


系統(tǒng)篇


第7章  Windows內(nèi)核基礎(chǔ)290


7.1  內(nèi)核理論基礎(chǔ)290


7.1.1  權(quán)限級別290


7.1.2  內(nèi)存空間布局291


7.1.3  Windows與內(nèi)核啟動過程292


7.1.4  Windows R3與R0通信294


7.1.5  內(nèi)核函數(shù)296


7.1.6  內(nèi)核驅(qū)動模塊297


7.2  內(nèi)核重要數(shù)據(jù)結(jié)構(gòu)298


7.2.1  內(nèi)核對象298


7.2.2  SSDT表300


7.2.3  TEB302


7.2.4  PEB304


7.3  內(nèi)核調(diào)試基礎(chǔ)306


7.3.1  WinDbg搭建雙機(jī)調(diào)試環(huán)境306


7.3.2  加載內(nèi)核驅(qū)動并設(shè)置符號表308


7.3.3  SSDT與ShadowSSDT表的查看311


第8章  Windows下的異常處理313


8.1  異常處理的基本概念313


8.1.1  異常列表313


8.1.2  異常處理的基本過程314


8.2  SEH的概念及基本知識319


8.2.1  SEH的相關(guān)數(shù)據(jù)結(jié)構(gòu)319


8.2.2  SEH處理程序的安裝和卸載320


8.2.3  SEH實(shí)例跟蹤321


8.3  SEH異常處理程序原理及設(shè)計(jì)325


8.3.1  異常分發(fā)的詳細(xì)過程325


8.3.2  線程異常處理330


8.3.3  異常處理的棧展開336


8.3.4  MSC編譯器對線程異常處理的增強(qiáng)342


8.3.5  頂層異常處理349


8.3.6  異常處理程序的安全性357


8.4  向量化異常處理361


8.4.1  向量化異常處理的使用361


8.4.2  VEH與SEH的異同362


8.4.3  向量化異常處理的新內(nèi)容363


8.5  x64平臺上的異常處理363


8.5.1  原生x64程序的異常分發(fā)364


8.5.2  WOW64下的異常分發(fā)366


8.6  異常處理程序設(shè)計(jì)中的注意事項(xiàng)367


8.7  異常處理的實(shí)際應(yīng)用368


8.7.1  使用SEH對用戶輸入進(jìn)行驗(yàn)證368


8.7.2  SEH在加密與解密中的應(yīng)用369


8.7.3  用VEH實(shí)現(xiàn)API Hook371


8.8  小結(jié)371


第9章  Win32調(diào)試API372


9.1  調(diào)試相關(guān)函數(shù)簡要說明372


9.2  調(diào)試事件375


9.3  創(chuàng)建并跟蹤進(jìn)程377


9.4  調(diào)試循環(huán)體378


9.5  處理調(diào)試事件379


9.6  線程環(huán)境380


9.7  在進(jìn)程中注入代碼382






第10章  VT技術(shù)384






10.1  硬件虛擬化的基本概念384


10.1.1  概述384


10.1.2  相關(guān)結(jié)構(gòu)和匯編指令385


10.1.3  EPT機(jī)制388


10.2  VT技術(shù)應(yīng)用389


10.2.1  編譯運(yùn)行ShadowWalker389


10.2.2  分析Hypervisor390


10.2.3  檢測VT支持情況392


10.2.4  VMCS的配置393


10.2.5  EPT的配置396


10.2.6  開啟VT399


10.2.7  內(nèi)存隱藏的實(shí)現(xiàn)399


10.3  VT技術(shù)的調(diào)試方法401


第11章  PE文件格式404

11.1  PE的基本概念405


11.1.1  基地址405


11.1.2  虛擬地址406


11.1.3  相對虛擬地址406


11.1.4  文件偏移地址407


11.2  MS-DOS頭部407


11.3  PE文件頭408


11.3.1  Signature字段408


11.3.2  IMAGE_FILE_HEADER結(jié)構(gòu)409


11.3.3  IMAGE_OPTIONAL_HEADER結(jié)構(gòu)410


11.4  區(qū)塊415


11.4.1  區(qū)塊表415


11.4.2  各種區(qū)塊的描述417


11.4.3  區(qū)塊的對齊值419


11.4.4  文件偏移與虛擬地址轉(zhuǎn)換420


11.5  輸入表421


11.5.1  輸入函數(shù)的調(diào)用421


11.5.2  輸入表結(jié)構(gòu)422


11.5.3  輸入地址表424


11.5.4  輸入表實(shí)例分析425


11.6  綁定輸入428


11.7  輸出表429


11.7.1  輸出表結(jié)構(gòu)430


11.7.2  輸出表結(jié)構(gòu)實(shí)例分析431


11.8  基址重定位432


11.8.1  基址重定位概念432


11.8.2  基址重定位結(jié)構(gòu)定義433


11.8.3  基址重定位結(jié)構(gòu)實(shí)例分析434


11.9  資源435


11.9.1  資源結(jié)構(gòu)435


11.9.2  資源結(jié)構(gòu)實(shí)例分析438


11.9.3  資源編輯工具440


11.10  TLS初始化440


11.11  調(diào)試目錄441


11.12  延遲載入數(shù)據(jù)441


11.13  程序異常數(shù)據(jù)442


11.14  .NET頭部443


11.15  編寫PE分析工具443


11.15.1  檢查文件格式443


11.15.2  讀取FileHeader和OptionalHeader的內(nèi)容444


11.15.3  得到數(shù)據(jù)目錄表信息445


11.15.4  得到區(qū)塊表信息446


11.15.5  得到輸出表信息447


11.15.6  得到輸入表信息448

第12章  注入技術(shù)450


12.1  DLL注入方法450


12.1.1  通過干預(yù)輸入表處理過程加載目標(biāo)DLL450


12.1.2  改變程序運(yùn)行流程使其主動加載目標(biāo)DLL466


12.1.3  利用系統(tǒng)機(jī)制加載DLL484


12.2  DLL注入的作用490


12.3  DLL注入的防范491


12.3.1  驅(qū)動層防范491


12.3.2  應(yīng)用層防范493


第13章  Hook技術(shù)497


13.1  Hook的概念497


13.1.1  IAT Hook篡改MessageBox消息497


13.1.2  Inline Hook篡改指定MessageBox消息499


13.2  Hook分類500


13.2.1  Address Hook501


13.2.2  Inline Hook511


13.2.3  基于異常處理的Hook513


13.2.4  不是Hook的Hook515


13.3  Hook位置的挑選515


13.4  Hook的典型過程519


13.4.1  Address Hook的實(shí)施過程519


13.4.2  Inline Hook的實(shí)施過程526


13.4.3  基于異常處理的Hook實(shí)施過程529


13.4.4  二次Hook的注意事項(xiàng)532


13.4.5  通用Hook引擎的實(shí)現(xiàn)533


13.5  Detour函數(shù)的典型用法533


13.6  Hook中的注意事項(xiàng)536


13.7  Hook在x64平臺上的新問題541


13.8  Hook技術(shù)的應(yīng)用543


13.9  Hook檢測、恢復(fù)與對抗544


13.9.1  Hook的檢測與恢復(fù)544


13.9.2  Hook對抗545


13.10  本章小結(jié)546


漏洞篇


第14章  漏洞分析技術(shù)548


14.1  軟件漏洞原理548


14.1.1  緩沖區(qū)溢出漏洞548


14.1.2  整型溢出漏洞553


14.1.3  UAF漏洞555


14.2  Shellcode555


14.2.1  Shellcode結(jié)構(gòu)556


14.2.2  Shellcode通用技術(shù)559


14.2.3  實(shí)戰(zhàn)Shellcode編寫560


14.3  漏洞利用566


14.3.1  漏洞利用的基本技術(shù)567


14.3.2  漏洞利用高級技術(shù)570


14.4  漏洞樣本572


14.5  樣本分析573


14.5.1  準(zhǔn)備工作573


14.5.2  靜態(tài)分析574


14.5.3  動態(tài)調(diào)試576


14.5.4  追根溯源581


14.5.5  小結(jié)585


脫殼篇


第15章  專用加密軟件588


15.1  認(rèn)識殼588


15.1.1  殼的概念588


15.1.2  壓縮引擎589


15.2  壓縮殼589


15.2.1  UPX589


15.2.2  ASPack590


15.3  加密殼590


15.3.1  ASProtect590


15.3.2  Armadillo590


15.3.3  EXECryptor591


15.3.4  Themida591


15.4  虛擬機(jī)保護(hù)軟件592


15.4.1  虛擬機(jī)介紹592


15.4.2  VMProtect簡介592


第16章  脫殼技術(shù)594


16.1  基礎(chǔ)知識594


16.1.1  殼的加載過程594


16.1.2  脫殼機(jī)595


16.1.3  手動脫殼596


16.2  尋找OEP596


16.2.1  根據(jù)跨段指令尋找OEP596


16.2.2  用內(nèi)存訪問斷點(diǎn)尋找OEP600


16.2.3  根據(jù)棧平衡原理尋找OEP601


16.2.4  根據(jù)編譯語言特點(diǎn)尋找OEP602


16.3  抓取內(nèi)存映像603


16.3.1  Dump原理603


16.3.2  反Dump技術(shù)604


16.4  重建輸入表606


16.4.1  輸入表重建的原理606


16.4.2  確定IAT的地址和大小607


16.4.3  根據(jù)IAT重建輸入表608


16.4.4  Import REC重建輸入表611


16.4.5  輸入表加密概括614


16.5  DLL文件脫殼615


16.5.1  尋找OEP615


16.5.2  Dump映像文件617


16.5.3  重建DLL的輸入表618


16.5.4  構(gòu)造重定位表619


16.6  附加數(shù)據(jù)621


16.7  PE文件的優(yōu)化623


16.8  壓縮殼626


16.8.1  UPX外殼626


16.8.2  ASPack外殼629


16.9  加密殼633


16.10  靜態(tài)脫殼637


16.10.1  外殼Loader分析637


16.10.2  編寫靜態(tài)脫殼器641


保護(hù)篇

第17章  軟件保護(hù)技術(shù)644


17.1  防范算法求逆644


17.1.1  基本概念644


17.1.2  堡壘戰(zhàn)術(shù)645


17.1.3  游擊戰(zhàn)術(shù)646


17.2  抵御靜態(tài)分析647


17.2.1  花指令647


17.2.2  SMC技術(shù)實(shí)現(xiàn)649


17.2.3  信息隱藏653


17.2.4  簡單的多態(tài)變形技術(shù)654


17.3  文件完整性檢驗(yàn)655


17.3.1  磁盤文件校驗(yàn)實(shí)現(xiàn)655


17.3.2  校驗(yàn)和657


17.3.3  內(nèi)存映像校驗(yàn)657


17.4  代碼與數(shù)據(jù)結(jié)合技術(shù)659


17.4.1  準(zhǔn)備工作660


17.4.2  加密算法的選用661


17.4.3  手動加密代碼661


17.4.4  使 .text區(qū)塊可寫662


17.5  軟件保護(hù)的若干忠告663

第18章  反跟蹤技術(shù)665


18.1  由BeingDebugged引發(fā)的蝴蝶效應(yīng)665


18.1.1  BeingDebugged665


18.1.2  NtGlobalFlag669


18.1.3  Heap Magic671


18.1.4  從源頭消滅BeingDebugged676


18.2  回歸Native:用戶態(tài)的夢魘676


18.2.1  CheckRemoteDebuggerPresent677


18.2.2  ProcessDebugPort677


18.2.3  ThreadHideFromDebugger680


18.2.4  DebugObject682


18.2.5  SystemKernelDebuggerInformation686


18.2.6  Native API688


18.2.7  Hook和AntiHook693


18.3  真正的奧秘:小技巧一覽696


18.3.1  SoftICE檢測方法696


18.3.2  OllyDbg檢測方法698


18.3.3  調(diào)試器漏洞700


18.3.4  防止調(diào)試器附加701


18.3.5  父進(jìn)程檢測703


18.3.6  時(shí)間差703


18.3.7  通過Trap Flag檢測704


18.3.8  雙進(jìn)程保護(hù)704


第19章  外殼編寫基礎(chǔ)746

19.1  外殼的結(jié)構(gòu)746


19.2  加殼主程序747


19.2.1  判斷文件是否為PE格式747


19.2.2  文件基本數(shù)據(jù)讀入748

19.2.3  附加數(shù)據(jù)的讀取749

19.2.4  輸入表的處理749


19.2.5  重定位表的處理752


19.2.6  文件的壓縮754


19.2.7  資源數(shù)據(jù)的處理757

19.2.8  區(qū)塊的融合761


19.3  用匯編寫外殼部分762


19.3.1  外殼的加載過程762

19.3.2  自建輸入表763


19.3.3  外殼引導(dǎo)段764

19.3.4  外殼第2段767


19.3.5  將外殼部分添加至原程序772

19.4  用C++ 編寫外殼部分775


第20章  虛擬機(jī)的設(shè)計(jì)780


20.1  虛擬機(jī)保護(hù)技術(shù)原理780

20.1.1  反匯編引擎780


20.1.2  指令分類780


20.2  啟動框架和調(diào)用約定781


20.2.1  調(diào)度器781

20.2.2  虛擬環(huán)境782

20.2.3  平衡棧VBegin和VCheckEsp783


20.3  Handler的設(shè)計(jì)784


20.3.1  輔助Handler784


20.3.2  普通Handler和指令拆解785


20.3.3  標(biāo)志位問題786


20.3.4  相同作用的指令786


20.3.5  轉(zhuǎn)移指令787

20.3.6  轉(zhuǎn)移跳轉(zhuǎn)指令的另一種實(shí)現(xiàn)788

20.3.7  call指令789


20.3.8  retn指令789


20.3.9  不可模擬指令790


20.4  托管代碼的異常處理790

20.4.1  VC++ 的異常處理790


20.4.2  Delphi的異常處理795


20.5  本章小結(jié)798


第21章  VMProtect逆向和還原淺析799


21.1  VMProtect逆向分析799

21.1.1  VMProtect虛擬執(zhí)行引擎的全景圖799


21.1.2  VMProtect虛擬引擎的基本架構(gòu)804


21.1.3  指令分類804

21.2  VMProtect的還原806

21.2.1  虛擬執(zhí)行系統(tǒng)807

21.2.2  生成完整的字節(jié)碼流程圖808


21.2.3  給Handler命名并添加語義動作815


21.2.4  將字節(jié)碼的低級描述轉(zhuǎn)換為中級描述816

21.2.5  清除無用的字節(jié)碼817

21.2.6  用真值表化簡邏輯指令818

21.2.7  從特征中建立部分寄存器映射信息820

21.2.8  其他無法確定的寄存器的圖著色算法826


21.2.9  使用DAG匹配生成指令829

21.2.10  其他問題832


軟件重構(gòu)篇

第22章  補(bǔ)丁技術(shù)834

22.1  文件補(bǔ)丁834

22.2  內(nèi)存補(bǔ)丁835


22.2.1  跨進(jìn)程內(nèi)存存取機(jī)制835


22.2.2  Debug API機(jī)制837

22.2.3  利用調(diào)試寄存器機(jī)制840


22.2.4  利用DLL注入技術(shù)843


22.2.5  利用Hook技術(shù)847


22.2.6  利用VT技術(shù)850


22.3  SMC補(bǔ)丁技術(shù)853


22.3.1  單層SMC補(bǔ)丁技術(shù)853


22.3.2  多層SMC補(bǔ)丁技術(shù)854

22.4  補(bǔ)丁工具856

第23章  代碼的二次開發(fā)858


23.1  數(shù)據(jù)對齊858

23.2  增加空間858


23.2.1  區(qū)塊間隙858

23.2.2  手工構(gòu)造區(qū)塊859

23.2.3  工具輔助構(gòu)造區(qū)塊860

23.3  獲得函數(shù)的調(diào)用860

23.3.1  增加輸入函數(shù)860


23.3.2  顯式鏈接調(diào)用DLL861

23.4  代碼的重定位862


23.4.1  修復(fù)重定位表862

23.4.2  代碼的自定位技術(shù)864


23.5  增加輸出函數(shù)865


23.6  消息循環(huán)866

23.6.1  WndProc函數(shù)866


23.6.2  尋找消息循環(huán)867

23.6.3  WndProc匯編形式868

23.7  菜單擴(kuò)展869

23.7.1  擴(kuò)充WndProc869


23.7.2  擴(kuò)充Exit菜單的功能870


23.7.3  擴(kuò)充Open菜單的功能870


23.8  DLL擴(kuò)展873

23.8.1  擴(kuò)展接口873

23.8.2  擴(kuò)展消息循環(huán)874


語言篇

第24章  .NET平臺加解密


第24章  .NET平臺加解密        4


24.1  .NET概述        4


24.1.1  什么是 .NET        4


24.1.2  基本概念        5


24.1.3  第1個 .NET程序        6


24.2  MSIL與元數(shù)據(jù)        7


24.2.1  PE結(jié)構(gòu)的擴(kuò)展        7


24.2.2  .NET下的匯編MSIL        14


24.2.3  MSIL與元數(shù)據(jù)的結(jié)合        17


24.3  代碼分析與修改技術(shù)        19


24.3.1  靜態(tài)分析        19


24.3.2  動態(tài)調(diào)試        21


24.3.3  代碼修改        24


24.4  .NET代碼保護(hù)技術(shù)及其逆向        26


24.4.1  強(qiáng)名稱        26


24.4.2  名稱混淆        28


24.4.3  流程混淆        33


24.4.4  壓縮        35


24.4.5  加密        39


24.4.6  其他保護(hù)手段        46


24.5  小結(jié)        48


取證篇

第25章  數(shù)據(jù)取證技術(shù)878

25.1  硬盤數(shù)據(jù)的獲取和固定878


25.1.1  硬盤數(shù)據(jù)的獲取878


25.1.2  電子數(shù)據(jù)的固定882


25.2  硬盤的分區(qū)和數(shù)據(jù)恢復(fù)882


25.2.1  分區(qū)的解析884

25.2.2  基于文件系統(tǒng)的數(shù)據(jù)恢復(fù)原理886

25.3  內(nèi)存分析890


25.3.1  內(nèi)存鏡像的獲取891


25.3.2  內(nèi)存鏡像的分析894

25.4  動態(tài)仿真技術(shù)897


25.4.1  仿真專用硬件897

25.4.2  軟件仿真898


25.5  注冊表900


25.5.1  Hive文件900


25.5.2  注冊表中的時(shí)間901


25.5.3  USB移動存儲設(shè)備902


25.6  文件格式903


25.6.1  文件修復(fù)和特征碼903


25.6.2  基于文件的數(shù)據(jù)恢復(fù)技術(shù)904

25.6.3  數(shù)據(jù)隱藏的分析906


注:附錄以電子版形式,放隨書配套映像文件提供下載。


附錄


附錄A:浮點(diǎn)指令


附錄B:在Visual C++中使用內(nèi)聯(lián)匯編


附錄C:Visual Basic程序


附錄D:加密算法變形引擎


前言
前    言




       軟件安全是信息安全領(lǐng)域的重要內(nèi)容,涉及軟件的逆向分析、加密、解密、漏洞分析、安全編程及病毒分析等。隨著互聯(lián)網(wǎng)應(yīng)用的普及和企業(yè)信息化程度的不斷提升,社會和企業(yè)對安全技術(shù)人才的需求逐年增加,國內(nèi)高校對信息安全學(xué)科也越來越重視,但在計(jì)算機(jī)病毒查殺、網(wǎng)絡(luò)安全、個人信息安全等方面的人才缺口仍然很大。習(xí)近平總書記指出“網(wǎng)絡(luò)空間的競爭,歸根結(jié)底是人才競爭”。著重發(fā)現(xiàn)、培養(yǎng)、輸送信息安全專業(yè)人才,已經(jīng)成為各國信息安全戰(zhàn)略的重要組成部分。從就業(yè)的角度來看,掌握信息安全相關(guān)知識和技能,從業(yè)者不但可以提高自身的職場競爭力,而且有機(jī)會發(fā)揮更大的個人潛力、獲得滿意的薪酬;從個人成長方面來說,研究信息安全技術(shù)有助于掌握許多系統(tǒng)底層知識,是提升職業(yè)技能的重要途徑。作為一名合格的程序員,除了掌握需求分析、設(shè)計(jì)模式等,如果能掌握一些系統(tǒng)底層知識,熟悉整個系統(tǒng)的底層結(jié)構(gòu),必將獲益良多。本書以軟件逆向?yàn)榍腥朦c(diǎn),講述了軟件安全領(lǐng)域相關(guān)的基礎(chǔ)知識和技能。讀者在閱讀本書的內(nèi)容后,很容易就能在逆向分析、漏洞分析、安全編程、病毒分析等領(lǐng)域進(jìn)行擴(kuò)展。這些知識點(diǎn)的相互關(guān)聯(lián),將促使讀者開闊思路,使所學(xué)融會貫通,領(lǐng)悟更多的學(xué)習(xí)方法,提升自身的學(xué)習(xí)能力。


  《加密與解密》從第1版到今天的第4版,能夠一直陪伴讀者,完全基于廣大讀者的熱情和鼓舞,在此深表謝意。


本書的緣起
      在信息社會里,安全技術(shù)變得越來越重要,如何普及安全知識是作者始終關(guān)注的一個大問題。正是為了更好地將安全知識普及到社會各個領(lǐng)域的愿望,促成了本書的問世。依托看雪學(xué)院的技術(shù)背景,由作者主編和主導(dǎo)的看雪安全系列書籍,目前已出版發(fā)行了《加密與解密——軟件保護(hù)技術(shù)及完全解決方案》(簡體版,繁體版)、《加密與解密(第二版)》(簡體版,繁體版)、《加密與解密(第三版)》(簡體版,繁體版)、《軟件加密技術(shù)內(nèi)幕》等;基于電子資料的形式,歷年發(fā)行的《看雪論壇精華》被眾多網(wǎng)站轉(zhuǎn)載,保守計(jì)算,其下載量已達(dá)數(shù)百萬次,極大地推動了國內(nèi)安全技術(shù)的發(fā)展。


     這是一本很難寫的書,因?yàn)樵?000年時(shí),軟件安全是一個全新的領(lǐng)域,從Windows 95面世以來的6年內(nèi),市面上沒有一本這方面的書,網(wǎng)上也缺乏相關(guān)資料。為了填補(bǔ)國內(nèi)Windows平臺軟件安全書籍的空白,作者與看雪論壇的一流好手努力合作,克服種種困難,于2001年9月推出了國內(nèi)第一本全面介紹Windows平臺軟件安全技術(shù)的書籍,這就是本書的第1版《加密與解密——軟件保護(hù)技術(shù)及完全解決方案》。這本書一經(jīng)面世,就得到了廣大讀者的喜愛和認(rèn)可,獲得了2002年全國優(yōu)秀暢銷書獎(科技類),在全國很多計(jì)算機(jī)專業(yè)書店獲得了極佳的銷售業(yè)績。2003年,本書的繁體版在臺灣地區(qū)發(fā)行,受到了臺灣讀者的熱烈歡迎。
購買主題 本主題需向作者支付 666 資源幣 才能瀏覽
回復(fù)

使用道具 舉報(bào)

16

主題

641

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
278
積分
913
貢獻(xiàn)
0
在線時(shí)間
165 小時(shí)
注冊時(shí)間
2018-6-18
最后登錄
2024-10-4

終身VIP會員

沙發(fā)
發(fā)表于 2019-5-22 03:42:54 | 只看該作者
thanks............
回復(fù)

使用道具 舉報(bào)

3

主題

227

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
50
積分
234
貢獻(xiàn)
0
在線時(shí)間
69 小時(shí)
注冊時(shí)間
2019-5-9
最后登錄
2023-11-1

終身VIP會員

板凳
發(fā)表于 2019-5-22 09:05:13 | 只看該作者
加密與解密第四版 隨書光盤及源碼

4

主題

592

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
595
積分
930
貢獻(xiàn)
0
在線時(shí)間
281 小時(shí)
注冊時(shí)間
2016-11-24
最后登錄
2024-7-28

終身VIP會員

地板
發(fā)表于 2019-5-22 09:56:41 | 只看該作者
下載學(xué)習(xí)下

5

主題

674

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
515
積分
1163
貢獻(xiàn)
0
在線時(shí)間
125 小時(shí)
注冊時(shí)間
2017-6-12
最后登錄
2024-10-18

終身VIP會員

5#
發(fā)表于 2019-5-22 10:00:26 | 只看該作者
23333
回復(fù)

使用道具 舉報(bào)

6

主題

832

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
2555
積分
2757
貢獻(xiàn)
0
在線時(shí)間
549 小時(shí)
注冊時(shí)間
2015-10-8
最后登錄
2024-2-17

終身VIP會員

6#
發(fā)表于 2019-5-22 14:24:11 | 只看該作者

我發(fā)現(xiàn)我一天也離不開資源共享吧了!
我發(fā)現(xiàn)我一天也離不開資源共享吧了!
我發(fā)現(xiàn)我一天也離不開資源共享吧了!
我發(fā)現(xiàn)我一天也離不開資源共享吧了!
我發(fā)現(xiàn)我一天也離不開資源共享吧了!

2

主題

60

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
48
積分
62
貢獻(xiàn)
0
在線時(shí)間
10 小時(shí)
注冊時(shí)間
2019-4-30
最后登錄
2019-8-29

終身VIP會員

7#
發(fā)表于 2019-5-22 14:33:09 | 只看該作者
11111111
回復(fù)

使用道具 舉報(bào)

1

主題

285

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
142
積分
307
貢獻(xiàn)
0
在線時(shí)間
31 小時(shí)
注冊時(shí)間
2018-6-16
最后登錄
2023-12-4

終身VIP會員

8#
發(fā)表于 2019-5-22 17:42:32 | 只看該作者
6666666666

4

主題

148

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
157
積分
174
貢獻(xiàn)
0
在線時(shí)間
48 小時(shí)
注冊時(shí)間
2019-1-10
最后登錄
2024-9-4

終身VIP會員

9#
發(fā)表于 2019-5-22 21:19:45 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

4

主題

590

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
201
積分
616
貢獻(xiàn)
0
在線時(shí)間
110 小時(shí)
注冊時(shí)間
2019-5-22
最后登錄
2023-1-17

終身VIP會員

10#
發(fā)表于 2019-5-23 00:24:17 | 只看該作者
不錯的書。。。。
回復(fù)

使用道具 舉報(bào)

 點(diǎn)擊右側(cè)快捷回復(fù)  

本版積分規(guī)則

小黑屋|資源共享吧 ( 瓊ICP備2023000410號-1 )

GMT+8, 2024-10-23 06:23 , Processed in 0.063307 second(s), 17 queries , MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回復(fù) 返回頂部 返回列表