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

Project1

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

[讨论] $DEBUG / $TEST 都是漏洞

[复制链接]

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
跳转到指定楼层
1
发表于 2011-10-25 20:28:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
昨天看了夏娜的第三方 Player 才知道原来只要在运行游戏时加个参数
RMXP:
  1. start Game.exe debug
复制代码
RMVX:
  1. start Game.exe test
复制代码
就能以调式模式来运行,
所以发布的游戏脚本内只要存在 $DEBUG / $TEST 都会形成一个漏洞,
一个让人作弊的漏洞,在此建议各位新手们,在发布游戏时,
记得把所有在  $DEBUG / $TEST 的情况调用的脚本全部删除。
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

11
发表于 2011-10-26 23:46:42 | 只看该作者
如果想彻底封锁漏洞的话,加密吧——默认的加密就足以封锁测试的漏洞了。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1347
在线时间
676 小时
注册时间
2009-11-11
帖子
2790
10
发表于 2011-10-26 17:16:52 | 只看该作者

すべての男性が同じように作成されていません。一部は賢く生まれている、またはそれ以上status.Someの両親を持つ、より美しいかは、対照的に、才能があれば、身体のまたは心の弱い生まれた、または少数とされています。すべての男性は異なります。はい、人間の存在そのものが差別的です!戦争、暴力と不安がある理由です。不平等は悪ではない。平等です!

"すべてが等しいか?その教義は、人間の本性に反するので、それが一定で矛盾している!主張し、EUのようになった何が同じような感想を庇護する中東連合会は、、常に怠惰に陥っている。しかし、私たちのブリタニアがそれらを好きではないさ!我々は、戦争に終止符を打ち、あらゆる征服とともに進化!ブリタニアが単独で前方に見えるし、よりよい未来に向かって移動する。


所有的人都是平等的。有些是天生的聪明,或者更美丽与那个更大的父母或相反,是天生的身体或精神弱,或很少,如果有的话,人才。所有的人都是不同的。是的,人的存在是歧视!这就是为什么有战争,暴力和动乱。不平等是不是邪恶的。平等是!

“成为欧盟声称都是平等的吗?它是在不断的冲突,因为它的原理是违反人性!中东联邦,港口类似的观点,不断深陷在懒惰,但我们大不列颠不喜欢他们!制止战争和发展与每征服大不列颠独自期待着,走向更加美好的未来。


嘿。嘿。嘿
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
288
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

9
发表于 2011-10-26 13:18:45 | 只看该作者
其实这个不是漏洞. 命令行参数其实是给 编辑器 测试留的.  发布的时候记得掐掉就好.

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1347
在线时间
676 小时
注册时间
2009-11-11
帖子
2790
8
发表于 2011-10-26 11:37:11 | 只看该作者
哦,cmd啊,就是加参数运行对吧

点评

其实快捷方式也可以  发表于 2011-10-26 13:42

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

乌有君
7
乌有君  发表于 2011-10-26 00:07:40
本帖最后由 匿名 于 2011-10-26 11:58 编辑

又不是做平衡性网游,何必计较用户作弊神马的呢?


#########################################################################

↓为神马英雄无敌从来和平衡性米有关系捏?外加一大坨RPG主角都顶着主角光环NPC没人权啊!有木有!
神所创造的世界也从未平衡过!有HARD难度的天朝,有EASY难度的米国,有VERY EASY的北欧,有HELL的朝鲜。

All men are not created equal. Some are born smarter, or more beautiful or with parents of greater status.Some, by contrast, are born weak of body or of mind, or with few, if any, talents. All men are different. Yes, the very existence of man is discriminatory! That is why there is war, violence and unrest. Inequality is not evil. Equality is!

"What became of the EU that claimed all are equal? It is in constant conflict because its tenets go against human nature! The Middle Eastern Federation, which harbors similar sentiments, is constantly mired in sloth. But our Britannia is not like them! We put an end to wars and evolve with every conquest! Britannia alone looks forward and moves toward a better future.
(大雾)

点评

必须的  发表于 2011-10-26 12:06
任何游戏都需要平衡 和是否网游有半毛钱关系?  发表于 2011-10-26 11:21
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

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

开拓者短篇七成年组季军

6
发表于 2011-10-25 23:22:05 | 只看该作者
“$DEBUG / $TEST 的情况调用的脚本” 是什么脚本= =

点评

Scene_Debug还有Game_Player中判断CTRL键无视通行这两个地方 - -  发表于 2011-10-25 23:58
Scene_Debug  发表于 2011-10-25 23:57
回复 支持 反对

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
728
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

5
发表于 2011-10-25 23:12:39 | 只看该作者
本帖最后由 各种压力的猫君 于 2011-10-25 23:17 编辑
  1. class Scene_Debug
  2.   def main
  3.     exit
  4.   end
  5. end
复制代码
XP/VX通用不解释
忘了还有CTRL穿墙 - - 那就干脆这样
  1. class Scene_Base
  2.   exit if $DEBUG or $TEST
  3. end
复制代码
同样XP/VX通用
或者你想要个提示信息就小改一下:
  1. class Scene_Base
  2.   if $DEBUG or $TEST
  3.     print "作弊是可耻的 — — 凸 "
  4.     exit
  5.   end
  6. end
复制代码

点评

我服了你“作弊是可耻的 — — 凸”&exit  发表于 2011-10-26 07:44
XP其实不存在这个Scene - - VX才有的。无非是习惯写个Scene而已 =W= 别在意别在意  发表于 2011-10-26 00:18
为啥要 Scene_Base ?直接插在Main就行了嘛  发表于 2011-10-26 00:02
回复 支持 反对

使用道具 举报

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
4
 楼主| 发表于 2011-10-25 22:23:31 | 只看该作者
精灵使者 发表于 2011-10-25 21:35
这……太简单了吧。
用不着删那么多吧……
其实MAIN前面加一句

正想要这种获得参数的脚本,
Ruby 可以直接 ARGV 但 RM 的 ARGV 却是空空如也。
不过我是另有用途,
关于那个 DEBUG 我是直接使用夏娜的第三方 Player,
然后去掉判定是否调式的那一段。
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

3
发表于 2011-10-25 21:35:50 | 只看该作者
本帖最后由 精灵使者 于 2011-10-25 21:36 编辑

这……太简单了吧。
用不着删那么多吧……
其实MAIN前面加一句
$DEBUG = false
或者
$DEBUG = $TEST = false
就可以解决一切问题。
或者利用这个脚本(全版本通用)
  1. uw = Win32API.new("kernel32.dll", "GetCommandLine","v","p").call()
  2. uw = uw.split()[1]
  3. if  uw.split == ["test"] or uw.split == ["debug"]
  4.     p "Error!"
  5.     exit
  6. end
复制代码
参考精灵BLOG的文章
囧!VX和XP的正式版也可以进入测试模式!

另:测试模式仅仅对于解密的游戏工程有效,对于已经用rgssad/2a加密过的游戏则没有效果

点评

酱紫啊  发表于 2011-10-26 17:12
那么就直接用$TEST=$DEBUG=false吧,加在脚本的最上方……这样默认的测试也屏蔽了。  发表于 2011-10-26 02:13
BUG 依旧存在,要是游戏路径包含着空格就失效了  发表于 2011-10-25 22:33

评分

参与人数 1星屑 +20 收起 理由
英顺的马甲 + 20 正好是我想要的脚本。

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 22:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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