日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

游戏保护模块

發(fā)布時間:2025/3/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游戏保护模块 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
第八章:定位游戲保護(hù)模塊
GameSpider
kernel Detective
1.定位ring0驅(qū)動級保護(hù)模塊可以用KD比較游戲啟動前后差異。
2.定位ring3可以hook低層接口再棧回塑。(游戲可以自加載同一模塊的另一份來用,此時hook無效)
3.保護(hù)模塊可能hook系統(tǒng)原生dll接口來保護(hù),此時可以比較原生dll文件與加載到內(nèi)存的映像來定位哪些被HOOK。
為防止被保護(hù)模塊檢測,在分析時可以把除當(dāng)前線程所有線程掛起。


GameSpider下 cmf ntdll.dll可查看PE文件與映像文件的差異
ntdll.dll中的DbgBreakPoint,DbgUiRemoteBreakin,ZwProtectVirtualMemory常被ret,轉(zhuǎn)移,Hook.分別阻止軟中斷,遠(yuǎn)程軟中斷,修改頁面保護(hù)屬性


GameSpider下ssl查詢自加載模塊
有三種方法定位其他模塊的自加載情況:
1.比較所有模塊的導(dǎo)出函數(shù)列表及導(dǎo)出函數(shù)名稱是否一致。 比較精確,但游戲會對對關(guān)鍵內(nèi)存塊(代碼與導(dǎo)出表信息)設(shè)置不允許讀,只許執(zhí)行。
2.比較所有模塊的第一個導(dǎo)出函數(shù)名稱與導(dǎo)出函數(shù)個數(shù)是否一致。
3.比較所有模塊的加載名字和導(dǎo)出表中的名字是否一致。


保護(hù)方案:ring3保護(hù)方案和ring0保護(hù)方案
ring3保護(hù)流程:
1.Inline Hook ntdll.dll中與調(diào)試相關(guān)的接口DbgBreakPoint,DbgUiRemoteBreakin,如果沒有代碼還原檢測,直接還原。
2.Inline Hook ntdll.dll中與頁面保護(hù)相關(guān)的接口ZwProtectVirtualMemory,如果沒有代碼還原檢測,直接還原。
3.設(shè)置VEH.可以不用修改代碼來hook, 也可補(bǔ)充第二點(diǎn),對沒的讀屬性的頁面進(jìn)行讀時可以被捕獲并可以當(dāng)作惡意訪問。
4.自加載模塊
ring0保護(hù)流程:用KD內(nèi)核修改標(biāo)簽查看
1.SSDT hook SSDT(System Services Descriptor Table),系統(tǒng)服務(wù)描述符表。這個表就是一個把ring3的Win32 API和ring0的內(nèi)核API聯(lián)系起來。SSDT并不僅僅只包含一個龐大的地址索引表,它還包含著一些其它有用的信息,諸如地址索引的基地址、服務(wù)函數(shù)個數(shù)等。
2.SSDT Shadow hook, 對NtUserSendInput進(jìn)行hook,防止模擬按鍵。
3.Inlin hook,差異分析哪些地址被修改,再通過1)SSDT查看可以處于哪個函數(shù),2)用windbg中的ln 地址顯示 xxxfunction+0xxx

hook從功能上大致可以分為以下幾類:
1.內(nèi)存訪問:NtWriteVirtualMemory,NtReadVirtualMemory
2.進(jìn)程操作:KiAttachProcess,NtOpenPreocess 防止打開或掛接
3.線程操作:PsSuspendThread 防止掛起
4.硬件斷點(diǎn):NtGetContextThread,NtSetContextThread,檢測和下硬件斷點(diǎn)
5.驅(qū)動通信:NtDeviceIoControlFile,IopXxxControlFile,保護(hù)ring3與ring0的通信
5.時鐘加速:NtQueryPerformanceCounter,防止加速
6.頁面屬性:NtProtectVirtualMemory
7.對象關(guān)閉:NtClose,保護(hù)關(guān)鍵對象不被惡意關(guān)閉
繞過這些保護(hù):
1.恢復(fù)所有函數(shù);2.在游戲加載之前Hook保護(hù)點(diǎn);3.自加載一份內(nèi)核。


檢測方法:
外掛行為有:
1.修改游戲代碼,用GameSpider下的cmf比較來定位
2.call游戲函數(shù):非授權(quán)訪問,棧回塑
3.修改游戲關(guān)鍵數(shù)據(jù) ?Call函數(shù)可能最終也是修改某些成員。

總結(jié)

以上是生活随笔為你收集整理的游戏保护模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。