Project1

标题: $DEBUG / $TEST 都是漏洞 [打印本页]

作者: 英顺的马甲    时间: 2011-10-25 20:28
标题: $DEBUG / $TEST 都是漏洞
昨天看了夏娜的第三方 Player 才知道原来只要在运行游戏时加个参数
RMXP:
  1. start Game.exe debug
复制代码
RMVX:
  1. start Game.exe test
复制代码
就能以调式模式来运行,
所以发布的游戏脚本内只要存在 $DEBUG / $TEST 都会形成一个漏洞,
一个让人作弊的漏洞,在此建议各位新手们,在发布游戏时,
记得把所有在  $DEBUG / $TEST 的情况调用的脚本全部删除。
作者: summer92    时间: 2011-10-25 21:06
在哪里加
作者: 精灵使者    时间: 2011-10-25 21:35
本帖最后由 精灵使者 于 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-25 22:23
精灵使者 发表于 2011-10-25 21:35
这……太简单了吧。
用不着删那么多吧……
其实MAIN前面加一句

正想要这种获得参数的脚本,
Ruby 可以直接 ARGV 但 RM 的 ARGV 却是空空如也。
不过我是另有用途,
关于那个 DEBUG 我是直接使用夏娜的第三方 Player,
然后去掉判定是否调式的那一段。
作者: 各种压力的猫君    时间: 2011-10-25 23:12
本帖最后由 各种压力的猫君 于 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
复制代码

作者: 天使喝可乐    时间: 2011-10-25 23:22
“$DEBUG / $TEST 的情况调用的脚本” 是什么脚本= =
作者: 匿名    时间: 2011-10-26 00:07
本帖最后由 匿名 于 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.
(大雾)
作者: summer92    时间: 2011-10-26 11:37
哦,cmd啊,就是加参数运行对吧
作者: 八云紫    时间: 2011-10-26 13:18
其实这个不是漏洞. 命令行参数其实是给 编辑器 测试留的.  发布的时候记得掐掉就好.
作者: summer92    时间: 2011-10-26 17:16

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

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


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

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


作者: 精灵使者    时间: 2011-10-26 23:46
如果想彻底封锁漏洞的话,加密吧——默认的加密就足以封锁测试的漏洞了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1