[www.ed2k.online]下載基地為您提供軟件、遊戲、圖書、教育等各種資源的ED2K電驢共享下載和MAGNET磁力鏈接下載。
設為首頁
加入收藏
首頁 圖書資源 軟件資源 游戲資源 教育資源 其他資源
 電驢下載基地 >> 图书资源 >> 計算機與網絡 >> 《加密與解密(第三版) PDF+光盤鏡像+附帶電子檔完整版》PDF+光盤鏡像+額外電子文檔完整版
《加密與解密(第三版) PDF+光盤鏡像+附帶電子檔完整版》PDF+光盤鏡像+額外電子文檔完整版
下載分級 图书资源
資源類別 計算機與網絡
發布時間 2017/7/10
大       小 -
《加密與解密(第三版) PDF+光盤鏡像+附帶電子檔完整版》PDF+光盤鏡像+額外電子文檔完整版 簡介: 中文名 : 加密與解密(第三版) PDF+光盤鏡像+附帶電子檔完整版 作者 : 段鋼 圖書分類 : 軟件 版本 : PDF+光盤鏡像+額外電子文檔完整版 出版社 : 電子工業出版社 書號 : 9787121066443 發行時間 : 2008年7日 地區 : 大陸 語言 : 簡體中文 簡介 : 內容簡介 本書以加密與解密為切入點,講述了軟件安全領域許多基礎知識和
電驢資源下載/磁力鏈接資源下載:
全選
"《加密與解密(第三版) PDF+光盤鏡像+附帶電子檔完整版》PDF+光盤鏡像+額外電子文檔完整版"介紹
中文名: 加密與解密(第三版) PDF+光盤鏡像+附帶電子檔完整版
作者: 段鋼
圖書分類: 軟件
版本: PDF+光盤鏡像+額外電子文檔完整版
出版社: 電子工業出版社
書號: 9787121066443
發行時間: 2008年7日
地區: 大陸
語言: 簡體中文
簡介:

內容簡介
本書以加密與解密為切入點,講述了軟件安全領域許多基礎知識和技能,如調試技能、逆向分析、加密保護、外殼開發、虛擬機設計等。讀者在掌握本書的內容,很容易在漏洞分析、安全編程、病毒分析、軟件保護等領域擴展,這些知識點都是相互的,彼此聯系。國內高校對軟件安全這塊領域教育重視程度還不夠,許多方面還是空白,而近年來許多企業對軟件安全技術人才需求量越來越大。從就業角度來說,掌握這方面技術,可以提高自身的競爭能力;從個人成長角度來說,研究軟件安全技術有助於掌握一些系統底層知識,是提升職業技能的重要途徑。作為一名合格的程序員,除了掌握需求分析、設計模式等外,如能掌握一些系統底層知識,熟悉整個系統的底層結構,對自己的工作必將獲益良多。
本書可以作為學校或培訓機構的軟件安全輔助教材,是安全技術愛好者、調試人員、程序開發人員不可多得的一本好書。
內容截圖

勘誤表
Lm 表示第m 行,L-n 表示倒數第n 行 ,Dn 表示第n次印刷(D1表示2008年7月第一次印刷,D2表示2008年7月第二次印刷)
PⅤ L-10 D1/D2
反饋者:shoooo
原文:看雪資深版主。看雪論壇ID為linhansh
更正:看雪資深版主。看雪論壇ID為linhanshi
PⅤ L9 D1
反饋者: ddstrg
原文: 我並不是讀書感興趣
更正: 我並不是讀書不感興趣
Ⅹ L-20 D1/D2
反饋者:家有睡神
原文:調試SHE
更正:調試SEH
PⅪ L12 D1/D2
反饋者:shoooo
原文:北極星2003、笨雄、rackabcer、nbragon、inhanshi
更正:北極星2003、笨笨雄、crackabcer、cnbragon、linhanshi
PⅣ L-17 D1/D2
反饋者:shoooo
原文:13.9.2 Themidia的SDK分析
更正:13.9.2 Themida的SDK分析
PⅪ L12 D1/D2
反饋者:shoooo
原文:感謝linhansh在工具方面提供的幫助!
更正:感謝linhanshi在工具方面提供的幫助!
PⅪ L6 D1/D2
反饋者:shoooo
原文:特別感謝盛大網絡發展有限公司徐海俠
更正:特別感謝盛大網絡發展有限公司徐海峽
P5 L-1 D1/D2
反饋者:清風
原文:用此,函數設置
更正:用此函數設置
P4 L18 D1/D2/D3/D4
原文: 現在稱做 Win32
更正: 現在稱作 Win32
P5 L-12 D1/D2
反饋者:senhuxi
原文:hmemcpy函數的注釋排版有問題
更正:三行注釋均下移一行
P5 L-1,L-2 D1/D2
反饋者:kmlch
原文:Memcpy
更正:memcpy
P11 L9 D1/D2
反饋者:未秋葉已落
原文:和這個程序執行不無關的東西
更正:和這個程序執行無關的東西
P21 L-9 D1/D2
反饋者:kmlch
原文: 模塊加載/卸載、線程創建結束等事件的處理
更正: 模塊加載/卸載、線程創建/結束等事件的處理
P22 L12 D1/D2
反饋者:kmlch
原文: 遇到CALL跳過,不跟進
更正: 遇到CALL路過,不跟進
說明: 文中下面多次用到路過,還要用步過的,建議統一表述為其中的三個中的一個。
P22 L13 D1/D2
反饋者:usufu
原文:直到出現RET指定時中斷(表2-1)
更正:直到出現RET指令時中斷
P23 L2,D1
反饋者:yangjt
原文:會返回到4013FA這句
更正:會返回到4013FF這句
P27 L7,D1
反饋者:yangjt
原文:單擊一次ZF的值取反
更正:雙擊一次ZF的值取反
P32 L1 D1/D2
反饋者:senhuxi
原文:其中的一個設置為44013AA
更正:其中的一個設置為4013AA
P36 L-11,L-8 D1/D2
反饋者:青楓
原文:40147C
更正:401476
(附圖2.36光條應該停在401476這行)
P37 L2,D1
反饋者:yangjt
原文:彈出時從堆棧窗口中看到的
更正:中斷時從堆棧窗口中看到的
P37 L6,D1
反饋者:yangjt
原文:要得到第一個參數的值
更正:要得到第一個參數的內存地址
P43 L-17,D2
反饋者:XLSDG
原文:OllDbg出會現假死現像
更正:OllDbg會出現假死現象
P44 L4,D1
反饋者:yangjt
原文:這類語言的編譯後程序
更正:這類語言編譯後的程序
P45 L-2 D1
反饋者:hdy981
原文:intel
更正:Intel
P46 L3 D1/D2
反饋者:hdy981
原文:OllyDdg
更正:OllyDbg
P50 L1 D1
反饋者:senhuxi
原文:WindProc
更正:圖3.10 內容為"WindProc",而相對應的圖3.11卻為"WindClass"
P60 L-1 D1
反饋者:嗜血狂君
原文:功能就是將40011AB到4011C3之間的
更正:功能就是將401060到401074之間的
P62 L15 D1/D2
反饋者:青楓
原文:在DA\SIG目錄中
更正:在IDA\SIG目錄中
P78 L-8 D1/D2
反饋者:pathletboy
原文:pascal程序實體不合適。
更正:(更正暫時留著,修正的代碼以後放出)
P79 L9 D1/D2/D3/D4
反饋者:AsmDebuger
原文:mov eax, [ebp-4] ; 將局部變量指針返回到eax
更正:mov eax, [ebp-4] ; 將局部變量返回到eax
P80 L4,D1
反饋者:yangjt
原文:將參數b的值
更正:將參數a的值
P81 L13 D1
反饋者:Gruuuuubby
原文:0040101B puash ecx
更正:0040101B push ecx
P83 L5,D1
反饋者:yangjt
原文:基址加上某變量
更正:基址加變址尋址
P99 L14 D1/D2/D3/D4
反饋者:jerrysun
原文:
inc cx
Loop B20
更正:
inc bx
Loop B20
P106 L18 D1/D2
反饋者:Xacs
原文:進入子程序(keymakep設置第一次中斷地址)
更正:進入子程序(keymake裡設置第一次中斷地址)
P107 L-23 D1/D2/D3/D4
反饋者:keagan
原文:將 序列號 1212
更正:將 序列號 1234
P113 L9 D1/D2
反饋者:littlewisp
原文:1.使用SetTime()函數
更正:1.使用SetTimer()函數
P115 L7 D1/D2
反饋者:senhuxi
原文:來到地址4010C6,輸入修改指令"jmp 4010C6"
更正:來到地址4010C6,輸入修改指令"jmp 4010D6"
P135 L1 D1/D2
反饋者:kan
原文:“push ecx,ecx”中即為
更正:“push ecx”,ecx中即為
P136 L16 D1/D2
反饋者:lizaixue
原文:其設計時基於和MD4相同的原理
更正:其設計是基於和MD4相同的原理
P202 L-11 D1/D2/D3/D4
反饋者:keagan
原文:correct=pediy
更正:correct="pediy"
P264 L-14 D1
反饋者:usufu
原文:在32位Windows系統中,以為不存在共享地址空間,所以已用程序無需加以區別。
更正:在32位Windows系統中,已經不存在共享地址空間,所以已用程序無需加以區別。
P266 L-3 D1
反饋者:junxiong
原文:MAGE_NT_SIGNATURE
更正:IMAGE_NT_SIGNATURE
P266 L-20 D1/D2/D3/D4
反饋者:keagan
原文:圖10.3 查看PE文件 MD-DOS 頭部
更正:圖10.3 查看PE文件 MS-DOS 頭部
P268 L3 D1/D2/D3/D4
反饋者:雨中的魚
原文:DLL這個字段的值一般是0210h。
更正:DLL這個字段的值一般是210Eh。
P277 L-3 D1/D2
反饋者:kangaroo
原文:k=1800h,故 ……4020D2h - 400000h – 1800h = 8D2h
更正:k=1A00h,故 ……4020D2h - 400000h – 1A00h = 6D2h
p285 L26 D1/D2/D3/D4
反饋者:manbug
原文:數據目錄表(DataDirectory)的第11個成員指向綁定輸入。
更正:數據目錄表(DataDirectory)的第12個成員指向綁定輸入。
P288 L-2 D1
反饋者:senhuxi
原文:文件偏移0C00h處是輸出表內容,具體如圖10.21所示。
更正:(這句話沒問題,是圖10.21有問題)圖10.21“Offset"用的是10進制表示
P288 L-9 D1
反饋者:usufu
原文:即輸入表在內存中偏移4000h的地方。
更正:即輸出表在內存中偏移4000h的地方。
P296 L5 D1/D2/D3/D4
反饋者:雨中的魚
原文:NumberOfNamedEntries為0,NumberOfIdEntries為1。
更正:NumberOfNamedEntries為1,NumberOfIdEntries為0。
P307 L-6 D1/D2/D3/D4
反饋者:未秋葉落
原文: 可以選擇“關閉”或者最後將其附加到調試器上的“調試”按鈕。
更正: 可以選擇“確定”或者最後將其附加到調試器上的“取消”按鈕。
P320 L-4 D1/D2/D3/D4
反饋者:hdy981
原文:擅用SDK
更正:善用SDK
P325 L-17 D1/D2
反饋者:hdy981
原文:被映像到
更正:被映射到
P326 L-7 D1
反饋者:hdy981
原文:決大多數
更正:絕大多數
P332 L-7 D1/D2/D3/D4
反饋者:isiah
原文:其是把內存指定地址的映像文件讀取出來
更正:其實是把內存指定地址的映像文件讀取出來
P335 L-4 D1
反饋者:hdy981
原文:就可以Dump內存境像了
更正:就可以Dump內存鏡像了
P337 L-1 D1/D2/D3/D4
反饋者:obaby
原文:大小為450B8h-405000h=B8h。
更正:大小為4050B8h-405000h=B8h。
P367 L9 D1/D2
原文:13.9.2 Themidia的SDK分析
更正:13.9.2 Themida的SDK分析
P388 L15 D1
反饋者:軒轅小聰
原文:callloc_next
更正:call loc_next
P432 L5 D1
反饋者:smartsl
原文:這段代碼恢復了Rizng 3級對ntdll.dll
更正:這段代碼恢復了Ring 3級對ntdll.dll
P462 L-2 D1
反饋者:hdy981
原文:在後面會用Getmulehandle取基地址
更正:在後面會用GetModuleHandle 取基地址
P467 L15 D1/D2/D3/D4
反饋者:hdy981
原文: S_FileIsDll DD 0 ;存放原始是事為DLL的標志
更正: S_FileIsDll DD 0 ;存放原始程序為DLL的標志
P474 L-275
反饋者:kangaroo
原文:VBegin代碼所有的:add esp,4
更正: 更正為:add ebp,4
注:光盤源碼正確。
P516 L-9 D1
反饋者:junxiong
原文:執行這句後,ebp=401005h
更正:執行這句後,edx=401005h
P516 L-10 D1
反饋者:junxiong
原文:執行這句後,ebp=401005h
更正:執行這句後,edx=401000h
P525 L-7 D1/D2
反饋者:Fido
原文:創建DLL文件
更正:調用DLL函數
P538 L-1 D1/D2/D3/D4
反饋者:yangjt
原文:MOV ESP,EBP
更正:MOV EBP,ESP
參考文獻 L-8 D1
反饋者:usufu
原文:揚季文.80X86匯編語言程序設計教程
更正:楊季文.80X86匯編語言程序設計教程
光盤映像文件勘誤
18.2.2 Debug API機制 和 18.2.3 利用調試寄存器機制 目錄下的源碼:
搜索:ContinueDebugEvent(pi.dwProcessId, pi.dwThreadId, dwState) ;
替換:ContinueDebugEvent(DBEvent.dwProcessId, DBEvent.dwThreadId, dwState) ;
目錄:
前言
第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++中使用內聯匯編
術語表
參考文獻 
相關資源:

免責聲明:本網站內容收集於互聯網,本站不承擔任何由於內容的合法性及健康性所引起的爭議和法律責任。如果侵犯了你的權益,請通知我們,我們會及時刪除相關內容,謝謝合作! 聯系信箱:[email protected]

Copyright © 電驢下載基地 All Rights Reserved