HShield遊戲保護的對抗和新的問題

轉自bujin888

第一個版本
        HShield反外掛方式應該向進程插入他們的反外掛鉤子  攔截我們做外掛的必要函數
        我當時突破方法是ROOKIT技術,隱藏進程!
第二個版本
        HShield利用消息全局鉤子插入他們的反外掛鉤子 ,我是攔截了LOADLIBARY到
        自己的處理函數拒絕了他家反外掛鉤子進入

第三個版本
       他家在LOADLIBARY上做了處理,但他們忽律了一個東西!那就是LOADLIBARYEX函數


第四個版本
       也就是現在這個版本!只能用變態來形容  一開始我用HOOK LOADLIBARYEX ,
       但是好多API仍然不能使用   我一開始以爲LOADLIBARYEX 也被處理過了  
       於是我又攔截 RtlInitUnicodeString 因爲每一個文件在底層傳輸字符處理中
       必須用到這個函數,但是發現HShield的DLL是全被攔截了,但getpixel等仍然沒有作用,
       通過調試發現,ring3層代碼完全沒有被修改,那隻能說明進了sysenter的ring0層!
       沒辦法,也只好自己寫驅動對抗了,於是根據DDK資料裏的mirro.sys
       重新寫了我所需要的外掛函數驅動win32GDI.sys!完成了這次的反外掛的突破!

問題:
    win32GDI.sys是參考DDK驅動裏的mirror驅動改寫的,屬於虛擬顯卡的的方式!他有幾個缺點
    一:不支持 directx遊戲
    二:消耗的CPU比較大!
    看了驅動開發網的資料 hook int 2e  hook sysenter 和 國外rootkit方式中的另類
    hook   sysenter   仍然不能根本解決問題!
    因爲如果  我HOOK  sysenter  然後啓動遊戲  遊戲的驅動HOOK  又會把接口接管過去
    我如果恢復接口,遊戲就會自動退出!   還有通過直接在原來sysenter地址裏面寫跳
    轉代碼來實現HOOK sysenter我感覺也  沒什麼用!因爲sysenter已經被攔截了,根本
   運行不到我所寫跳轉的位置,就算運行到了又能如何呢?我總不能自己實現sysenter功
   能吧,如果能自己實現sysenter功能!我還不如直接ring3層hook kisystemcall
   目前我有新的想法  就是增加服務ID  就是增加系統的服務ID  假如getpixel最後調用
   的系統服務器ID爲X 我們增加個系統的服務ID  Y,讓Y的ID跳到X的ID裏執行,從而欺騙
   反外掛系統!不知道大家有什麼更好的辦法

語文一直不及格!所以語言組織很差!大家見諒 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章