Windows內(nèi)核修練與內(nèi)核安全培訓班 |
班級規(guī)模及環(huán)境--熱線:4008699035 手機:15921673576/13918613812( 微信同號) |
堅持小班授課,為保證培訓效果,增加互動環(huán)節(jié),每期人數(shù)限3到5人。 |
上課時間和地點 |
上課地點:【上海】:同濟大學(滬西)/新城金郡商務(wù)樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領(lǐng)館區(qū)1號(中和大道) 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協(xié)同大廈
近開課時間(周末班/連續(xù)班/晚班): Windows內(nèi)核開班時間:2024年11月18日.....(請抓緊報名) |
實驗設(shè)備 |
☆資深工程師授課
☆注重質(zhì)量
☆邊講邊練
☆合格學員免費推薦工作
專注高端培訓17年,曙海提供的課程得到本行業(yè)的廣泛認可,學員的能力
得到大家的認同,受到用人單位的廣泛贊譽。
★實驗設(shè)備請點擊這兒查看★ |
新優(yōu)惠 |
◆在讀學生憑學生證,可優(yōu)惠500元。 |
質(zhì)量保障 |
1、培訓過程中,如有部分內(nèi)容理解不透或消化不好,可免費在以后培訓班中重聽;
2、培訓結(jié)束后免費提供半年的技術(shù)支持,充分保證培訓后出效果;
3、培訓合格學員可享受免費推薦就業(yè)機會。 |
Windows內(nèi)核修練與內(nèi)核安全培訓班 |
第一階段
|
1. windows系統(tǒng)服務(wù)
1.1 windows系統(tǒng)服務(wù)原理
1.1.1 intel x86的用戶模式-內(nèi)核模式切換
1.1.2 windows的用戶模式-內(nèi)核模式切換
1.1.3 windows中的系統(tǒng)服務(wù)分發(fā)
1.1.4 增加系統(tǒng)服務(wù)表或表項
1.2 lpc(本地過程調(diào)用)服務(wù)
1.2.1 lpc結(jié)構(gòu)模型
1.2.2 lpc端口和lpc消息
1.2.3 lpc通訊模型的實現(xiàn)
1.2.4 lpc應用
1.3 命名管道(named pipe)服務(wù)
1.3.1 命名管道的名稱解析
1.3.2 命名管道的通訊模型
1.3.3 命名管道的實現(xiàn)
2. 內(nèi)核編程環(huán)境及其特殊性
2.2.1 內(nèi)核編程的環(huán)境
2.1.1 隔離的應用程序
2.1.2 共享的內(nèi)核空間
2.1.3 無處不在的內(nèi)核模塊
2.2 數(shù)據(jù)類型
2.2.1 基本數(shù)據(jù)類型
2.2.2 返回狀態(tài)
2.2.3 字符串
2.3 重要的數(shù)據(jù)結(jié)構(gòu)
2.3.1 驅(qū)動對象
2.3.2 設(shè)備對象
2.3.3 請求
2.4 函數(shù)調(diào)用
2.4.1 查閱幫助
2.4.2 幫助中有的幾類函數(shù)
2.4.3 幫助中沒有的函數(shù)
2.5 windows的驅(qū)動開發(fā)模型
3. 串口的過濾
3.1 過濾的概念
3.1.1 設(shè)備綁定的內(nèi)核api之一
3.1.2 設(shè)備綁定的內(nèi)核api之二
3.1.3 生成過濾設(shè)備并綁定
3.1.4 從名字獲得設(shè)備對象
3.1.5 綁定所有串口
3.2 獲得實際數(shù)據(jù)
3.2.1 請求的區(qū)分
3.2.2 請求的結(jié)局
3.2.3 寫請求的數(shù)據(jù)
3.3 完整的代碼
3.3.1 完整的分發(fā)函數(shù)
3.3.2 如何動態(tài)卸載
3.3.3 完整的代碼
4. 鍵盤的過濾
4.1 技術(shù)原理
4.1.1 預備知識
4.1.2 windows中從擊鍵到內(nèi)核
4.1.3 鍵盤硬件原理
4.2 鍵盤過濾的框架
4.2.1 找到所有的鍵盤設(shè)備
4.2.2 應用設(shè)備擴展
4.2.3 鍵盤過濾模塊的driverentry
4.2.4 鍵盤過濾模塊的動態(tài)卸載
4.3 鍵盤過濾的請求處理
4.3.1 通常的處理
4.3.2 pnp的處理
4.3.3 讀的處理
4.3.4 讀完成的處理
4.4 從請求中打印出按鍵信息
4.4.1 從緩沖區(qū)中獲得keyboard_input_data
4.4.2 從keyboard_input_data中得到鍵
4.4.3 從makecode到實際字符
4.5 hook分發(fā)函數(shù)
4.5.1 獲得類驅(qū)動對象
4.5.2 修改類驅(qū)動的分發(fā)函數(shù)指針
4.5.3 類驅(qū)動之下的端口驅(qū)動
4.5.4 端口驅(qū)動和類驅(qū)動之間的協(xié)作機制
4.5.5 找到關(guān)鍵的回調(diào)函數(shù)的條件
4.5.6 定義常數(shù)和數(shù)據(jù)結(jié)構(gòu)
4.5.7 打開兩種鍵盤端口驅(qū)動尋找設(shè)備
4.5.8 搜索在kbdclass類驅(qū)動中的地址
4.6 hook鍵盤中斷反過濾
4.6.1 中斷:irq和int
4.6.2 如何修改idt
4.6.3 替換idt中的跳轉(zhuǎn)地址
4.6.4 qq的ps/2反過濾措施
4.7 利用ioapic重定位中斷處理函數(shù)
4.7.1 什么是ioapic
4.7.2 如何訪問ioapic
4.7.3 編程修改ioapic重定位表
4.7.4 插入新的中斷處理
4.7.5 驅(qū)動入口和卸載的實現(xiàn)
4.8 直接用端口操作鍵盤
4.8.1 讀取鍵盤數(shù)據(jù)和命令端口
4.8.2 p2cuserfilter的終實
|
實驗:
實習示例一: 驅(qū)動編寫實驗
1,驅(qū)動程序設(shè)計
2,串口驅(qū)動
|
第二階段 |
5. 磁盤過濾
5.1 磁盤過濾驅(qū)動的概念
5.1.1 設(shè)備過濾和類過濾
5.1.2 磁盤設(shè)備和磁盤卷設(shè)備過濾驅(qū)動
5.1.3 注冊表和磁盤卷設(shè)備過濾驅(qū)動
5.2 具有還原功能的磁盤卷過濾驅(qū)動
5.2.1 簡介
5.2.2 基本思想
5.3 驅(qū)動分析
5.3.1 driverentry函數(shù)
5.3.2 adddevice函數(shù)
5.3.3 pnp請求的處理
5.3.4 power請求的處理
5.3.5 deviceiocontrol請求的處理
5.3.6 bitmap的作用和分析
5.3.7 boot驅(qū)動完成回調(diào)函數(shù)和稀疏文件
5.3.8 讀/寫請求的處理
5.3.9 示例代碼
6. 文件系統(tǒng)的過濾與監(jiān)控
6.1 文件系統(tǒng)的設(shè)備對象
6.1.1 控制設(shè)備與卷設(shè)備
6.1.2 生成自己的一個控制設(shè)備
6.2 文件系統(tǒng)的分發(fā)函數(shù)
6.2.1 普通的分發(fā)函數(shù)
6.2.2 文件過濾的快速io分發(fā)函數(shù)
6.2.3 快速io分發(fā)函數(shù)的一個實現(xiàn)
6.2.4 快速io分發(fā)函數(shù)逐個簡介
6.3 設(shè)備的綁定前期工作
6.3.1 動態(tài)地選擇綁定函數(shù)
6.3.2 注冊文件系統(tǒng)變動回調(diào)
6.3.3 文件系統(tǒng)變動回調(diào)的一個實現(xiàn)
6.3.4 文件系統(tǒng)識別器
6.4 文件系統(tǒng)控制設(shè)備的綁定
6.4.1 生成文件系統(tǒng)控制設(shè)備的過濾設(shè)備
6.4.2 綁定文件系統(tǒng)控制設(shè)備
6.4.3 利用文件系統(tǒng)控制請求
6.5 文件系統(tǒng)卷設(shè)備的綁定
6.5.1 從irp中獲得vpb指針
6.5.2 設(shè)置完成函數(shù)并等待irp完成
6.5.3 卷掛載irp完成后的工作
6.5.4 完成函數(shù)的相應實現(xiàn)
6.5.5 綁定卷的實現(xiàn)
6.6 讀/寫操作的過濾
6.6.1 設(shè)置一個讀處理函數(shù)
6.6.2 設(shè)備對象的區(qū)分處理
6.6.3 解析讀請求中的文件信息
6.6.4 讀請求的完成
6.7 其他操作的過濾
6.7.1 文件對象的生存周期
6.7.2 文件的打開與關(guān)閉
6.7.3 文件的刪除
6.8 路徑過濾的實現(xiàn)
6.8.1 取得文件路徑的3種情況
6.8.2 打開成功后獲取路徑
6.8.3 在其他時刻獲得文件路徑
6.8.4 在打開請求完成之前獲得路徑名
6.8.5 把短名轉(zhuǎn)換為長名
6.9 把sfilter編譯成靜態(tài)庫
6.9.1 如何方便地使用sfilter
6.9.2 初始化回調(diào)、卸載回調(diào)和綁定回調(diào)
6.9.3 綁定與回調(diào)
6.9.4 插入請求回調(diào)
6.9.5 如何利用sfilter.lib
|
實驗:
實習示例二:
1.1 實習一:磁盤過濾
1.2 實習二:文件系統(tǒng)
|
第三階段 |
7. 文件系統(tǒng)透明加密
7.1 文件透明加密的應用
7.1.1 防止企業(yè)信息泄密
7.1.2 文件透明加密防止企業(yè)信息泄密
7.1.3 文件透明加密軟件的例子
7.2 區(qū)分進程
7.2.1 機密進程與普通進程
7.2.2 找到進程名字的位置
7.2.3 得到當前進程的名字
7.3 內(nèi)存映射與文件緩沖
7.3.1 記事本的內(nèi)存映射文件
7.3.2 windows的文件緩沖
7.3.3 文件緩沖:明文還是密文的選擇
7.3.4 清除文件緩沖
7.4 加密標識
7.4.1 保存在文件外、文件頭還是文件尾
7.4.2 隱藏文件頭的大小
7.4.3 隱藏文件頭的設(shè)置偏移
7.4.4 隱藏文件頭的讀/寫偏移
7.5 文件加密表
7.5.1 何時進行加密操作
7.5.2 文件控制塊與文件對象
7.5.3 文件加密表的數(shù)據(jù)結(jié)構(gòu)與初始化
7.5.4 文件加密表的操作:查詢
7.5.5 文件加密表的操作:添加
7.5.6 文件加密表的操作:刪除
7.6 文件打開處理
7.6.1 直接發(fā)送irp進行查詢與設(shè)置操作
7.6.2 直接發(fā)送irp進行讀/寫操作
7.6.3 文件的非重入打開
7.6.4 文件的打開預處理
7.7 讀寫加密/解密
7.7.1 在讀取時進行解密
7.7.2 分配與釋放mdl
7.7.3 寫請求加密
7.8 crypt_file的組裝
7.8.1 crypt_file的初始化
7.8.2 crypt_file的irp預處理
7.8.3 crypt_file的irp后處理
|
|
第四階段 |
8. 網(wǎng)絡(luò)傳輸層過濾
8.1 tdi概要
8.1.1 為何選擇tdi
8.1.2 從socket到windows內(nèi)核
8.1.3 tdi過濾的代碼例子
8.2 tdi的過濾框架
8.2.1 綁定tdi的設(shè)備
8.2.2 唯一的分發(fā)函數(shù)
8.2.3 過濾框架的實現(xiàn)
8.2.4 主要過濾的請求類型
8.3 生成請求:獲取地址
8.3.1 過濾生成請求
8.3.2 準備解析ip地址與端口
8.3.3 獲取生成的ip地址和端口
8.3.4 連接終端的生成與相關(guān)信息的保存
8.4 控制請求
8.4.1 tdi_associate_address的過濾
8.4.2 tdi_connect的過濾
8.4.3 其他的次功能號
8.4.4 設(shè)置事件的過濾
8.4.5 tdi_event_connect類型的設(shè)置事件的過濾
8.4.6 直接獲取發(fā)送函數(shù)的過濾
8.4.7 清理請求的過濾
8.5 本書例子tdifw.lib的應用
8.5.1 tdifw庫的回調(diào)接口
8.5.2 tdifw庫的使用例子
|
實驗:
實習示例三:網(wǎng)絡(luò)傳輸
|