设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 11245|回复: 34
打印 上一主题 下一主题

[原创发布] 保护游戏地图数据与插件脚本防修改——PC端、手机端都能防

[复制链接]

Lv4.逐梦者

梦石
0
星屑
19085
在线时间
2291 小时
注册时间
2015-7-4
帖子
939
跳转到指定楼层
1
发表于 2019-2-26 16:17:48 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本插件通过加密地图数据 json 文件,达到就算调出 www 文件夹用 MV 打开工程
也看不到地图数据。当然为防止通过破解插件脚本仿写解密方法,本插件支持且
要求要加密脚本。这样子,只要写在地图事件里的数据基本就能得很好的防护了,
而且加密过的工程 PC 端可以无需打包成 EXE,更加方便游戏内容更新。

范例工程用 江湖梦网 的联网范例,里面有PC端与APK端,可以尝试解包。
下载链接:https://pan.baidu.com/s/17MPPHWZ924cPm9HKAfxJwA 密码:qusn

破解出 www 文件夹用 MV 打开只能看到基础数据库,看不到地图:

打开地图 json 文件都是密文,范例采用简单加密,后续会开发多种加密方式:

本插件需要在游戏开发完成后要发布之前安装,这是初版,用了简单加密,
目前插件还在优化,还有更高级的加密方式,需要者请关注 江湖梦网


Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41281
在线时间
7606 小时
注册时间
2009-7-6
帖子
13519

开拓者贵宾

16
发表于 2019-9-6 13:50:42 | 只看该作者
新版感觉有点没表现出加密的功能,本身就是需要网络数据,加密的意义就不大了

首先没防控制台


为所欲为


由于没有实质性内容,所以也没破解价值了……
sojson.v5有点太容易被针对了,他只是没有公开的傻瓜解法,实际上强度没有那么高,而且已经有现成的参考文章了

点评

好吧!做游戏也就是防玩家修改游戏,JS要防程序员是不敢想的啦,所以一直没防控制台。不知道这个在防些工具修改游戏、修改插件的强度上如何。  发表于 2019-9-6 16:59
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19085
在线时间
2291 小时
注册时间
2015-7-4
帖子
939
15
 楼主| 发表于 2019-9-6 11:54:29 | 只看该作者
最新全方位加密出炉了!防内存修改,防数据库与地图文件修改,防脚本修改,防存档修改,隐藏素材加密钥匙,简化加密操作,不加大数据与脚本解密负担,插件多时会在启动游戏时延迟一点,需改变游戏存档,仅限新游戏发布前使用,旧游戏接入需重新开始游戏。

还是原来的范例还在原来的网盘,敬请各种尝试:
https://pan.baidu.com/s/17MPPHWZ924cPm9HKAfxJwA 密码:qusn
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
79
在线时间
6 小时
注册时间
2019-8-17
帖子
2
14
发表于 2019-8-20 00:22:40 | 只看该作者
本帖最后由 endymx 于 2019-8-20 00:24 编辑
Fan723 发表于 2019-8-18 09:24
1.对所有JS都加密存在一个弊端,加解密过程毕竟是降低效率的,有些方法被频繁调用,加解密过程会导致掉帧 ...


不是加密所有js,而是在窗口创建时对js目录下所有文件进行一次MD5校验,只要有一个js的代码被改动过,md5出来的值就会不同,然后判断不同关掉窗口就好
加密是指对算好的MD5值加密一次对比,防止被修改

点评

哦!这倒是好方法,就是还不会用,有待研究。  发表于 2019-8-20 09:58
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19085
在线时间
2291 小时
注册时间
2015-7-4
帖子
939
13
 楼主| 发表于 2019-8-18 09:24:42 | 只看该作者
endymx 发表于 2019-8-18 01:31
修改js文件的话,在插件里面对js文件夹下面的所有文件进行一次MD5验算,然后加密存在一个位置,每次开启 ...

1.对所有JS都加密存在一个弊端,加解密过程毕竟是降低效率的,有些方法被频繁调用,加解密过程会导致掉帧,手机端表现出卡顿,所以没必要加密的部分还是维持开源比较好。
2.防内存修改方面我想到的还是验证方面,目前我这边的游戏是联网有服务器,做服务器验证比较有基础。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
79
在线时间
6 小时
注册时间
2019-8-17
帖子
2
12
发表于 2019-8-18 01:31:31 | 只看该作者
Fan723 发表于 2019-6-27 23:51
最近几个我加密的游戏,有的发布三个多月了,有的一个多月,数据库、地图、存档倒是没见被玩家破解,
但是 ...

修改js文件的话,在插件里面对js文件夹下面的所有文件进行一次MD5验算,然后加密存在一个位置,每次开启时进行一次验算就能解决这个问题吧
另外求教如何防范内存修改
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19085
在线时间
2291 小时
注册时间
2015-7-4
帖子
939
11
 楼主| 发表于 2019-6-28 11:05:26 | 只看该作者
无阻软件 发表于 2019-6-28 00:34
在我理解里面web的打包方式无论如何都不能做到很好加密
如果不能在MV基础引擎上面进行大改的话在我想象中 ...

话说得是很有道理的,不可否认 MV 引擎是有弊端的,我也相信所有的程序在程序员与黑客眼里都是可破解的。但是当你有这方面能力的时候你是否愿意花费这个时间和精力来破解一个 MV 做的游戏?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
21 小时
注册时间
2019-5-28
帖子
7
10
发表于 2019-6-28 00:34:42 | 只看该作者
在我理解里面web的打包方式无论如何都不能做到很好加密
如果不能在MV基础引擎上面进行大改的话在我想象中无论如何加密你最终MV的index.html文件运行的时候都会解密进行载入才能正常游戏

这个时候再进行web动态读取调试被加密内容就被扒出来原内容了 这是游戏引擎本身的弊端
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19085
在线时间
2291 小时
注册时间
2015-7-4
帖子
939
9
 楼主| 发表于 2019-6-27 23:51:43 | 只看该作者
最近几个我加密的游戏,有的发布三个多月了,有的一个多月,数据库、地图、存档倒是没见被玩家破解,
但是有发现玩家用修改内存方式,或修改 rpg_objects.js 文件中的脚本来获得物品与增加HP、MP、游戏币
等,我是已研究出了防御 RPGMakerMVGame Hook patcher.exe 工具修改内存的作弊,与通过 gainItem()
方法获得物品的作弊方法,防止玩家修改 HP、MP 也有思路来防御,但是防御通过 gainItem() 方法获得物
品与通过 gainGold() 修改游戏币的实在工作量非常大,特别是在给有的游戏加密时上百个插件的话,要逐
一检查插件是否涉及这两个方法实在够呛。

不知道大家的游戏出去后都遇到了什么样的破解修改,想看一下游戏加密应该朝哪个方向发展才是大众所需。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19085
在线时间
2291 小时
注册时间
2015-7-4
帖子
939
8
 楼主| 发表于 2019-3-1 08:23:26 | 只看该作者
四楼的神秘君的方法挻不错,只是得会代码的人自己写,还有就是所有脚本放到一个文件里实在太大,
要混淆加密都得付费,没法做到通用。
我的方法目前做到 MV默认数据库跟地图的 json 文件与存档文件都能加密,这个加密用 Base64 解码
已经解不出来了,但是程序员还是能读取内存生成文件的。
我能想到另一层保护就是,加密解密写在插件,然后游戏中挑几个关键插件与这个插件关联,如果关
闭这个插件就得将其它几个关联插件都关闭才能运行,然后这几个插件一起混淆加密。这样一来,就
算是生成了数据库跟地图文件还要关闭这几个插件才能运行游戏,这时游戏就已经变样了。

评分

参与人数 1+1 收起 理由
lqsg123 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-5-6 00:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表