游戲限制多開原理及對應方法
- 通過探測游戲客戶端進程是否已經存在來防止重復打開 //解決方法:隱藏進程,讓新啟動的進程找不到相同的進程通過探測游戲客戶端的窗口是否已經存在來防止重復打開 //解決方法:隱藏進程或修改窗口標題類名讓新進程探測不到同類窗口
- 游戲通過打開TCP或UDP端口監聽,開第二個游戲時會打開端口失敗從而判斷游戲是否多開 //判斷方法:在新游戲啟動之前,打開電腦 CMD控制台,輸入命令 netstat -a -n -o 會出現本地TCP/UDP的所有鏈接,復制好,啟動游戲,重復一遍操作,查看本地TCP/UDP是否有變化
- 游戲通過獨占文件訪問來防止重復打開 //解決方法:復制多份游戲客戶端
- 游戲通過限制一個用戶只能打開一個游戲來防止重復打開 //解決辦法:創建多個系統帳戶
- 游戲通過互斥對象來防止多開,這也是最常見的一 //解決辦法:找到進程里面的互斥對象直接關閉即可
- 游戲通過創建跨進程的內存映射文件防止多開 //解決辦法:直接HOOK該函數
- 游戲通過第一次啟動創建一個公共文件來防止多開//解決辦法:每啟動一次就刪除一次,或者設置文件夾讀寫限制讓其無法創建
- 游戲啟動時服務器通過MAC地址來限制多開 //解決辦法:每啟動一次就更換一次MAC地址
- 游戲啟動時服務器通過IP地址來限制多開 //解決辦法:每個游戲都使用不同的代理IP
