借鑑一下某培訓機構的課程安排,作爲自己學習方向的一個參考吧。
第二階段(預計1個半月)
彙編:
1.機器指令
2.彙編指令
3.編碼(OPCode)
C語言:
1.預處理
2.庫函數:
A.閱讀庫函數源代碼
B.自己寫庫函數
3.庫函數調用引起棧的變化規律
2階段項目:
反彙編引擎(學習使用數據驅動方式編程)
閱讀DT調試器的反彙編引擎
有編程經驗的可完成代碼亂序變形引擎(有興趣可單獨輔導)
第三階段(預計2個月)
彙編語言:
1.分段機制(32位)
2.分頁機制(32位)
C語言(R3下API):
1.文件操作
2.內存管理
3.進程和線程
4.PE結構
5.對文件的操作
C語言-->C++:
1.MFC
2.C++的語法
3階段項目:
自定義格式配置文件語法解析(寫腳本解釋器的基礎)
萬能注入工具
利用前面所學的知識寫殼(純C寫殼不用匯編)
閱讀UPX源代碼(對殼感興趣的可以單獨輔導深入理解)
第四階段(預計2個月)
彙編語言:
1.保護模式;
2.分段機制(64位)
3.分頁機制(64位)
4.利用前面學的分頁知識不調用API進行物理內存訪問
操作系統:
1.R3<-->R0的切換(驅動編程環境搭配)
2.R3<-->R0切換的時候棧的變化
3.R0裏的進程,線程有關的結構體()
4.線程的切換細節(對照WRK源代碼詳細解說)
5.驅動編程
6.反彙編WINAPI,對照ntoskrnl.exe參考WRK)詳細解說
4階段項目:
不調用API寫個萬能dump進程工具
第五階段(預計1個半月)
彙編語言
1.IEEE754 浮點編碼
2.浮點x87指令詳細解說
3.多媒體指令
4.複習R3<-->R0的切換,爲VT做準備
C語言
1.c語言實現的數據結構
2.TCP/IP協議
第六階段(預計1個半月)
1.逆向一個工程(softice或VMware根據自己的能力選擇一個)
2.VT技術