原创 LINUX0.11內核閱讀筆記

我是通過閱讀趙炯老師編的厚厚的linux內核完全剖析看完LINUX0.11的代碼,不得不發自內心的說Linus真的是個天才。雖然我覺得很多OS設計的思想他是從UNIX學來的,但是他自己很周全很漂亮很巧妙地實現瞭如此龐大一個系統的絕大多數

原创 學校BBS上看到一篇關於追女孩子的文章,相信誰看了都會有種恍然大悟的感覺。

  導讀:首先我們不必要去研究這篇東西究竟是否是女生所寫.在互聯網裏面沒有真實的身份.這篇文章我是在一個角落裏面看到的.找不到原出處.不過裏面的話還是有點道理的.分享給大家看看              我是女生,看到有的男生想追自

原创 小甲魚PE詳解之IMAGE_NT_HEADERS結構定義即各個屬性的作用(PE詳解02)

IMAGE_NT_HEADERS STRUCT  {  +0h DWORD Signature    // +4h   IMAGE_FILE_HEADER  FileHeader   // +18h IMAGE_OPTIONAL_

原创 小甲魚PE詳解之區塊表(節表)和區塊(節)(PE詳解04)

PE文件到內存的映射 在執行一個PE文件的時候,windows 並不在一開始就將整個文件讀入內存的,二十採用與內存映射文件類似的機制。也就是說,windows 裝載器在裝載的時候僅僅建立好虛擬地址和PE文件之間的映射關係。 當且僅當真正

原创 小甲魚PE詳解之輸入表(導出表)詳解(PE詳解09)

小甲魚PE詳解之輸出表(導出表)詳解(PE詳解09)當PE 文件被執行的時候,Windows 加載器將文件裝入內存並將導入表(Export Table) 登記的動態鏈接庫(一般是DLL 格式)文件一併裝入地址空間,再根據DLL 文件中的函

原创 小甲魚PE詳解之IMAGE_DOS_HEADER結構定義即各個屬性的作用(PE詳解01)

(注:最左邊是文件頭的偏移量。) IMAGE_DOS_HEADER STRUCT  {  +0h WORD e_magic  // Magic DOS signature MZ(4Dh 5Ah)     DOS可執行文件標記  +2

原创 小甲魚PE詳解之基址重定位詳解(PE詳解10)

小甲魚PE詳解之基址重定位詳解(PE詳解10)這一節對於講來研究病毒原理的研究影響比較大,大家務必要深入理解~ 但是吧,咱的權威教材看雪的《加密與解密》在這一節的講解上實在不給力,很多初學者看得雲裏霧裏的。大家意見一致啵 ?! 爲了讓

原创 小甲魚PE詳解之輸入表(導入表)詳解(PE詳解07)

在開始講解輸入表(導入表)概念之前,請允許小甲魚童鞋用簡短的幾句話來總結之前我們學過的內容,並做進一步的思想綜合提升,注意咯!首先,我們知道PE 文件中的數據被載入內存後根據不同頁面屬性被劃分成很多區塊(節),並有區塊表(節表)的數據來描

原创 小甲魚PE詳解之區塊表(節表)和區塊(節)續(PE詳解05)

這一講我們結合實例來談談區塊表的定義以及各個屬性的含義。 首先,我們先用之前學過的一點知識在二進制文件中手動翻找區塊表,這樣做的好處是可以使你很快的對PE結構牢記於心。學來的東西就是能用的東西,不能用的理論是空談,是瞎扯。 (具體過程演示

原创 stdafx.h和int _tmain(int argc, _TCHAR* argv[])

 stdafx.h和int _tmain(int argc, _TCHAR* argv[]) 以下內容摘自百度知道: stdafx.h = St

原创 小甲魚PE詳解之區塊描述、對齊值以及RVA詳解(PE詳解06)

各種區塊的描述:很多朋友喜歡聽小甲魚的PE詳解,因爲他們覺得課堂上老師講解的都是略略帶過,繞得大家雲裏霧裏~剛好小甲魚文采也沒課堂上的教授講的那麼好,只能以比較通俗的話語來給大家描述~ 通常,區塊中的數據在邏輯上是關聯的。PE 文件一般至

原创 小甲魚PE詳解之輸入表(導入表)詳解2(PE詳解08)

輸入表結構回顧一下,在 PE文件頭的 IMAGE_OPTIONAL_HEADER 結構中的 DataDirectory(數據目錄表) 的第二個成員就是指向輸入表的。而輸入表是以一個 IMAGE_IMPORT_DESCRIPTOR(簡稱II

原创 小甲魚PE詳解之IMAGE_OPTIONAL_HEADER32 結構定義即各個屬性的作用(PE詳解03)

typedef struct _IMAGE_OPTIONAL_HEADER {    //    // Standard fields.      //+18h    WORD    Magic;         // 標誌字, ROM

原创 解決缺少streams.h的方法

      今天在編譯一個網上下載的源文件時,發現有個缺少streams.h的錯誤。摸索了很久,最終解決,方法如下:     首先在電腦中搜索出streams.h文件的位置,我電腦中文件的路徑如下:。於是在VC6.0的TOOL中的opti

原创 PE文件的執行順序

當一個PE文件被執行時,PE裝載器首先檢查DOS MZ header裏的PE header的偏移量。如果找到,則直接跳轉到PE header的位置。 當PE裝載器跳轉到PE header後,第二步要做的就是檢查PE heade