記憶體資料加密__遊戲

來源:互聯網
上載者:User
前言

對於單機遊戲,或者用戶端跑遊戲邏輯且伺服器不驗證的網遊,需要一些反作弊手段。
記憶體資料加密, 遊戲資料合理性檢測, 伺服器重跑驗證等都是有效方案。
本文主介紹記憶體資料加密。 本文 記憶體修改器原理:

修改器修改的數值都是在記憶體中常駐的,也就是說,數值在記憶體中的地址是不變的。

我們通過一個例子來看修改器的基本流程。
比如遊戲內金幣為100, 修改器先搜100,會得到值為100的變數記憶體位址。
等金幣變200後,再搜200。
一般重複3到4步操作,修改器就能定位到金幣這個變數所在的記憶體位址。
接著就是修改。

在基本搜尋之外,一些強大的修改器還提供了模糊搜尋和反加密搜尋。

模糊搜尋:
一些類似於血條等看不到具體數位數值,模糊搜尋提供了搜尋“變大”、“變小”、“變化了”、“沒變化”等操作,進行記憶體篩選。
模糊搜尋的步驟比直接搜數值要多,一般要重複7到10步操作才能找到變數對應的記憶體位址。

反加密搜尋:
顧名思義,當數值經過加密後存放到記憶體中時,需要反加密才能找到記憶體位址。一般都是簡單的異或加密或者倍值加密公式。 如何進行記憶體加密

記憶體加密一般分為可逆加密和無法復原加密 可逆加密:

顯示的資料 ~= 記憶體的資料。

將記憶體中常駐的資料加密起來,在顯示的時候解密即可。
例如簡單的異或加密或者y = nx + m。
有興趣的可以搜尋一些複雜的密碼編譯演算法。 無法復原加密:

顯示的資料 == 記憶體的資料。將儲存變數加密,儲存在驗證變數中。

在每次使用變數之前,將變數加密與驗證變數對比,這樣就能發現是否記憶體被修改。
例如計算變數的md5值,並儲存起來,下次取值時,先進行md5驗證。 除了加密:

除了加密外,還有些很有用的小技巧。 不斷變化敏感數值的記憶體儲存地址:將讀寫變數的方法封裝成set和get兩方法, 調用set方式時自動切換變數儲存地址、變化加密金鑰等。 取敏感數值時進行範圍判斷。比如商店商品價格不可能為負數,單局戰鬥獎勵數量不可能突破天際。

如有錯誤,歡迎指出。

email:dxmdxm1992#gmail.com

blog: http://blog.csdn.net/david_dai_1108

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.