单机 amp; 弱联网手游 防破解、金币改动 简单措施

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

手游经常使用破解方法

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

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


点击 普通赋值 ,赋值 100


用烧饼改动器搜索 100


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


返回游戏,点击 改动伤害值 button。数值 + 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)


话说假设真有高人来破解你的游戏,无论怎么做,都会被破解掉的。

我们能做的就是尽量增大破解难度。或者,做成网络游戏。


posted on 2017-06-27 14:54 mthoutai 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/mthoutai/p/7085217.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中自定义异常的_java中的自定义异常(标准)

自定义“无效名字异常”1.编译时异常,直接继承Exception2.运行时异常,直接继承RuntimeExceptionpublic class IllegalNameException extends Exception{//编译时异常//public class IllegalNameException extends RuntimeException{//运行时异常public I…

Linux 内核通知链和例程代码

概念大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用&#x…

faster rcnn resnet_RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比

RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比一.RCNN问题一:速度经典的目标检测算法使用滑动窗法依次判断所有可能的区域。本文则预先提取一系列较可能是物体的候选区域,之后仅在这些候选区域上提取特征,进行判断。问题二…

啰嗦一二三

第一点之前有一个抽奖,抽取野火开发板的,我记得有很多人参加了,20号的时候,获奖的同学都主动找我填写了收获地址,但是有一个同学特别调皮,到今天都没有来找我,我等了好久好久,还是没…

java agent 监控tomcat_promethues监控tomcat

promethues监控tomcat:mkdir /var/lib/tomcat7/prometheuscp -rv jmx_prometheus_javaagent-0.3.1.jar /var/lib/tomcat7/prometheus/cp -rv config.xml /var/lib/tomcat7/prometheus/chown tomcat7:tomcat7 /var/lib/tomcat7/prometheus -Rvi /etc/default/tomcat7…

go设置后端启动_为什么 Rubyists 应该考虑学习 Go

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言如今,越来越少的 Web 开发人员开始专注于 Ruby 之类的单一语言。我们针对不同的工作使用不同的工具。在本文中,Ayooluwa Isaiah 认为 Go 是 Ruby 的完美补充。…

生涯刚开始就要转会?

昨晚,12点快睡觉的时候,一个同学给我发来的问题,篇幅有点长,都是文字,看起来可能有点乏味,不过有耐性的同学还是瞄一下,应该很多人都有这样的迷茫期,我的解答也不一定完全正确&#…

Java 内存 关系_发生在Java内存模型中的关系之前

(1) What does it really mean by saying “ordered before”? Because even if action_a happens-before action_b,action_a can be executed after action_b in some implementation,right?发生之前是因果关系,而不是时间关系. action_a在action_b之前进行因果排序,无论它是…

Topaz Video AI 视频修复工具(内附安装压缩包win+Mac)

目录 一、Topaz Video AI 简介 二、Topaz Video AI 安装下载 三、Topaz Video AI 使用 最近玩上了pika1.0和runway的图片转视频,发现生成出来的视频都是有点糊的,然后就找到这款AI修复视频工具 Topaz Video AI。 一、Topaz Video AI 简介 Topaz Video…

python文本编辑器报错_notepad++编辑器中运行python程序时需要注意的编码格式

本篇文章给大家带来的内容是关于notepad编辑器中运行python程序时需要注意的编码格式,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 语言:python3.4 文本编辑器:notepad 报错:SyntaxErro…

我不建议大家随便跳槽

突然的留言 我的微信好友很多,经常也有一些同学给我留言一些问题,当然能回答的我肯定会回答了,但是如果是非常难的技术问题,我一般会说,我要请教一下身边的朋友,昨晚准备睡觉的时候,收到一个同…

Python代码这样写更优雅(转)

1、变量交换 大部分编程语言中交换两个变量的值时,不得不引入一个临时变量: >>> a 1>>> b 2>>> tmp a>>> a b>>> b tmp pythonic >>> a, b b, a 2、循环遍历区间元素 for i in [0, 1, 2, 3…

我是不建议随便跳槽的

突然的留言我的微信好友很多,经常也有一些同学给我留言一些问题,当然能回答的我肯定会回答了,但是如果是非常难的技术问题,我一般会说「我要请教一下身边的朋友」,我会非常刻意的去回避我技术很水的这个问题&#xff0…

ubuntu c++检测usb口事件变化_拆解报告:美式双USBA口充电插座

----- 充电头网拆解报告 第1441篇 -----最近充电头网拿到了一款美式插座,这款产品相比常规墙插插座,除了配有两个双脚AC插口外,还有两个USB-A接口,支持直接插上数据线即可为两台设备进行同时充电。其中两个USB-A口都支持最大5V4.8…

lol 细节知识

上下路小兵相遇时间:1:50s . 2:20s... 上下路小兵第一只死亡时间2:01s 中路小兵相遇时间:1:39s . 2:09s... 第一个红刷新时间1:39s 。瞎子刷红有人帮要15s。每5分钟刷一次。 第一个蓝开打时间2:30s 。瞎子刷玩要到2:44s。每5分钟刷一次。 刷完…

div不继承父类样式_Python编程思想(27):类的继承

-----------支持作者请转发本文-----------李宁老师已经在「极客起源」 微信公众号推出《Python编程思想》电子书,囊括了Python的核心技术,以及Python的主要函数库的使用方法。读者可以在「极客起源」 公众号中输入 160442 开始学习。-----------正文---…

mysql 举例_MySQL 语句举例(一)

举例:有10个用户,输出在订单表中下单数最多的5个人的名字。my_user 表数据my_order,uid对应my_user表的id测试数据生成写一个存储过程,随机插入10000条数据:CREATE DEFINERrootlocalhost PROCEDURE test_loop( )BEGIND…

你知道Linux里D进程会搞事吗?

前言这篇文章是一位大神在实际项目中遇到问题并分析总结出来的,作为新手,能接触到这类文章应该是受益匪浅,这位同学现在在魅族工作,以后也会一直在魅族工作,是Linux 方面的专家,「魅族还有另一个Linux 大神…

react-router 页面离开 提示数据变更

以前项目使用 react-router2.0, 业务层面页面离开的时候需要弹出自己的弹出框,根据用户的操作,进行是否可以离开 试了几种方式都存在问题,实现的并不完美,没办法对用户点击浏览器后退支持的很好,除非是显示…