黑客調試技術揭秘

黑客調試技術揭秘

本書是幫助應用程式員和系統程式設計師理解調試過程的指南,揭示了各種調試器的實用使用技巧

基本信息

內容提要

本書是幫助應用程式員和系統程式設計師理解調試過程的指南,揭示了各種調試器的實用使用技巧,說明了如何操作調試器以及如何克服障礙和修復調試器,介紹了黑客利用調試器和反彙編器來尋找程式弱點和實施攻擊的方法。通過本書,程式設計師將學會如何弄清楚計算機系統內部的結構、如何重建沒有提供源程式的程式的運行算法、如何修改程式以及如何調試驅動程式。本書還詳細介紹了在Windows和UNIX作業系統中調試應用程式和驅動程式的方法。對於各種調試技術,書中都給出了帶有詳盡解釋的原始碼。如果你是具有C/C++或者Pascal/Delphi語言實際編程經驗的程式設計師,那么本書就是使你的技術升華至一個新的台階的寶典。

作者簡介

Kris Kaspersky是一位技術作家。他是《黑客反彙編技術揭秘》、《代碼最佳化:有效使用記憶體》和《CD破解揭秘:防止未經許可的CD拷貝的保護技術》等書籍,以及大量涉及破解、反彙編和代碼最佳化文章的作者。他解決了許多與安全和系統編程有關的問題,包括編譯器的開發、最佳化技術、安全機制研究、實時作業系統核心的創建、軟體保護以及反病毒程式的創建,等等。

目錄

第1部分 調試工具入門

第1章 調試工具簡介

第2章 在UNIX環境中進行調試的特性

第3章 模擬調試器和仿真器

第4章 用BoundsChecker進行應用程式分析

第2部分 調試工具入門

第5章 保護機制簡介

第6章 熟悉調試器

第7章 IDA嶄露頭角

第8章 註冊保護機制之道

第9章 散列及其克服

第10章 常見的用於演示版的保護機制

第3部分 反調試技術

第11章 反調試技術簡介

第12章 各種各樣的反調試技術

第13章 UNIX特有的反調試技術

第14章 可自我修改的代碼

第15章 使用隱含的自我控制來創建不可破解的保護

第16章 智力調試

第17章 軟體保護

第18章 如何使你的應用程式更可靠

第19章 軟體測試

第4部分 應用程式和作業系統的嚴重錯誤

第20章 應用程式和作業系統的嚴重錯誤簡介

第21章 戰兢苟活還是出死入生

第22章 如何利用內轉儲

第5部分 PE檔案

第23章 PE檔案格式

第24章 PE檔案中插入和刪除代碼的技術

附盤說明

譯者序

當電子工業出版社的郭立女士委託我翻譯這本《黑客調試技術揭秘》時,我內心是有幾分躊躇的。因為我雖然編了多年程式,但是卻從來沒有做過一天黑客。我懷疑我是否有興趣將這本600多頁的“黑客書”翻譯出來,也懷疑這本書對我這樣的程式設計師是否有幫助。但是在走馬觀花地瀏覽了一下這本書後,我就發現我被這本書的書名欺騙了。本書實際上是一本幫助應用程式員和系統程式設計師理解調試過程的書籍。當然,本書名為“黑客”,也不是為了譁眾取寵,而是為了突出本書的寫作方式是從“黑客”的角度來看待程式(特別是保護機制)的弱點,介紹了黑客利用調試器和反彙編器來尋找程式弱點和實施攻擊的方法,提醒程式設計師應該如何克服..

前言

許多聰穎敏銳的人本能地渴求破解疑難。他們不辭辛勞地探索周圍事物的本質,而不是刻意地進行破壞。只要放眼四顧就能發現:原子科學家分裂原子,分析家將分子分解為更小的分子,數學家積極地使用分解法。可是卻沒人責備他們!破解並不等同於破壞。破解是本能的好奇心和渴望了解周圍世界的一種行為表現。反彙編清單、機器指令、SoftIce的黑屏等都讓我們想起已成為過去的MS-DOS時代,它們至今依然引人入勝、充滿魅力。除此之外,就是滿世界的隱藏機制和保護代碼。不要在地圖上尋找它們,它們的世界僅僅存在於列印出來的紙片上、在向最令人著迷的職位敞開的技術手冊中,以及在螢幕前度過的許多不眠之夜裡。本..

書摘

主作業系統成了寄宿作業系統的基礎。這個“旅店”的一個房問必須分配為隔離區。我們都知道,當安裝一個新程式時,作業系統經常會出現問題,這可能是因為沒有正確地使用安裝程式、函式館之間存在衝突、廣告軟體或者只是因為偶然因素(比如因果報應)。只要能從其他渠道獲得程式,就儘可能地不使用從不可靠的渠道獲得的程式,這種做法是很明智的。只需在仿真器中分配一個單獨的虛擬機,這類程式就不能擺脫虛擬機!

3.5.2 管理員使用的仿真器

從管理員的觀點來看,仿真器主要是各種不同試驗的測試區域:安裝幾十個不同的UNIX變體,並徹底地測試它們。安裝一個系統,刪除它,然後再重新安裝,稍微修改一下其配置。為了獲得一份工作,你不僅要有文憑,是你所工作的領域的一個專家,而且還必須具有實際工作經驗。對於數據恢複方面的工作來說,也是如此。如果沒有進行特殊的準備工作,並不推薦你在你的主作業系統中運行Disk Editor (對於Disk Doctor來說,更是如此)。這是因為,不能保證這類工具能夠修正磁碟錯誤,而不會弄壞你的磁碟。簡單地說,仿真器是很好的測試區域,這在過去是難以成真的美夢。

3.5.3軟體開發人員使用的仿真器

驅動程式開發人員是最喜愛仿真器的人群。核心不僅不會自行修正錯誤,還會報復性地破壞整個硬碟,使得多年積累的數據毀於一旦而不可恢復。對於驅動程式開發人員來說,就像鐵道工習慣於火車輪子的咔嗒聲,頻繁地重新啟動和當機是司空見慣的。另外,大多數核心級調試器都要求兩台通過LAN或者至少數據機相連在一起的計算機。當然,從專業開發人員的觀點來看,使用兩台計算機並不是過分奢侈。然而,你如何擺放它們呢?不斷 ……

相關詞條

相關搜尋

熱門詞條

聯絡我們