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

Project1

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

[已经解决] 如何防止金山游侠对游戏数据的修改。

 关闭 [复制链接]

Lv1.梦旅人

饕餮

梦石
0
星屑
222
在线时间
677 小时
注册时间
2011-5-9
帖子
486
跳转到指定楼层
1
发表于 2011-8-27 21:49:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,因为比较大型,或者比较耐玩的游戏 最容易耗尽急性玩家的耐心。
我加密了游戏就是为了防止工程修改,但金山游侠可以用进制  内存来对游戏进行修改,
某些重要道具我能用事件来监视,但用事件防修改的话 不仅影响运行速度  而且这不能根治。

以前66老论坛我看到过一个“防修改的脚本”,不知道现在是否还有人收藏有此脚本?
几天时间的大更新,就这样被修改掉了,真累人。希望能有个好心人出手相助!谢谢了
(如果此求助帖违反了版规,请果断处理)

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

2
发表于 2011-8-27 22:00:10 | 只看该作者
与其注重修改神马的 不如想如何加密 其实再防止修改 只要解密什么都完了 如果玩家愿意费时间去破你的修改 不如直接费时间解密 当然 如果游戏优秀到玩家愿意花时间精力去破解  也是你的荣幸
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42431
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

3
发表于 2011-8-27 22:04:34 | 只看该作者
ruby本身就是最好的加密,一切皆为对象让修改器无从下手,
顺便加几个什么,窗口失去焦点数据全部换内存啊
算法全部打乱,比如HP为0是满血,100是死亡等等= =

点评

这方法真绝- -。在观看一下,实在没别的 那就来个ruby语言编写的。 或者来个进制加密。  发表于 2011-8-27 22:36
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

饕餮

梦石
0
星屑
222
在线时间
677 小时
注册时间
2011-5-9
帖子
486
4
 楼主| 发表于 2011-8-27 22:19:33 | 只看该作者
天使喝可乐 发表于 2011-8-27 22:00
与其注重修改神马的 不如想如何加密 其实再防止修改 只要解密什么都完了 如果玩家愿意费时间去破你的修改  ...

我可以用编程加密,虽然这种加密很强劲,但会被杀毒软件误报,所以还是简单的RM加密算了。还有个加密方法叫“进制加密法”,可以用进制加密游戏内存,虽然难以破解,也无法修改,但大大影响了游戏的运行速度。。。
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42431
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

5
发表于 2011-8-27 22:44:03 | 只看该作者
本帖最后由 fux2 于 2011-8-27 22:44 编辑
526832541 发表于 2011-8-27 22:19
我可以用编程加密,虽然这种加密很强劲,但会被杀毒软件误报,所以还是简单的RM加密算了。还有个加密方法 ...


失去焦点加密数据大致思路如下,下面的代码八成无法运行,是未测试理想化代码
只是代表一个想法,$_OnFocus是获取当前窗口焦点状态的API,用的是紫苏的真*后台运行DLL
  1. class << Graphics
  2.   alias:u:update
  3.   def update
  4.     u if $_OnFocus.call != 0
  5.     unless @onfocus == $_OnFocus.call
  6.       if @scene != $scene
  7.         $fuxlock = {}
  8.         if $_OnFocus.call == 0
  9.           $fuxlock = {}
  10.           $scene.instance_variables.each{|i|
  11.           $fuxlock[i] = $scene.instance_variable_get{i}
  12.           eval("$scene.instance_exec{"+i+"}=\"fux2locked\"")}
  13.         else
  14.           unless $fuxlock == {}
  15.             $scene.instance_variables.each{|i|
  16.             eval("$scene.instance_exec{"+i+"}=#{$fuxlock[i]}")}
  17.           end
  18.         end
  19.         @scene = $scene
  20.       end
  21.     end
  22.   end
  23. end
复制代码
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

6
发表于 2011-8-27 22:59:20 | 只看该作者
本帖最后由 亿万星辰 于 2011-8-27 23:00 编辑

不如先考虑一下如何能做到让玩家有使用金山来修改游戏的欲望吧~
修改也是游戏的乐趣之一,不要连这点东西都给玩家剥削掉。
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

饕餮

梦石
0
星屑
222
在线时间
677 小时
注册时间
2011-5-9
帖子
486
7
 楼主| 发表于 2011-8-27 23:07:06 | 只看该作者
亿万星辰 发表于 2011-8-27 22:59
不如先考虑一下如何能做到让玩家有使用金山来修改游戏的欲望吧~
修改也是游戏的乐趣之一,不要连这点东西都 ...

突然听您这么一说 我恍然大悟!说得对,看来我的思想还是有些自私。。。
没错,与其加密防止修改,不如多花点时间在游戏中添加更多的乐趣。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 10:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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