羽夏殼世界——基礎篇小結
阿新 • • 發佈:2022-04-10
寫在前面
此係列是本人一個字一個字碼出來的,包括程式碼實現和效果截圖。如有好的建議,歡迎反饋。碼字不易,如果本篇文章有幫助你的,如有閒錢,可以打賞支援我的創作。如想轉載,請把我的轉載資訊附在文章後面,並宣告我的個人資訊和本人部落格地址即可,但必須事先通知我。
你如果是從中間插過來看的,請仔細閱讀 羽夏殼世界——序 ,方便學習本教程。
小結
由於我們介紹的基礎知識,我做出如下提問,如果發現自己記不清楚或者不會了,回去看,當你感覺十分熟悉的時候,就可以暫且踏入實現篇了。
- 如何校驗 PE 檔案是否合法?
- 如何獲得節區頭的個數?
- 如何判斷程式是32位還是64位?
- RVA 和 FOA 是什麼?它們之間是如何轉化的?
- 如何解析匯入表?
- 如何解析重定位表?
- 在匯入表中,IAT 和 INT 之間的關係是什麼?
- 在匯入表和重定位表,是如何判斷裡面有幾個的?
如下是對於實現篇需要用到的知識的幾個問題,如果不會建議從網上的資料進行補缺。
- 檔案的本質是什麼?副檔名的具體作用是啥?
- 文字檔案和普通的二進位制檔案有什麼區別?
- 在 PE 中儲存的程式碼是原始碼嗎?
- 對於編譯型程式,程式碼和資料的區別是什麼?
由於實現篇使用的是C++
,且會頻繁的使用指標,如果不會的話,最好學習 羽夏看C語言 系列教程,否則可能在閱讀程式碼上會有點理解的障礙。
下一篇
羽夏殼世界——實現篇