本文章最後由 SheepKingCN 於 2013-8-17 23:49 編輯
此為本人學習、無聊研究用,為了要備份文章,所以才發在這裡。
何謂TP偵測系統?
也就是中國鼎鼎大名的騰訊遊戲公司,在用的遊戲保護系統。
有名的遊戲公司:中國騰訊
偵測作弊輔助的系統:TP (TenProtect)
應用的遊戲:英雄聯盟、DNF、魔獸世界...等Online遊戲
作者所在地: 中國大陸-看雪學院-学雄
文章版權所有人: 学雄
--------------------正文開始--------------------
過遊戲保護DebugPort清零,廣為流傳的無非就2個著手點(其他VT什麼的,先不討論).
1: Patch 遊戲保護的驅動,讓其讀取錯誤地址什麼的,具體要調試驅動,不怎麼優雅,一旦驅動更新就無效.而且還得運氣好,找到沒crc校驗的地方.或者找到關鍵全局變量.
2: 比較優雅的方法,修改內核端口偏移,比如WindowsXp下,DebugPort偏移為Eprocess+BC,
,修改到其他地方,比如ExitTime啊什麼的地方.(順帶一說,很多人以為很麻煩,其實這是性價比非常高的方法,我只用了一天就把那些函數的特徵碼全部提取了,參考參考資料一旦修改成,一勞永逸.)
遊戲保護驅動的做法:
1:對付第一個方法,無非就是關鍵點加vm,內存crc校驗,就沒什麼了.
2:對付第二種方法,關鍵來了,TP的新手法,首先獲取內核基址,然後搜索自己蒐集的DebugPort函數的特徵碼,如果並檢查偏移是否正確,如果搜索得到,且正確,很好,沒什麼問題,
如果你修改DebugPort偏移,哼哼,一擊必殺,遊戲保護驅動,要不就是搜索不到特徵碼了,要不就是搜索到特徵碼,並發現你修改了端口偏移.
ps: 這個方法實在是太高明了,我修改WRK過清零都被秒殺了.(某P暗地裡在偷笑,哼哼想修改內核,別做夢了,乖乖讓我清零吧.)
被檢測到DebugPort有異常,遊戲的偵測系統會彈出很酷的這個框框.
解決方法:
有思路,可是不會實現
內核異常中斷+異常處理=應該可以繞過這偵測
技術難點:
內核異常處理機制 沒有文獻
只有idt hook的資料
有個eat 函數 checkbug?
這個不知能不能處理
|