看板 ChainChron 關於我們 聯絡資訊
吃飯中沒事來回應一下,小弟是軟體工程師,對於cc的背後傳輸有做過一些研究,看到推文(或是巴哈)很多似是而非抽卡理論都並不完全正確。 先說結論: 有沒有法老時間? 我相信有,但每個人不一樣,甚至每天都有可能不一樣。一天內也絕對不只一個時段,每個時段的長短也不一樣。短可能短到幾十秒內而已。 抽到什麼卡片,和時間有「絕對」的關係,至於這個時間,是你回ap時間,抽到某卡後的時間,或是如何如何的時間,就不得而知了。 反正和時間沒關的東西都不會影響你抽卡的結果就是了。(看過有人說很黑的話,把遊戲退出再開一次試試看,這就跟拔獅子的毛一樣啊…) 再說原理: 當你按下轉蛋鍵,開始轉蛋,畫面的右上方會出現 connecting 對吧,這時就是你的手機和伺服器溝通的時後了。 那手機會傳什麼資訊給伺服器? 會有以下的資訊: - 你是誰(uuid) - 哪個酒場 - 用什麼抽卡 (卷/幣/石...之類的) - 現在的時間,以timestamp表示 (timestame就是一串看很大的數字,經過轉換後可以表示年月日時分秒) - 你要轉幾次 (單抽/9連抽) 對,只有以上資訊而已。 伺服器收到後經過處理,然後跟你說 - 你得到的卡片是誰 - 你得到的卡片idx是什麼 這兩點不太一樣,舉例來說,你抽到兩張姐姐,第一點指的就是「姐姐」這張卡片代號,例如75號好了 第二點則是每張都不同,有點像是卡片的身份證字號(唯一識別碼)。例如123456,123457這樣。 所以你得到兩張75號的卡片,卡片號碼分別為123456, 123457。 接著,做了一個實驗: 我在抽到ssr後,記錄下該次發送的所有資訊,再對伺服器發送一次「一模一樣」的資訊,包含時間資訊(timestamp)。 也就是說,真實世界的時間和我跟伺服器端說的時間是不同的喔。 然後伺服器回應給我「一模一樣」的SSR,連身份證字號都相同,看到這裡別開心的太早,因為連身份證字號都相同,所以視為同一張卡,我並沒有得到兩張ssr。(但石頭還是會少) 接著,我把timestamp加一秒,再送一次,就得到不同的卡片了。 所以伺服器會以收到「你跟他說你抽卡的時間」,也就是收到的timestamp,來決定要讓你抽到什麼卡,以及產生對應的卡片身份證字號。 為什麼九連必金,其實是因為九連抽的資訊其實只有一個timestamp,伺服器一起幫你產生這九張卡,所以他當然知道你這九張卡要面要不要塞一張金卡給你。 九連分開抽會不會必金?這我沒做過實驗,所以不知道,如果「是」的話,表示伺服器會參考你上一次的抽卡結果來決定這次的結果。 就像推文裡講的,有法老時間就會有臉黑的時間,把所有玩家的資料拉大來看,就會是接近官方說的7%,有人歐就會有人黑,至於一些抽卡的都市傳說,聽聽就好,不一定適合你。 至於更誇張的,像是把遊戲重開,或是先做什麼事再抽卡,會重置你的抽卡機率這種就別信了。 有人說什麼抽了3單一張ssr也沒有,有人一抽入魂,其實都是整個群體中的一小部份而已,若以上帝視角來看,ssr的機率應該就是會和官方宣稱的差不多的。 大家都想拼成為一抽入魂的那個人,但其實瞭解到背後原理後,就會知道這是非常難的,因為你跟本不知道你的timestamp會被伺服器端怎麼運算來給你卡片。 如果有人想要再做一些不同的實驗,來驗證一些統計的實驗也可以和我說。 ※ 引述《zorroptt (毛毛鼠)》之銘言: : ※ 引述《hsnu7980 (老二)》之銘言: : : 小弟由於最近在別款遊戲(少女前線)的聖造活動 : : 使用了以時間作為隨機因子來抽卡(造槍) : : 詳情不再贅述,畢竟也不算是有經過計算及統計的方法 : : 不過之所以選擇用時間當作參考,主要是歷經了鎖鏈這款遊戲的洗禮 : : 比如曾經有一段時間流行討論法老時間的存在等等 : : 小弟在這裡想要請問各位大大是否看過一套說法: : : 抽卡是根據AP的回覆時間作為時間SEED的,然後再倒數歸零的時候按下抽卡會有較高機率的高星卡面,小弟確信有在某一篇(可能不是PTT)看過所以想神一下那篇文章。 : : 另外還想做個小調查,版上各位相信或不相信時間流或是法老時間等等? : : PS:踏破結束,接著聖撈整個就不想玩登入遊戲QQ : 其他遊戲沒啥感覺 : 但鎖鍊我是相信的 : 鎖鍊一直以來我都覺得連抽和隔段時間單抽 機率差很多 : 我是沒特別抓時間 通常就是上班抽一張 下班一 睡前一 : 就算沒中五星 出四星體感也是特別高 : 但同樣方法我拿去抽其他遊戲就完全沒效果 就算刻意挑深夜抽也沒用XD ※ 引述《zorroptt (毛毛鼠)》之銘言: : ※ 引述《hsnu7980 (老二)》之銘言: : : 小弟由於最近在別款遊戲(少女前線)的聖造活動 : : 使用了以時間作為隨機因子來抽卡(造槍) : : 詳情不再贅述,畢竟也不算是有經過計算及統計的方法 : : 不過之所以選擇用時間當作參考,主要是歷經了鎖鏈這款遊戲的洗禮 : : 比如曾經有一段時間流行討論法老時間的存在等等 : : 小弟在這裡想要請問各位大大是否看過一套說法: : : 抽卡是根據AP的回覆時間作為時間SEED的,然後再倒數歸零的時候按下抽卡會有較高機率的高星卡面,小弟確信有在某一篇(可能不是PTT)看過所以想神一下那篇文章。 : : 另外還想做個小調查,版上各位相信或不相信時間流或是法老時間等等? : : PS:踏破結束,接著聖撈整個就不想玩登入遊戲QQ : 其他遊戲沒啥感覺 : 但鎖鍊我是相信的 : 鎖鍊一直以來我都覺得連抽和隔段時間單抽 機率差很多 : 我是沒特別抓時間 通常就是上班抽一張 下班一 睡前一 : 就算沒中五星 出四星體感也是特別高 : 但同樣方法我拿去抽其他遊戲就完全沒效果 就算刻意挑深夜抽也沒用XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.24.158 ※ 文章網址: https://www.ptt.cc/bbs/ChainChron/M.1495516220.A.A4C.html
moritsune: stopper是會累計的,分開抽也一樣,server會記錄之前結果 05/23 13:20
hsnu7980: 「然後伺服器回應給我「一模一樣」的SSR,連身份證字號 05/23 13:23
hsnu7980: 都相同,看到這裡別開心的太早,因為連身份證字號都相 05/23 13:23
hsnu7980: 同,所以視為同一張卡,我並沒有得到兩張ssr。(但石頭 05/23 13:23
hsnu7980: 還是會 少)接著,我把timestamp加一秒,再送一次,就得 05/23 13:23
hsnu7980: 到不同的卡片了。」是指這張已經給過了不會再給一次的 05/23 13:23
hsnu7980: 意思嗎?那石頭少了怎麼辦? 05/23 13:23
Nt1: 對啊,給過了不再給,但是石頭已少,沒辨法,這也不是正常的 05/23 13:31
Nt1: 行為,少了也就是少了 05/23 13:31
azraelhanyue: 我相信法老時間 05/23 13:32
NormcoreV: 平時做好抽卡紀錄,該非該歐都有個底 05/23 13:35
asteea: 雖然timestamp有小數點 封包傳遞也有延遲時間就是 05/23 13:40
asteea: 所以就算真的有也沒甚麼意義 05/23 13:40
jakyou: 有科學實驗只能給推了 05/23 13:48
pain0: 九連分開抽保底不是已經證實了? 05/23 14:04
Nt1: to樓上,感謝,因為沒一直follow這個資訊^^ 05/23 14:05
pain0: 怎麼覺得有點矛盾 05/23 14:05
soliboy: 如果只靠timestamp算卡,那只要有人把SSR的timestamp記下 05/23 14:14
soliboy: 然後改成別人的uuid,就可以靠這個必抽金卡了 05/23 14:15
soliboy: 多花點時間把ts跟SSR的ID資料庫建起來,轉蛋姬就被破解了 05/23 14:18
asteea: 這樣你要先發明一個抽卡外掛 然後還要算PING值耶 05/23 14:19
altcd: 不可能只單純看timestamp啦...不然每個同時間抽的人都法老 05/23 14:32
altcd: 嗎.. 肯定會拿帳號資料當變數一起丟進去演算啊 05/23 14:33
altcd: 而且對系統來說timestamp是一個一直增加的數字 不會重複 05/23 14:33
altcd: 你不可能做出一個統計的資料庫來紀錄 因為是無限膨脹 05/23 14:34
altcd: 除非你超強 可以用拿到的紀錄去分析出他的轉蛋演算法 05/23 14:34
altcd: 不然單純的紀錄是沒有意義的 05/23 14:34
jakyou: 所以法老帳號的說法是有可能的...XD 05/23 14:35
playertwo: 樓上 s君的估計是可行的,但如果伺服器有紀錄,就會發 05/23 14:41
playertwo: 現有人出術了,然後封號 05/23 14:41
playertwo: 而且 timestamp 超過太久應該同樣會 reject 吧 05/23 14:43
altcd: 我怎麼想都覺得在能分析出演算法前 單純的紀錄都是不可能 05/23 14:48
altcd: 破解的 還請樓上指點? 05/23 14:49
altcd: 我只要把uuid也丟進演算法裡 我的ts能中SSR 換你的uuid就會 05/23 14:49
altcd: 出不同結果了 怎麼可能破解 05/23 14:50
playertwo: 純討論而已,如果只以 timestamp 決定SSR,謀人抽到 SS 05/23 14:56
playertwo: R 後以另一 uid + timestamp 應會出同一 SSR 05/23 14:56
playertwo: 只是伺服器紀錄會很易發現吧 05/23 14:56
altcd: 我們的基準點就已經不同..這樣不用討論了吧... 05/23 14:57
altcd: 我一開始就說演算法會把玩家資料丟進去一起算 05/23 14:58
altcd: 而且這是可能性比較大的做法 當然我無法肯定CC是這樣做 05/23 14:58
Nt1: uuid一定會被帶進去算,我已試過拿別人的出金的timestamp給我 05/23 15:00
Nt1: 用,結果在我的uuid配上對方出金的TS,會出不同的卡 05/23 15:01
altcd: 而且就算只用ts 只做紀錄而不分析也是沒用的,我上面也說ts 05/23 15:02
Nt1: 樓上a大的推論我是支持的:D 05/23 15:02
altcd: 在系統裡是一個只會無限增大的數字 不會重複 05/23 15:02
altcd: 你只有可能在抽卡前準備好 一抽到SSR就馬上丟其他uuid出去 05/23 15:03
altcd: 這樣才有可能破解 紀錄是沒意義的 05/23 15:03
soliboy: uuid也會被參考,這就合理了 05/23 15:05
asteea: 雖然有很多點可以吐糟 但問題和樓上說的一樣 無法重現條件 05/23 15:08
asteea: 我比較感興趣的反而是因為現在CC有找第3方監測機率 05/23 15:13
asteea: 會不會為了令結果和表記相符 而在機制上去配合 05/23 15:14
asteea: 做成這時段比較多人抽到的話下時段比較難抽 或反之亦然 05/23 15:15
zanns: 我比較好奇第三方要怎麼監測? 05/23 15:17
asteea: 監察方如果取的是全時段抽卡數據 那只要別偏離太大就OK 05/23 15:17
ssccg: 其實我覺得這現象看起來比較像用這些參數去產生卡片id 05/23 15:18
ssccg: 重覆的id直接回同一張,不能證明時間有被代入卡種計算 05/23 15:19
asteea: 要看有沒有相事業內人士 雖然這部份可以每天跑Test Case測 05/23 15:19
asteea: 或拿實際每天的抽卡報告看分佈也行 反正數據會說話 05/23 15:19
asteea: 基本上TIMESTAMP基本情況一定會拿來用 只是絕非唯一 05/23 15:22
ssccg: 畢竟觀察到的現象重點在id相同,卡種相同只是id相同自然的 05/23 15:22
ssccg: 結果,要觀察到卡種相同但id不同才能說這些參數跟卡種有關 05/23 15:23
ssccg: ts一定會用,但是我想不到用client的ts的必要性 05/23 15:23
asteea: 就像用MD5來加密密碼 通常在加密前會對字串再動一點手腳 05/23 15:24
asteea: 抽卡那可能用客戶端資訊... 不對 那個火焰紋...我的頭好痛 05/23 15:26
playertwo: 重覆的id直接回同一張,timestamp 這樣用吧 05/23 15:44
asteea: 最低限度 SEED也會是TS+AID(或UID)吧 不然我會對SEGA失望 05/23 15:49
asteea: 阿 雖然重點不在這邊就是了 反正上面這句沒有任何意義 05/23 15:49
slygun: uid是說明真有法老號嗎 XD 05/23 16:47
soliboy: 只要能破解亂數公式,非洲帳也會有法老時間! 05/23 17:59
pain0: 跪求樓上破解給我看 05/23 18:43
asteea: 結果法老時間是早上4時 請早睡早起(X 05/23 20:28
ssccg: 為什麼最低限度要放UID? 是我的話一定不會放... 05/23 20:43
ssccg: 現代語言通常不需要seed,會自己由OS取得好的entropy來源 05/23 20:52
ssccg: 除非就是要控制讓random值不random,不然什麼都不用最好 05/23 20:53
asteea: 看用那種方式啦 雖然我並不覺得需要分別對每個帳號做處理 05/23 21:02
asteea: 所以用戶資訊很大機會根本不會左右結果 05/23 21:03
asteea: 另外讓語言自己處理是不是真的變成隨機我是有疑問 05/23 21:03
asteea: 反正其實沒有所謂真隨機存在 05/23 21:04
ssccg: 有什麼好疑問的...一定比自己塞的東西好 05/23 21:04
ssccg: 有真隨機存在啊,要專用硬體(靠物理理論上隨機的現象) 05/23 21:17
asteea: 要說entropy也要看source 也有考慮到certainty的問題 05/23 21:21
asteea: 不過感覺這已經是另一領域了... 這要變技術交流串了嗎 QQ 05/23 21:23
ssccg: 說真的抽卡也沒必要多高的不可預測性,不要用client端能觀 05/23 21:25
ssccg: 測的東西就很穩了啊...時間其實就可預測性來說是很差的seed 05/23 21:25
asteea: 雖然我也不認為就算他真的作死有用到 就代表有辦法攻擊 05/23 21:28
ssccg: 抽卡要成本,PRNG沒太糟的話從成本角度來看就已經破不了了 05/23 21:29
asteea: ...扯遠了 單純是我認為就算能破解掉 在再現上已經有困難 05/23 21:29
asteea: 更不用說 轉蛋這種東西如果出現可預期的規律才是最大問題 05/23 21:30
asteea: 而人在一些"玄學"應驗時會有更深刻印象 這種自我催眠狀態 05/23 21:31
asteea: ... 等等 我又想起數年前RO的轉蛋沒有隨機性的問題... 05/23 21:33
asteea: 怎麼遊戲業界盡是一些作死的怪事 -_-... 05/23 21:33
guaz: 時間變數由client給 工程師需要再教育吧 05/23 21:34
asteea: 那可能XD 另外s大說不該用客戶端能看就是指降低uncertain 05/23 21:36
asteea: 無論遊戲與否 當一些隨機相關的資訊能被觀測 就有安全問題 05/23 21:37
asteea: 雖然我只能說越舊的遊戲越可能用一些白痴方法... 05/23 21:39
asteea: 都遇過用列表做循環派獎 額度派完就永不出貨的怪轉蛋了... 05/23 21:40
guaz: 這是安全性基本的sense...雖然入行久了就知道很多人沒有 05/23 21:42
asteea: PS 上面有人說用別人金的TS抽不出貨 怎樣才可以同TS抽阿XD 05/23 21:42
asteea: 說笑的 當我沒問好了 >.> 05/23 21:45
asteea: 隨機的要求要看IMPACT有多大. 我個人是不覺得CC能破到甚麼 05/23 21:47
asteea: 在日本現在轉蛋越來越規範化的現在 出現能被觀察規律的狀 05/23 21:49
asteea: 況是到了 在各種意義都是超過糟糕的地步 05/23 21:53
asteea: 另外關於下午說的第3方 理論上代碼應該也會被AUDIT就是了 05/23 22:11
asteea: SEGA有柏青哥經驗 我是放心啦.... (X 05/23 22:14