我們的課程分為三個階段。
一、 第一階段:
"勿在浮沙築高台"。在初級階段我們有的放矢地給學員教授必須掌握的基本知識。在以後的階段中,學員會發現後面的知識其實就是第一階段知識的變化和利用,所以非常重要,不可不學。
1. 電腦基礎(8學時)
2. C語言程式設計(56學時)
3. 階段項目(24學時)
4. C++語言程式設計(48學時)
5. 資料結構(40學時)
6. 階段項目(48學時)
7. 考試和講解(4學時)
二、 第二階段
這個階段重點介紹了VC開發環境、Win32程式設計和MFC的體繫結構. 首先我們來瞭解一下資料庫的基礎知識,在學習過程中我們以SQL Server為載體去瞭解資料的管理和資料關係的建模。注意了,資料關係是重點,在以後對Windows的學習中,你會發現,在Windows內部的各種資料表隱含了對各種資料關係的處理,理解了資料關係建模的思想後,在下面的學習過程中你就會時常找到“頓悟”的感覺。然後通過MFC入手Windows程式設計,理解Windows的訊息驅動機制,先能上手完成課堂上的各個小例子,然後深入學習MFC的體繫結構,通過MFC的源碼去學習一個應用程式架構的設計思想;然後就有必要去瞭解一下微軟的COM技術,我們從C++一步步發展到COM,先教大家不依賴ATL去手工實現一個COM,而且能成功在其他開發平台(如VB)上工作,瞭解原理後就可以很得心應手地使用ATL為我們搭建的COM程式架構;最後帶領大家瞭解微軟最新推出的VS2005。
1. SQL Server資料庫(40學時)
2. MFC程式設計(80學時)
3. 深入MFC架構結構(32學時)
4. COM原理(24學時)
5. VC++.NET程式設計(24學時)
6. 階段項目(120學時)
7. 考試和講解(4學時)
三、 第三階段
軟體開發的能力一看設計能力,二看調試水平。逆向技術也重在代碼的調試和分析,如果你本來就是個不錯的程式員,而且又掌握了前面兩個階段的知識,那麼這個階段就是對“內功心法”的鍛煉了, 對本階段的學習絕對可以讓你徹底瞭解C/C++特性的底層機制,知其然而知其所以然。本章以C/C++文法為導向,以VC++6.0為例,解析每個C/C++知識點的彙編表現形式,整理其反組譯碼代碼,體現其流程脈絡。照此精修,可望到達看反組譯碼代碼如同看武俠小說之境界。本階段重在方法,授人以漁,不重劍招,但重劍意。
1. 16位組譯工具設計(32學時)
2. Win32組譯工具設計(32學時)
3. PE檔案格式(24學時)
4. 階段項目(40學時)
5. 軟體逆向分析技術(64學時)
6. 反跟蹤技術(Anti)(24學時)
7. 階段項目(40學時)
8. 考試和講解(4學時)
四、 專題課程
逆向分析技術是基礎,解決問題是關鍵,在專題部分我們將逆向技術的各個熱門技術方向給學員一一道來,這每個技術領域都是一門很深入的學科,正所謂專者不博,博者不專。學員應該深入研究最感興趣的某一個領域,對於其他領域只作瞭解就可以了。這些專題是為學員將來進入職場而準備的敲門磚。
1. 溢出漏洞的利用和檢測(32學時)
2. 軟體加殼技術(32學時)
3. rootkit利用和檢測(32學時)
4. 資料安全(32學時)
5. 病毒分析和處理(32學時)
6. 畢業設計(40學時)