2015-06-15 68 views
0

我有2個變量簡單的遊戲得分和最佳得分商店:SharedPreferences的Android遊戲:策略來擊敗內存編輯作弊

static SharedPreferences app_preferences; 

//Save hight score example 
SharedPreferences.Editor hightScore = app_preferences.edit(); 
hightScore.putInt("HighScore", temp); 
hightScore.apply(); // Very important 

int HightScore, CurrentScore; 

我保存socre在Android操作系統上,有很多內存編輯工具,比如:GameCIH,DaxAttack,HaXplorer,SB Game Hacker,GameGuardian(在Android版本上工作到Kikat 4.4)和遊戲殺手(使用Android Lollipop完全兼容)

我希望有人幫我找出一些策略來阻止我的變量的形式通過這些工具被修改

我真的很感謝你的幫助。先進的非常感謝。

回答

0

一般來說,我並不知道任何工具或任何東西。

但是作爲一種臨時解決方案,如果您真的想在任何情況下阻止它,爲什麼不創建兩個必須添加的變量才能成爲新的高分?

但是,你總是必須一起處理這兩個值。我不會推薦它。

另外,編譯器可能會注意到兩個變量總是被添加,並且畢竟它會創建一個變量。

您也可以check for installed packages

這可能是最好的方法。

0

從保存的數據中計算散列並存儲它。再次加載計算並與存儲進行比較。如果不匹配 - 您有非法更改。

將全部擦除爲零狀態。

1

因爲他們在做一個http攔截,所以不幸的是你沒有辦法做。我甚至發現在iTunes連接中設置排行榜的最高分數沒有任何作用。

我所從事的一款遊戲絕對不會將分數推到磁盤上 - 因此它不會在那裏發生變化 - 並將最高分設爲30米。然而,排行榜在發佈後的幾個小時內就充滿了IntMax分數。

您還可以設置自己的服務器,並使用適當的身份驗證和加密通道上傳分數,然後比較服務器中的內容與GameCenter中的內容......您仍然需要清理排行榜,但至少您將知道要修復哪些內容以及將哪些用戶列入黑名單。

我參考MalluHacks API