单机 & 弱联网手游 防破解、金币改动 简单措施
手游經常使用破解方法
對于一個弱聯網或者單機游戲,能夠從下面方面去破解:
1、找得到存檔文件的,直接破解改動存檔文件。
2、找不到存檔文件,就在游戲執行時借助一些軟件來改動數值,比方用各種改動器手游助手來改動金幣。
3、找不到存檔文件、數值還改動不了,就直接反編譯,Java就看Java、C#就看IL、C++就看匯編。
文章轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
手游防破解對策
好了。防破解我們也從以上方面來做 (或者還有其他的)。
1、對于破解改動存檔文件的。
首先我們能夠聰明一點。存檔名字不要寫成SaveData、Config、Cundang、等這樣的非常傻瓜的名字。
難道存檔文件就不能命名為mp3、jpg嗎?把存檔文件扔到一堆jpg里面,這是簡單有效的方法。
然后就是加密。字節偏移 、上上下下左左右右交換都能夠。僅僅要自己能認得出來。
2、軟件改動數值,是這次我要測試的。
首先我們要明確市面上各種改動器的原理。隨便哪一款改動器都是教你先找到一個數值,比方金幣 5000,然后搜索這個數值,再去改變這個數值,再搜索改變后的數值。
那么相應于這樣的方式,我們要做的就是,讓 顯示的數據 和 我們實際用于計算的數據 并不一樣。比方玩家攻擊力是100。那么我從存在存檔中的就寫 101。然后計算傷害的時候用
101 -1 =100 這樣去計算,可是顯示在屏幕上的還是 100 。這樣玩家用改動器去搜索 100 這個數值。然后攻擊力 +1 的時候顯示101,可是事實上我們的變量中存儲的是 102.自然就搜索不到了。
以下我用Unity做的一個Demo,然后用燒餅改動器來測試改動數據,測試 不加密 和 加密 ( 指的就是上面的 100+1 ) 的 情況。
文章轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
首先Unity的project下載:
http://pan.baidu.com/s/1hqD4yyg
然后以下是用來測試的普通場景的代碼:
以下是用來測試 加密的代碼:
對照上面的兩個代碼。就會明確這次加密的原理。
好了,以下是我用燒餅改動器測試的結果。
不加密秒破解
破解不加密游戲開始,攻擊力初始為0
<img src="http://img.blog.csdn.net/20150710232234964?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
點擊 普通賦值 ,賦值 100
用燒餅改動器搜索 100
搜索到非常多值為 100 的內存地址
返回游戲,點擊 改動傷害值 button。數值 + 1 =101.
再次搜索 101
這次僅僅搜索到 2 個值為 101 的數據。我們把這兩個數據都進行改動 為 7777 。
提示改動成功,同一時候我們看到游戲中顯示的數值變了,那么數據是否真的變了。
回到游戲。再次點擊 改動傷害值,顯示 7778 。
至此游戲已經被改動破解。
加密后破解變難
破解加密游戲開始。初始值為 0
<img src="http://img.blog.csdn.net/20150710232818316?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
點擊 加密賦值 ,給初始攻擊 100
然后在燒餅改動器中搜索 100
搜索到非常多個
返回游戲 ,點擊 改動傷害值 后。傷害值顯示為 101 。
繼續在燒餅改動器中搜索 101 。
僅僅搜索到1個。
我們改動成 66666。
提示改動成功,可是我們看到,游戲中的數據并沒有變化。
返回游戲,點擊 改動傷害值 ,發現一切正常。
破解加密失敗。
文章轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
為什么普通的能搜索到 2 個101,而加密的僅僅能搜索到 1個 101?
由于加密的游戲,在那個時候,的確僅僅有一個數據是101,就是屏幕顯示的。
存儲用于計算的數值,是 102 。改動器改動的僅僅是用于屏幕顯示的一個數字,并且改動之后立即又被真實的數值替換了。所以并沒有改動成功。
3、對于反編譯游戲代碼的,我們能夠對代碼進行混淆加密。
Unity反編譯又一次打包的流程。看以下的日記。
Unity3d 反編譯破解游戲 簡單演示樣例 (使用ildasm反編譯DLL改動然后又一次編譯DLL)
話說假設真有高人來破解你的游戲,無論怎么做,都會被破解掉的。
我們能做的就是盡量增大破解難度。或者,做成網絡游戲。
總結
以上是生活随笔為你收集整理的单机 &amp; 弱联网手游 防破解、金币改动 简单措施的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5年来首次改款!新款iPad外观图出炉:
- 下一篇: sessionStorage 、loca