我使用python編寫了一個遊戲,用於windows。遊戲要求玩家在某個時候購買金幣。該程序會將該硬幣的餘額存儲到一個文件中,但如果用戶在購買後備份該文件,使用金幣然後用備份替換該文件,金幣將被恢復。如何使程序檢測到這一點。程序如何知道原始文件何時被刪除(假設沒有連接到互聯網)我該如何安全地存儲我的遊戲金幣
回答
如果您想限制離線執行 - 這是沒有辦法的。您可以通過讓人們實際下載代碼本身作爲購買的一部分來限制可用的項目/功能。但是,用戶無法做出完整備份。一旦您將狀態存儲在客戶機上,您將失去控制權。你只能使作弊難/執行復雜,但不能阻止它。
但是,您可以防止恢復硬幣而無需進行其他修改。通過整合貨幣和物品/商店的存儲,您可以確保特定的硬幣映射到某個特定的其他物品。通過這種方式,用戶可以更改購買的內容(恢復備份並再次購買),但它們無法獲得無限的收益。
實施SAVEGAME防竊電:
- 安裝PyCrypto(跳過此如果已安裝)
- 創建,這將是存儲容器類(字符的名稱,硬幣,庫存等將存儲在這裏) 。重要提示:切勿分開存儲貨幣和庫存!
- 保存時,醃製該存儲對象。
- 加密保存使用PyCrypto.Cipher.AES(最值得信賴)。關鍵是,在大多數情況下,
charactername[::-1]
- 將其寫入文件。田田!
注即使加密是不夠的,在某些情況下。如果你真的想保護你的保存,請使用AES + Cython + DeNuvo。但是,雲節省仍然更安全。
仍然不是100%安全。更好地使用保存雲(Steam Cloud) –
這是混淆,而不是保護。因爲它只是python,所以你可以很容易地查看源代碼。用戶查看源代碼,以相同方式解密容器,更改他們想要的內容,然後再次對其進行加密。田田! – viraptor
- 1. 我應該在哪裏存儲我的遊戲關卡狀態?
- 2. 如何在iOS中存儲遊戲中的貨幣
- 3. 如何在遊戲服務器上安全地保存密碼?
- 4. 我該如何執行谷歌遊戲遊戲登錄?
- 5. 如何保存遊戲數據爲我的iOS的Cocos2D遊戲?
- 6. 我該怎麼做(遊戲)?
- 7. LibGDX:Android遊戲安全
- 8. C# - 如何安全地存儲我的ConnectionString
- 9. 如何安全地存儲我的CouchDB管理員密碼?
- 10. 如何安全地存儲我的網站配置文件?
- 11. 我應該在哪裏存儲我的cocos2d Iphone遊戲的gold/exp屬性?
- 12. 如何存儲用戶在我的遊戲中的進度
- 13. 如何從我的遊戲
- 14. 我應該如何在遊戲中存儲和使用槍支火情數據?
- 15. 解析保存遊戲高分安全
- 16. Django:我應該如何存儲貨幣價值?
- 17. 我如何安全地JSON.stringify?
- 18. 我應該如何構建我的iPhone OpenGL ES 1.1遊戲?
- 19. 我應該如何讓我的遊戲以exe格式工作?
- 20. 我該如何安全地移除舊的InnoSetup安裝?
- 21. Unity3d我如何編程我的遊戲?
- 22. 我不知道如何把我的安卓遊戲admob
- 23. 社交遊戲地圖瓷磚存儲
- 24. 如何安全地存儲MySQL數據?
- 25. 如何安全地存儲密鑰?
- 26. 如何安全地存儲會話ID
- 27. JavaScript遊戲和安全
- 28. HTML5遊戲街機 - 安全
- 29. 我的AS3遊戲不會全屏幕
- 30. 硬幣翻轉游戲保存問題
您能否在儲存關於金幣的信息時將剛纔與硬幣一起購買的信息存儲在同一個文件中?然後恢復備份也會刪除它們的項目。 –