智游城

标题: 德扑圈之漏洞惊现 [打印本页]

作者: Howard    时间: 2016-6-20 23:37
标题: 德扑圈之漏洞惊现
周末打德扑圈,发生一灵异事件。
有一局,我跟两个人打上了。其中一个短筹码,翻前就全进了,我跟另一个还有剩余筹码。


打到转牌,我卡了,眼见对手时间已经用完,却轮不到我反应。

于是我祭出常用解卡大招(效果据说基本为0):切换到其他程序,再迅速切换回来。
这次似乎起到了作用,在河牌敌人check之后,等待我反应之时,切换了回来。这时候我看到那个死人的牌闪了一下,是QTo
闪完之后,又盖上了

我还以为我卡到自动check亮牌了,但是还有下注的机会。

我下注,活着的敌人call。

三人亮牌,短筹码果然是QTo。

这说明在当时那个时间点,全进者的底牌已经发送到了各玩家者客户端,即使还没有打到亮牌。

这肯定是个安全隐患,因为这种关键信息可以被破解。应该是亮牌时服务器再发送底牌信息。

作者: hyrz    时间: 2016-6-21 00:06
刚才刻意开三个号尝试了这种情况,并没有看到牌。。。
作者: Howard    时间: 2016-6-21 03:12
出现这种情况肯定需要很多因素集中到一起才能触发,我猜测至少需要以下几点:

1. 网络延迟,且延迟时间恰到好处
2. 三人的特定位置关系
3. 很可能底牌的大小也有关

事实上网络延迟会造成各种信息错乱。比如说button的位置,如果你在一手牌的最末卡了,到下一手才恢复,很可能你会看到button并未移动,然而其实应该移动到了下家

关于这次底牌闪现,我相信是偶然事件,重现概率非常低。但是,这说明底牌信息在不该亮牌的时候就已经传递到了客户端,这是毫无疑问的。这种设计极其危险,容易遭到破解。一个有规模的软件不应该出现这种设计上的疏忽。
作者: yoking    时间: 2016-6-21 07:32
按说不应该出这种大bug,之前不是听说经过了什么认证的吗?

不到最后摊牌,不能将其他人底牌发送本地客户端,这是起码设计思路。


似乎有两个bug:
是短筹码在多人底池早早全押(系统判断必会摊牌),发送了短筹码底牌;
Howard的操作触发了摊牌机制(有底牌信息的显示底牌,没有的则刚好不显示)。
作者: July    时间: 2016-6-21 07:38
会不会是幻觉,lol
作者: tata2214    时间: 2016-6-21 08:49
我记得好像在哪儿看到过以前出现过这种情况,而且官方还给出了解释,我一会去找找看。
作者: tata2214    时间: 2016-6-21 08:57
找了半天,原来我找到的问题,和楼主说的不太一样,有一些共同点。
作者: tata2214    时间: 2016-6-21 08:58
转别人的发问“有时候,牌局进行中,突然可以看到对手的牌。怎么回事?偶尔。
  
是不是意味着:有可能,有ID可以在看到对方手牌情况下玩牌。”
作者: tata2214    时间: 2016-6-21 08:58
转应该是官方人员的回答“这个是前几天更新的版本的一个bug, 你看到的是其他玩家在上一轮的手牌. 这个已经修正了.
  
这个是在很小的几率下出现的, 需要几个条件:  
第一,  你的网络不是特别好, 比如3G, 本应一起的消息报会有间隔;
第二, 需要经常在两个程序间切换, 比如切到微信, 再切回来;  
第三, 需要在上一局切出德扑圈到别的程序的时候, 刚好到比牌阶段的时候, 这一局比牌的亮牌的缓存还没有清除,ios把在后台的德扑圈杀了;
第四, 在两次心跳检测之间, 你再切回来, 因为服务器只是下发每个人当前时刻能看到牌,  本轮的牌局刷新没有去强制刷新别人的牌的缓存, 所以你看到别人亮牌了.
  
所以...还好这个已经改了 ”
作者: pace    时间: 2016-6-21 11:53
July 发表于 2016-6-21 07:38
会不会是幻觉,lol

其他人有可能,老霍这么严谨的人估计是不太可能了。

作者: 昆仑苍狼    时间: 2016-6-21 11:57
pace 发表于 2016-6-21 11:53
其他人有可能,老霍这么严谨的人估计是不太可能了。

原来严谨的人不会有幻觉

作者: smallma    时间: 2016-6-21 13:21
本帖最后由 smallma 于 2016-6-21 13:23 编辑

其实这个事情跟我之前写「德扑圈猫腻之我见」所说的情况有相呼应。

我是做编程出身的,这种有连网的游戏相对比单机的游戏而言,它在设计上,还有后期运营、测试等等的难度都要增加,如果是有多版本(像安卓、pc端、网页端)的情况下,难度还要再增加;所以,要做出一个好的扑克软件(比如说ps),它的人力与资源投入会是非常的大的。

而从内行人的角度来看,德扑圈这个软件其实是非常小成本、粗糙的一个产品,用它来做为一种娱乐的工具说真的无可厚非,但用它来赌真钱,还赌的那麽大,这真的是无法让人理解的一个事情。

这个漏洞说白了,就是由于程序员偷懒,或者为了简化流程,有可能服務器在每一局牌开始的时候,就把整局牌所有人的牌(甚至公牌),做成整个数据包发到每一个人的手机上(当然,在正常的情况下玩家是看不见这些数据),这样之后玩家的手机与服務器就不用常常的交换资料(talk)。

这样的做法在正常的情况下,会降低服務器的负担,而且相对的来说整个软件设计变的简单,也不容易出问题,如果整个软件只是「娱乐用」,那当然没有任何问题,但是如果数据包被有心人用外挂去读取、破解呢??很简单,就是有人会知道其他所有人的底牌,而且(或是)所有的公牌,这有多可怕。

这是最粗糙的破解方式,还有另外一种是先弄几台机器玩一玩,去拦截(破解)数据,然后直接用其他的电脑向服務器「问」公牌(或对手底牌),这种类似骇客的做法也是很容易的。

越是粗糙的软件,越容易被破解,越容易被有心人利用来牟利,各位城友千万要注意啊。

作者: smallma    时间: 2016-6-21 13:42
本帖最后由 smallma 于 2016-6-21 13:44 编辑

另外我还要说一个事情,这也是一个在玩德扑圈的朋友跟我说的。
当他跟我聊这个软件,以及他自己在上面赢了多少钱等等的事情,我也禀持好心跟他讲了这个东西的猫腻所在,他给我这样的回答:

「你说的我都知道,但是我一直在赢,那就表示还有很多更傻的人在玩这个游戏,我只要不要做最傻的那一个就行了;而且我知道什麽时候该退出的。」

仔细想想,这跟当年的庞式骗局、传销骗局,以及近二年的p2p骗局有多麽的类似啊。我朋友在说这个话的时候,我无法跟他争辨,因为他认为他知道他什麽时候该退出,而我不这麽认为。

所有这种骗局的受害者,都是自认为能控制的住自我人性的弱点、黑暗面,我不否认有人能做到,但我真心认为这很难,非常难;不然这类骗局的受害者也不会那麽多了。

接下来这个软件(或许说是「商业模式」)会怎麽发展,我无法预料,只是就算明知我能在裡面赢到钱,我也不会参与,因为首先我不想让自己去接近一个可能是骗局的、危险的东西(古人说的好:君子不立于危墙之下);其次、那种不正常的东西打久了之后,技术会变形,到最后正常的扑克反而不会打了,那就因小失大了。



作者: 昆仑苍狼    时间: 2016-6-21 17:08
那你把它破解了呗 那就赚大了
作者: 鲁智深    时间: 2016-6-21 19:03
all in 玩家的手牌被提前发到客户端了。

每个玩家有什么牌都只有服务器知道,但是all in 的玩家的手牌在最近几个版本被提前告诉大家的app 程序了,所以在极端情况下会出这个问题。



刚刚沟通了主程序,这个bug已经修了,很快就上线。
作者: amandag    时间: 2016-6-21 22:15
鲁智深 发表于 2016-6-21 19:03
all in 玩家的手牌被提前发到客户端了。

每个玩家有什么牌都只有服务器知道,但是all in 的玩家的手牌在最 ...

这么严重的bug…team有tech leader吗?有code review吗?有专业的测试人员吗?
作者: Howard    时间: 2016-6-21 22:26
鲁智深 发表于 2016-6-21 05:03
all in 玩家的手牌被提前发到客户端了。

每个玩家有什么牌都只有服务器知道,但是all in 的玩家的手牌在最 ...

赞官方行动之迅速!鲁兄牛逼。这个隐患如果不除掉,相信很快就会有破解工具出来。

另会july MM关于幻觉一事,我记得比较清楚,应该不是幻觉。因为这手牌很巧,翻牌QQX就已经有两张Q,我底牌是TT。这时候看到敌人底牌是QT,我还有点寻思,说可能真的是看走眼了,这么多Q和T,晃到眼睛了也有可能

转念一想,如果此人是真是QT,那么那个活着的对手有Q的可能性大大降低,公牌面除了QQ就是三张小牌,我的TT很可能还是好的(活人连续check三条街),所以我才下注希望收取价值。没想到活人是AA,哥自我价值完美成功。

因为有这两步的小思考过程,所以对当时的情况记得比较清楚。

作者: llj187    时间: 2016-6-21 22:35
Howard 发表于 2016-6-21 22:26
赞官方行动之迅速!鲁兄牛逼。这个隐患如果不除掉,相信很快就会有破解工具出来。

另会july MM关于幻觉 ...

Howard兄可能不知道,德扑圈刚出不久就有一些一天输赢在几十万的局了。在巨大的利益诱惑下,破解工具应该早就出现了,那时的德扑圈BUG肯定比现在还要多,有心人早就利用这些东西坑害了很多无辜玩家了。也正是因此从前很多玩的很大的都不敢在德扑圈继续游戏了。哎...无论如何,希望德扑圈的管理人员能更加负责一些,清除更多的安全隐患,越做越好吧!

作者: amandag    时间: 2016-6-21 22:59
Howard 发表于 2016-6-21 22:26
赞官方行动之迅速!鲁兄牛逼。这个隐患如果不除掉,相信很快就会有破解工具出来。

另会july MM关于幻觉 ...

一般而言每修复3个bug会产生一个新bug,我完全相信这种小公司流程肯定不规范,还有足够多的bug没有被发现,就是不知道有多严重而已
作者: CHEFCHEF    时间: 2016-6-21 23:41
玩一些小局或者私人俱乐部的局会比较好一点,如果有人破解,那么他第一时间应该是去最容易找到的局里面去玩,最容易找到的局就是各大知名度高玩家数量多的公开群。
作者: 我是Jsli    时间: 2016-6-22 12:53
本帖最后由 我是Jsli 于 2016-6-22 13:10 编辑

这完全是一个小事件不用大惊小怪不单单是技术问题更多的是人性使然从历史上看过来文明进步就源于四个字自私自利花同样的时间赚取更多的利益当然所有人都这样的话就会乱套了所以有了妥协第三方监管是妥协的表现形式不受法律保护没有监管所有人的行为都是短期行为注定不能长久牌桌上正一位牌桌下负一位与长远坚持耐力这些品德相誖就好比你养了一支能下蛋的母鸡鸡窝挂在树上与画蜡烛线买卖股票一个道理
作者: 到智游城学习    时间: 2016-6-22 13:38
某种程度上是这样,这也取决于看问题人的内心。但不管怎么说,在哪里打,破不破产,适应不适应是衡量标准吧。
作者: 昆仑苍狼    时间: 2016-6-22 13:54
我是Jsli 发表于 2016-6-22 12:53
这完全是一个小事件不用大惊小怪不单单是技术问题更多的是人性使然从历史上看过来文明进步就源于四个字自私 ...

这完全是一个小事件不用大惊小
怪不单单是技术问题更多的是人
性使然从历史上看过来文明进步
就源于四个字自私自利花同样的
时间赚取更多的利益当然所有人
都这样的话就会乱套了所以有了
妥协第三方监管是妥协的表现形
式不受法律保护没有监管所有人
的行为都是短期行为注定不能长
久牌桌上正一位牌桌下负一位与
长远坚持耐力这些品德相誖就好
比你养了一支能下蛋的母鸡鸡窝
挂在树上与画蜡烛线买卖股票一
个道理


作者: 伟大的墙    时间: 2016-6-22 14:20
昆仑苍狼 发表于 2016-6-22 13:54
这完全是一个小事件不用大惊小
怪不单单是技术问题更多的是人
性使然从历史上看过来文明进步

再麻烦小狼一下

黄河远上白云间一片孤城万仞山羌笛何须怨杨柳春风不度玉门关

作者: 麻雀飞飞    时间: 2016-6-22 14:30
伟大的墙 发表于 2016-6-22 14:20
再麻烦小狼一下

黄河远上白云间一片孤城万仞山羌笛何须怨杨柳春风不度玉门关

突然触发了心底的一些许记忆:

黄河远上
白云一片
孤城万仞山
羌笛何须怨
杨柳春风
不度玉门关

作者: 伟大的墙    时间: 2016-6-22 14:33
麻雀飞飞 发表于 2016-6-22 14:30
突然触发了心底的一些许记忆:

黄河远上

丢了一个字

作者: 麻雀飞飞    时间: 2016-6-22 14:38
伟大的墙 发表于 2016-6-22 14:33
丢了一个字

这首诗之所以会改写成词,就是因为有人漏写了一个“间”字,被慈禧责骂,旁人灵机一动,说此非诗,而是词,从而逃过血光之灾。
作者: 伟大的墙    时间: 2016-6-22 14:42
麻雀飞飞 发表于 2016-6-22 14:38
这首诗之所以会改写成词,就是因为有人漏写了一个“间”字,被慈禧责骂,旁人灵机一动,说此非诗,而是词 ...

黄河远上
白云间
一片孤城
万仞山
羌笛何须怨
杨柳春风
不度玉门关

作者: 到智游城学习    时间: 2016-6-22 14:47
呵呵,管他诗还是词,都是文字游戏,管他文字还是游戏呢,都是传达信息,管他信还是息呢,都是爆发你的小宇宙。只要别绕进去就行,哈哈。
作者: 昆仑苍狼    时间: 2016-6-22 14:55
本帖最后由 昆仑苍狼 于 2016-6-22 15:02 编辑
伟大的墙 发表于 2016-6-22 14:42
黄河远上
白云间
一片孤城

墙爷很博学

咒怨的新名字就在这里找吧

推荐候选如下

白云间
黄河上白云
一片孤城
万仞山
羌笛
何须怨
杨柳春风
怨杨柳
柳春风
春风不度
玉门关
慈禧




作者: 到智游城学习    时间: 2016-6-22 15:05
本帖最后由 到智游城学习 于 2016-6-22 15:09 编辑

精诚所至,金石未开。
只要功夫深,铁杵磨成真。哈哈。


作者: sangzheng    时间: 2016-6-22 19:00
软件的bug  这种情况会不会网络延迟。出现的卡顿  不会是服务器提前算出赢率 提前三家摊牌吧,然后网络恢复正常
作者: sangzheng    时间: 2016-6-22 19:29
Howard 发表于 2016-6-21 03:12
出现这种情况肯定需要很多因素集中到一起才能触发,我猜测至少需要以下几点:

1. 网络延迟,且延迟时间恰 ...

弱弱问句 火师傅在德扑圈打多大的级别。

作者: 到智游城学习    时间: 2016-6-22 20:16
本帖最后由 到智游城学习 于 2016-6-22 20:24 编辑
sangzheng 发表于 2016-6-22 19:00
软件的bug  这种情况会不会网络延迟。出现的卡顿  不会是服务器提前算出赢率 提前三家摊牌吧,然后网络恢复 ...

我推想的,不是也接近!不过我计算机程度只会用,远没达到研究的级别,哈哈。

作者: bluffer    时间: 2016-6-23 13:16
这不是一件小事啊,多亏老霍发现并提醒好吗?

前几楼的歪楼歪成那样,真是莫名其妙啊。懂不懂尊重人。
作者: BeRich    时间: 2016-7-5 11:17
我试过掉线,然后位置被抢了,然后连续2~3局,能看到那个抢我位置的人的底牌
作者: tender    时间: 2016-7-5 13:42
同样的情况我也遇到过,还遇到过一次更奇葩的
我AT call 一个数据比较紧的人的raise,在Axxxx面他连开三枪,河牌下了1000多,我fold了,结果筹码推向我这边了,查看上局牌谱一看,我赢了1000多,等于河牌我call了赢了,但牌谱却没显示对方的底牌
作者: 紫腰    时间: 2016-7-15 09:02
先不管什么漏洞不漏洞,德扑圈这种形式的网上组局能走多远,是个问题。
作者: newchance    时间: 2017-3-15 18:42
说一个我碰到的灵异的,flop上推完allin后卡了,然后看到turn上先发了一张牌,很快消失又重新发了另外一张,当时就语音问了桌上的其他人,有一个人和我一样看到了,其他人没注意到,好在那两张牌都不改变结果也就没人追究。

这大概是15年下半年时的事,只看见过这一次,现在这个bug应该修复了吧。




欢迎光临 智游城 (http://www.zhiyoucheng.co/) Powered by Discuz! X3.2