官术网_书友最值得收藏!

2.2 防止內存修改

如金山游俠、燒餅修改器這類游戲輔助,可以通過修改內存,直接修改玩家的金幣、經驗值等數據,這種修改危險程度最低,也最容易防御。一般玩家修改內存的方法,是通過內存修改工具查找到游戲在內存中的數值,如金幣、經驗值等,然后用該工具修改這塊內存,這樣金幣、經驗等數據就被修改了。

當玩家的金幣是2048個的時候,搜索內存中值為2048的地址,這時候會列出一系列地址,如果太多,可在游戲中改變這個數值,如花掉1個金幣,然后再搜索2047,經過查詢之后最終定位到內存地址,然后直接修改這個地址對應的內容。

一個簡單的防御方法就是使用偏移量來存儲游戲中的關鍵數據,如我們的金幣,擁有兩個屬性,一個是顯示用的屬性,另一個是真實的金幣數據,真實的金幣數據可以是加上一個隨便定義的常量,如3388。當有100個金幣的時候,顯示屬性的值是100,而真實的金幣數據是3488。正常情況下,每次修改金幣的值應該是這樣的:

        Money += Change;

但在防御狀態下,修改金幣的值應該是這樣的:

        RealMoney += Change;
        ShowM_oney = RealMoney -3388;

相當于把真實的金幣數據進行了一個簡單的加密,但這個簡單的加密可以有效地防止玩家修改內存,金幣賦值是通過RealMoney計算之后進行賦值,所以玩家修改ShowMoney顯示的金幣數是無用的。

主站蜘蛛池模板: 错那县| 开平市| 五莲县| 惠东县| 星座| 河南省| 琼结县| 太保市| 康保县| 开鲁县| 来凤县| 广饶县| 清流县| 长宁区| 娄烦县| 聂拉木县| 陈巴尔虎旗| 马鞍山市| 陈巴尔虎旗| 全南县| 甘洛县| 三亚市| 连江县| 静安区| 舟曲县| 光山县| 滦南县| 拜城县| 洛阳市| 伊通| 亳州市| 锦屏县| 芜湖市| 岳普湖县| 汉沽区| 东乡县| 旅游| 启东市| 金川县| 龙江县| 金山区|