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

軟件加密技術(shù)內(nèi)幕

軟件加密技術(shù)內(nèi)幕

定 價(jià):¥45.00

作 者: 看雪學(xué)院 編著
出版社: 電子工業(yè)出版社
叢編項(xiàng): 7-121-00098-9
標(biāo) 簽: 加密與解密

ISBN: 9787121000980 出版時(shí)間: 2004-07-01 包裝: 膠版紙
開(kāi)本: 小16開(kāi) 頁(yè)數(shù): 368 字?jǐn)?shù):  

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

  本書(shū)結(jié)合實(shí)例,重點(diǎn)講述了軟件加密技術(shù)及其實(shí)施方案,以幫助程序員更好地保護(hù)自己的軟件。書(shū)中介紹了相關(guān)系統(tǒng)底層知識(shí),例如,PE格式深入分析、調(diào)試API應(yīng)用、未公開(kāi)技術(shù)SEH的深入研究等,從而使讀者在了解這些底層知識(shí)后,可以應(yīng)用到自己的軟件保護(hù)方案如各種反跟蹤技術(shù)的實(shí)現(xiàn)中。本書(shū)還首度公開(kāi)了如何編寫(xiě)加殼軟件,以及如何將殼與程序融合在一起等一些熱門(mén)技術(shù)。本書(shū)由密界一流高手共同打造,讀者將從本書(shū)中獲得許多極具商業(yè)價(jià)值的內(nèi)幕技術(shù),是專業(yè)開(kāi)發(fā)人員不可多得的一本好書(shū)。

作者簡(jiǎn)介

  段鋼,網(wǎng)名看雪,1994年畢業(yè)于上海同濟(jì)大學(xué),看雪學(xué)院(http://www.pediy.com)站長(zhǎng),致力于軟件加密與解密研究。2001年9月組織推出國(guó)內(nèi)第一本全面介紹Windows平臺(tái)下軟件的加密與解密技術(shù)的書(shū)籍《加密與解密——軟件保護(hù)技術(shù)及完全解決方案》。2003年6月出版《加密與解密》(第二版)。

圖書(shū)目錄

第1章  PE文件格式的深入分析
  1.1  PE文件格式縱覽
    1.1.1  區(qū)塊
    1.1.2  相對(duì)虛擬地址  
    1.1.3  數(shù)據(jù)目錄表
    1.1.4  輸入函數(shù)
  1.2  PE文件結(jié)構(gòu) 
    1.2.1  MS-DOS頭部 
    1.2.2  IMAGE_NT_HEADERS頭部
    1.2.3  區(qū)塊表
    1.2.4  各種區(qū)塊的描述
    1.2.5  輸出表 
    1.2.6  輸出轉(zhuǎn)向
    1.2.7  輸入表
    1.2.8  綁定輸入
    1.2.9  延遲裝入數(shù)據(jù) 
    1.2.10  資源 
    1.2.11  基址重定位
    1.2.12  調(diào)試目錄
    1.2.13  .NET頭部
    1.2.14  TLS初始化
    1.2.15  程序異常數(shù)據(jù)
第2章  PE分析工具編寫(xiě) 
  2.1  文件格式檢查 
  2.2  FileHeader和OptionalHeader內(nèi)容的讀取 
  2.3  得到數(shù)據(jù)目錄表信息
  2.4  得到區(qū)塊表信息
  2.5  得到輸出表信息
  2.6  得到輸入表信息
第3章  Win32  調(diào)試API
  3.1  Win32調(diào)試API原理 
    3.1.1  調(diào)試相關(guān)函數(shù)簡(jiǎn)要說(shuō)明 
    3.1.2  調(diào)試事件 
    3.1.3  如何在調(diào)試時(shí)創(chuàng)建并跟蹤一個(gè)進(jìn)程
    3.1.4  調(diào)試循環(huán)體
    3.1.5  如何處理調(diào)試事件  
    3.1.6  線程環(huán)境詳解
    3.1.7  如何在另一個(gè)進(jìn)程中注入代碼
  3.2  利用調(diào)試API編寫(xiě)脫殼機(jī) 
    3.2.1  tElock  0.98脫殼簡(jiǎn)介
    3.2.2  脫殼機(jī)的編寫(xiě) 
  3.3  利用調(diào)試API制作內(nèi)存補(bǔ)丁 
    3.3.1  跨進(jìn)程內(nèi)存存取機(jī)制  
    3.3.2  Debug  API機(jī)制  
第4章  Windows下的異常處理
  4.1  基本概念 
    4.1.1  Windows下的軟件異常  
    4.1.2  異常處理的基本過(guò)程
    4.1.3  SEH的分類
    4.1.4  未公開(kāi)的可靠嗎 
  4.2  SEH相關(guān)數(shù)據(jù)結(jié)構(gòu)
    4.2.1  TIB結(jié)構(gòu) 
    4.2.2  EXCEPTION_REGISTRATION結(jié)構(gòu) 
    4.2.3  EXCEPTION_POINTERS,EXCEPTION_RECORD,CONTEXT結(jié)構(gòu)
  4.3  異常處理程序原理及設(shè)計(jì)  
    4.3.1  相關(guān)API
    4.3.2  頂層異常處理 
    4.3.3  線程異常處理
    4.3.4  異常處理的堆棧展開(kāi) 
    4.3.5  異常處理程序設(shè)計(jì)中的注意事項(xiàng) 
  4.4  SEH的簡(jiǎn)單應(yīng)用 
    4.4.1  Windows  9x下利用SEH進(jìn)入Ring0
    4.4.2  利用SEH實(shí)現(xiàn)對(duì)自身的單步自跟蹤
    4.4.3  其他應(yīng)用
  4.5  系統(tǒng)背后的秘密
  4.6  VC如何封裝系統(tǒng)提供的SEH機(jī)制
    4.6.1  擴(kuò)展的EXCEPTION_REGISTRATION級(jí)相關(guān)結(jié)構(gòu)
    4.6.2  數(shù)據(jù)結(jié)構(gòu)組織
  4.7  Windows  XP下的向量化異常處理
第5章  反跟蹤技術(shù) 
  5.1  反調(diào)試技術(shù) 
    5.1.1  句柄檢測(cè) 
    5.1.2  SoftICE后門(mén)指令 
    5.1.3  int68子類型
    5.1.4  ICECream子類型  
    5.1.5  判斷NTICE服務(wù)是否運(yùn)行
    5.1.6  INT  1  檢測(cè) 
    5.1.7  利用UnhandledExceptionFilter檢測(cè)
    5.1.8  INT  41子類型 
  5.2  斷點(diǎn)檢測(cè)技術(shù)
    5.2.1  檢測(cè)函數(shù)首地址
    5.2.2  利用SEH防范BPX斷點(diǎn) 
    5.2.3  利用SEH防范BPM斷點(diǎn) 
  5.3  反加載技術(shù)(Anti-Loader) 
    5.3.1  利用TEB檢測(cè)  
    5.3.2  利用IsDebuggerPresent函數(shù)檢測(cè)  
    5.3.3  檢查父進(jìn)程  
  5.4  反監(jiān)視技術(shù)(Anti-Monitor)
    5.4.1  窗口方法檢測(cè)
    5.4.2  句柄檢測(cè)
  5.5  反靜態(tài)分析技術(shù)
    5.5.1  擾亂匯編代碼 
    5.5.2  花指令
    5.5.3  SMC技術(shù)實(shí)現(xiàn) 
    5.5.4  信息隱藏  
  5.6  反DUMP技術(shù)(Anti-Dump)
  5.7  文件完整性檢驗(yàn) 
    5.7.1  磁盤(pán)文件校驗(yàn)實(shí)現(xiàn)
    5.7.2  校驗(yàn)和
    5.7.3  內(nèi)存映像校驗(yàn)
  5.8  代碼與數(shù)據(jù)結(jié)合技術(shù) 
    5.8.1  準(zhǔn)備工作
    5.8.2  加密算法選用  
    5.8.3  手動(dòng)加密代碼
    5.8.4  使.text區(qū)塊可寫(xiě) 
    5.8.5  重定位
  5.9  軟件保護(hù)的若干忠告
第6章  加殼軟件編寫(xiě) 
  6.1  外殼編寫(xiě)基礎(chǔ)  
    6.1.1  判斷文件是否是PE-EXE文件
    6.1.2  文件基本數(shù)據(jù)的讀入
    6.1.3  額外數(shù)據(jù)保留 
    6.1.4  重定位數(shù)據(jù)的去除
    6.1.5  文件的壓縮  
    6.1.6  資源區(qū)塊的處理 
    6.1.7  區(qū)塊的融合
    6.1.8  輸入表的處理
    6.1.9  外殼部分的編寫(xiě)  
    6.1.10  將外殼部分添加至原始程序 
    6.1.11  小結(jié)  
  6.2  加殼程序綜合運(yùn)用的實(shí)例  
    6.2.1  程序簡(jiǎn)介  
    6.2.2  加殼子程序(WJQ_ShellBegin())
    6.2.3  PE外殼程序
    6.2.4  加進(jìn)Anti技術(shù)
    6.2.5  通過(guò)外殼修改被加殼PE 
    6.2.6  VC++調(diào)用匯編子程序 
第7章  如何讓殼與程序融為一體
  7.1  欺騙查殼工具
    7.1.1  FileInfo是如何查殼的
    7.1.2  欺騙FileInfo  
  7.2  判斷自己是否被加殼 
    7.2.1  判斷文件尺寸 
    7.2.2  使用同步對(duì)象檢查標(biāo)記
    7.2.3  使用原子(Atom)檢查標(biāo)記
    7.2.4  使用存儲(chǔ)映像文件檢查標(biāo)記
    7.2.5  使用線程優(yōu)先權(quán)檢查標(biāo)記
    7.2.6  使用外部文件檢查標(biāo)記
    7.2.7  使用注冊(cè)表檢查標(biāo)記
    7.2.8  注入一個(gè)定時(shí)器 
    7.2.9  外部檢測(cè)(使用DLL) 
    7.2.10  Hook  相關(guān)的API(防止Loader和調(diào)試API)  
  7.3  使用SDK把程序和殼融為一體
    7.3.1  SDK加密的標(biāo)記 
    7.3.2  殼程序檢測(cè)加密標(biāo)志 
    7.3.3  開(kāi)始加密相關(guān)的數(shù)據(jù)  
    7.3.4  輸出函數(shù)的聲明
    7.3.5  輸出函數(shù)的執(zhí)行代碼定位 
    7.3.6  為輸出函數(shù)得到殼中加密函數(shù)做準(zhǔn)備 
    7.3.7  程序中使用加密和解密函數(shù) 
    7.3.8  構(gòu)造殼中的加密和解密函數(shù)
    7.3.9  殼尋找程序的輸出函數(shù)位置 
    7.3.10  “毀尸滅跡”,擦除輸出函數(shù)
    7.3.11  殼中分配臨時(shí)的內(nèi)存存放加密和解密函數(shù)
    7.3.12  殼中執(zhí)行程序輸出函數(shù)傳遞參數(shù) 
第8章  Visual  Basic  6  逆向工程
  8.1  P-code傳奇
  8.2  VB編譯奧秘
  8.3  VB與COM 
  8.4  VB可執(zhí)行程序結(jié)構(gòu)研究
  8.5  VB程序事件解讀  
  8.6  VB程序圖形界面解讀 
  8.7  VB執(zhí)行代碼研究
    8.7.1  VB函數(shù)的解讀
    8.7.2  VB函數(shù)調(diào)用約定 
    8.7.3  執(zhí)行代碼中對(duì)控件屬性的操作
  8.8  P-code代碼 
    8.8.1  理解P-code代碼指令
    8.8.2  P-code程序調(diào)用約定
    8.8.3  調(diào)試時(shí)中斷P-code程序的幾種方法
    8.8.4  WKT  VB  Debugger實(shí)現(xiàn)原理 
    8.8.5  VB6  P-code  Crackme分析實(shí)例
  8.9  VB程序保護(hù)篇 
    8.9.1  Anti-Loader技術(shù)  
    8.9.2  VB“自鎖”功能實(shí)現(xiàn)
  8.10  相關(guān)工具點(diǎn)評(píng)
附錄A在Visual  C++中使用內(nèi)聯(lián)匯編
附錄B  在Visual  Basic中使用匯編

本目錄推薦

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