91嫩草欧美久久久九九九-毛片视频免费观看-av基地网-av青青-女尊高h男高潮呻吟-午夜视频在线观看网站-中文字幕第二区-美女被草视频在线观看-在线观看黄色片网站-可以免费观看av-亲子伦一区二区三区观看方式

13673270909
全國統一服務熱線
地址:河北省滄州市南皮縣烏馬營鎮開發區
座機:0317-8619778
傳真:0317-8619778
手機:13673270909
QQ:522678238
網址: www.yabangsl.com
填寫您的疑問和需求
產品展示

主頁 > 新聞中心 > 公司新聞 >

有關驅動器外殼的處理方法

 



原始IAT的處理
 
    由于原驅動程序被加上了我們的驅動器外殼,所以原驅動程序的IAT表的填寫工作
 要由我們的驅動器外殼程序來完成。應用層殼一般通過兩個API來完成這個工作,或者自己實現這兩個API的功能。而驅動殼是要 隨驅動程序一起被加載到內核當中去的,但內核里沒有這兩個函數,我們
 自己對這兩個函數做內核的實現。當然也可以用函 數,不過它只能得到兩個模塊的函數,對于其它模塊則 無能為力了,影響殼的通用性。殼的函數可以通過遍t鏈表來實現,關于遍歷這個鏈表的方法可以參照Futo的代碼,通過DRIVEROBJECT的DriverSec tion成員來完成,而驅動對象可以從堆棧當中找到。
 
  殼的函數的實現就很簡單了,內核模塊本身也是PE文件,直接遍歷一下PE的導出表就ok了。 還有一點需要注意的就是UNICODE的轉換, 在給程序加殼的時候一般都要添加新節,用于存放殼的代碼,應用層程序 的節表的最后一項和第一個節之間一般是有一個很大的空間可以用來添加新的 節表項的,但一般情況下驅動程序節表的最后一項后面緊接著就是第一個節解決的方法有兩種,第一種
 將所有的節向后移動,而第二種方法則是將PE頭整體向前移動覆蓋掉部分無用的dos頭,留出足夠的空間存放新的節表項。
 
   重定位表的處理
 
    由于驅動程序是要被加載到內核空間中,所以外殼必須實現原來由系統完成的原驅動程序的重定位工作。原驅動程序的重定位表的處理方法跟應用層 DLL 文件的處理方法完全一樣,代碼如下: 需要注意的一點:驅動程序被加殼后必須要有重定位表,否則驅動加載會失敗,解決的方法需要自己構造一個假的重定位表來替換原始的重定位表。
     
   另外,由于驅動殼的特殊性,shell的編寫和驅動程序的編寫沒什么區別, 稍有錯誤就會藍屏。
 
    

合作企業
主站蜘蛛池模板: 毕节市| 舒城县| 阿坝县| 昌宁县| 乌鲁木齐县| 康保县| 宁安市| 全椒县| 高唐县| 修文县| 德安县| 利川市| 武川县| 南投县| 额济纳旗| 鱼台县| 龙游县| 台东县| 邓州市| 什邡市| 伊金霍洛旗| 宁津县| 枣强县| 古交市| 平遥县| 商都县| 汝州市| 普宁市| 仁化县| 宁强县| 察隅县| 汝阳县| 延安市| 安顺市| 河源市| 应城市| 鄄城县| 图木舒克市| 扶风县| 阿图什市| 谷城县|