1. 程式人生 > 其它 >羽夏殼世界——序

羽夏殼世界——序

寫在前面

  此係列是本人一個字一個字碼出來的,包括程式碼實現和效果截圖。 如有好的建議,歡迎反饋。碼字不易,如果本篇文章有幫助你的,如有閒錢,可以打賞支援我的創作。如想轉載,請把我的轉載資訊附在文章後面,並宣告我的個人資訊和本人部落格地址即可,但必須事先通知我

前言

  在學逆向分析的時候,你常常會聽到或者遇到被稱之為給程式加殼這個東西。那麼殼是什麼?它的實現原理是啥?加殼的目的是什麼?
  在Win系統上,PE結構是逆向的基礎,也是實現加殼的理論基礎,那麼PE結構是啥?它和逆向相關的細節有啥?它們又有啥聯絡?
  對於以上疑問,本系列教程將會逐個解答。

知識儲備

  學習本教程需要一些的基礎儲備和熱情毅力,畢竟這個是自學,沒有人來監督你。需要的基礎和能力要求如下:

  • 一門程式語言(由於實現會使用PE結構體,這些在C/C++標頭檔案之中,並且有大量的指標記憶體操作,故會在實現篇用C++
  • Intel 彙編基礎
  • 具有看彙編C語言,看C語言彙編的能力
  • 對於位(bit)具有明確的認識
  • 一定的毅力和時間
  • Intel 硬編碼的基礎(最好會,否則在某些篇章理解可能稍微有點困難)

  如果想具有看彙編C語言,看C語言彙編的能力,可以參考我的 羽夏看C語言系列教程 ,也可以看別的教程,否則後面的學習可能十分痛苦。因為在實現篇裡面用到了大量彙編的知識。

目錄

從入門到入土

  • 羽夏殼世界——序(本篇將會介紹)

基礎篇

  • 羽夏殼世界——基礎篇
    • 羽夏殼世界——基礎篇概述
    • 羽夏殼世界—— PE 結構(上)
    • 羽夏殼世界—— PE 結構(下)
    • 羽夏殼世界—— 基礎篇小結

實現篇

  • 羽夏殼世界——實現篇
    • 羽夏殼世界——實現篇概述
    • 羽夏殼世界——異或加密的實現
    • 羽夏殼世界——壓縮程式碼的實現
    • 羽夏殼世界——匯入表加密的實現
    • 羽夏殼世界—— TLS 及其加密的處理
    • 羽夏殼世界——花指令的實現
    • 羽夏殼世界—— 實現篇小結

完結撒花

  • 羽夏殼世界——結語

可參考資料

有關該專案原始碼

  等本人全部實現完畢後,會使用AGPL-3.0協議將程式碼開源在GitHub上。也就是說,任何人不得使用裡面的任何程式碼進行商用。如果有人在我的程式碼基礎上繼續實現一些功能,也必須使用該協議開源。該程式碼目前有近2000行,程式碼註釋佔了一小部分,主要是彙編生成的邏輯佔了一大部分,其次是PE檔案的解析。
  本專案花了本人相當的精力,如果有閒錢的話,歡迎支援。

下一篇

  羽夏殼世界——基礎篇