Re: [請益] 線上排名系統的反作弊機制

看板GameDesign作者 (火神)時間14年前 (2011/05/02 23:57), 編輯推噓5(5024)
留言29則, 11人參與, 最新討論串2/2 (看更多)
※ 引述《GALINE (天真可愛CQD)》之銘言: : 標題: [請益] 線上排名系統的反作弊機制 : 時間: Mon May 2 19:59:23 2011 : → cowbaying:單機遊戲可能比較沒辦法 線上遊戲就是定期更改密碼串 05/02 22:05 : → cowbaying:應該說加密矩陣 05/02 22:06 : → cowbaying:檢查的面向很多 反正短時間內是破解不出來的 05/02 22:06 : → cowbaying:是的 因為基本上程式在別人的電腦上跑 你是不能控制對 05/02 22:21 : → cowbaying:方要對這程式做什麼事情 最多就是做個又臭又長的迷宮 05/02 22:22 : → GALINE:我倒是忘了按鍵精靈...不過由於種種因素我暫時不想面對這段 05/02 23:17 : → GALINE:想先專注在傳送這部份上,雖然遲早還是要面對的 Orz 05/02 23:18 : 推 Ebergies:基本上 RSA 只能保障誠實的使用者不被第三者影響 05/02 23:23 : → Ebergies:使用者本身就心懷不軌的話是沒用的 05/02 23:23 : → Ebergies:舉例來說,使用者直接用自制程式跟你要密鑰,你要不要給 05/02 23:25 : → Ebergies:他可以偽造所有的封包讓你以為你是在跟自己的程式對話 05/02 23:26 都推文了,直接回文給你個建議好了 雖然使用者無論如何都可以破解你的東西 但也別太氣餒,還是有方法的 就如同正靠北所說 他要破解,要傳假分數就給他傳 做個迷宮拖他時間就好了 敝公司剛好有做過類似的事情 大概的重點如下: 1) 伺服器與客戶端使用非對稱 RSA 加密 1' 這個有點慢,看內容而定,駭客可能使用假訊息取得密鑰 2) 因應 1' 客戶端會使用一組對稱密鑰加密所有訊息,伺服器只接受此密鑰 2' 駭客可能從檔案中取得此密鑰 3) 因應 2' 客戶端會使用一複雜計算程序將此密鑰加密 3' 駭客可能逆向工程取得計算程序 4) 因應 3' 客戶端本身會加密,於執行期解密並偵測 break point,anti-dll-hook 檢查所有 process 是否存在偵錯程序,使用模擬器將計算程序於執行期 interpret 它的意義 4' 無論如何駭客一定會破解並取得計算程序 5) 因應 4' 客戶端定時 patch,修改密鑰(2),修改計算程序(3),更改程式 interpret 架構,位址,偵測 break point 時機等等(4) 5' 駭客是天才,於 patch 時間內破解計算程序,取得密鑰,傳送錯誤分數 6) 因應 5' 取消分數排名系統 6' 駭客: ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.180.111.210

05/03 00:18, , 1F
第六點 XDDDDDD
05/03 00:18, 1F

05/03 00:24, , 2F
7)要加入線上排名請購買商城道具 可進入排行一個月
05/03 00:24, 2F

05/03 00:52, , 3F
還可以用數位簽章阿
05/03 00:52, 3F

05/03 13:23, , 4F
你的公司都在進行駭客活動?
05/03 13:23, 4F

05/03 16:54, , 5F
到底是哪個遊戲好玩到引起駭客這麼拚的去搞破壞 XD
05/03 16:54, 5F

05/03 17:06, , 6F
XD
05/03 17:06, 6F

05/03 18:10, , 7F
有時候公司總是會叫你去做一些莫名其妙的事... 不過大陸
05/03 18:10, 7F

05/03 18:10, , 8F
那邊倒是真的有專業駭客團體在搞遊戲的
05/03 18:10, 8F

05/03 18:11, , 9F
這種問題最好還是從企畫面阻止會比較有效
05/03 18:11, 9F

05/03 21:28, , 10F
推樓上,編導讓排名系統上的名次拿不到任何好處就好了
05/03 21:28, 10F

05/03 21:29, , 11F
無法得到任何利益,cracker根本就不想去破解它
05/03 21:29, 11F

05/03 23:03, , 12F
編導...似乎是某公司在用的名詞~
05/03 23:03, 12F

05/04 00:02, , 13F
用簽證還是有一樣的問題 patch檢查簽證的code就好了
05/04 00:02, 13F

05/04 00:03, , 14F
這種東西最後只能靠硬體檔 例如檢查簽證的code在bootrom裡
05/04 00:03, 14F

05/04 00:03, , 15F
然後cpu一啟動就檢查bootrom的合法性..
05/04 00:03, 15F

05/04 00:04, , 16F
但在pc上基本上作不到XD
05/04 00:04, 16F

05/04 00:05, , 17F
但有心的話還是能從硬體下手 嘗試送一些訊號讓cpu"秀斗"
05/04 00:05, 17F

05/04 00:05, , 18F
跳過檢查的部份...
05/04 00:05, 18F

05/04 00:07, , 19F
那樣搞太麻煩了 除非是銀行的存款數目 我才會想改
05/04 00:07, 19F

05/04 00:08, , 20F
總之只要"想"破解應該沒有辦不到的...XD
05/04 00:08, 20F

05/05 00:41, , 21F
使用RSA或者其他數學加密,就算對方知道你是怎麼加密的
05/05 00:41, 21F

05/05 00:42, , 22F
只要你數值長度夠大,而且在傳輸過程不會過於明顯
05/05 00:42, 22F

05/05 00:43, , 23F
解密還是需要不少時間,比如說2-3個月那種
05/05 00:43, 23F

05/06 05:57, , 24F
使用RSA只要長度夠,是不能被破解的@@
05/06 05:57, 24F

05/06 08:21, , 25F
話說,能不能把分數的計算抽離出客戶端程式,另設一台主機
05/06 08:21, 25F

05/06 08:23, , 26F
處理,Client端還是照送相關封包過去,然後用實時檢查
05/06 08:23, 26F

05/06 08:24, , 27F
如此加密的處理就都在另一台主機,等於多一層防護
05/06 08:24, 27F

05/06 08:31, , 28F
而這個實時檢查就是Client跟分數處理主機互送heartbeat
05/06 08:31, 28F

05/06 08:37, , 29F
也就是只要Server,Client,分數計算 有一不合就斷開 ?@@
05/06 08:37, 29F
文章代碼(AID): #1DljHwYB (GameDesign)
文章代碼(AID): #1DljHwYB (GameDesign)