码迷,mamicode.com
首页 > 其他好文 > 详细

单机 & 弱联网手游 防破解、金币修改 简单措施

时间:2015-07-11 01:09:01      阅读:818      评论:0      收藏:0      [点我收藏+]

标签:unity3d   加密   防破解   

手游常用破解方法

对于一个弱联网或者单机游戏,可以从以下方面去破解:

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的工程下载:

http://pan.baidu.com/s/1hqD4yyg


然后下面是用来测试的普通场景的代码:


下面是用来测试 加密的代码:


对比上面的两个代码,就会明白这次加密的原理。

好了,下面是我用烧饼修改器测试的结果。


不加密秒破解

破解不加密游戏开始,攻击力初始为0

技术分享


点击 普通赋值 ,赋值 100

技术分享


用烧饼修改器搜索 100

技术分享


搜索到很多值为  100 的内存地址

技术分享


返回游戏,点击 修改伤害值 按钮,数值 + 1 =101.

再次搜索 101

技术分享


这次只搜索到 2 个值为 101 的数据。我们把这两个数据都进行修改  为 7777 。

技术分享


提示修改成功,同时我们看到游戏中显示的数值变了,那么数据是否真的变了。

回到游戏,再次点击 修改伤害值,显示 7778 。

至此游戏已经被修改破解。


加密后破解变难

破解加密游戏开始,初始值为 0

技术分享


点击 加密赋值 ,给初始攻击  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)


话说如果真有高人来破解你的游戏,不管怎么做,都会被破解掉的。我们能做的就是尽量增大破解难度。或者,做成网络游戏。


版权声明:本文转自http://blog.csdn.net/huutu 转载请带上 http://www.thisisgame.com.cn

单机 & 弱联网手游 防破解、金币修改 简单措施

标签:unity3d   加密   防破解   

原文地址:http://blog.csdn.net/huutu/article/details/46835839

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!