wordle 是一種字謎遊戲,每天都會有一個五個字母的英文單字做為答案,每一輪可以猜一個英文單字,系統會告訴你猜中哪幾個字,以及哪幾個字位置是錯的,以及哪些沒猜中,然後作為線索繼續往下猜,共有六次機會
老實說當初只是想把 wordle 的字庫拉出來做個幫助猜字的工具而已,沒想到會意外的發現 wordle 網站的秘密。
說了一堆遊戲規則這邊沒打算教你要怎麼正確的玩這個遊戲,因此想研究玩遊戲方法的可以關閉分頁離開了,這篇的目的是解析 wordle 網頁背後的秘密。
首先打開 wordle 網頁,把原始碼拿出來看之後會發現他有載入一個 js 檔案
當中可以看到兩 list 一個照著字母排列,另一個沒有,這邊可以稍微猜一下,沒事幹嘛拆成兩個 list,其中一個 list 是照字母順序排列,另一個則沒有,於是把前幾次的答案拿進去搜,結果發現答案都在 Ma
裡面,而且 index 位置還是跟 wordle 的第 N 個題目一樣,那結果很明顯了,每天答案就會是 Ma[題目編號]。
後來 wordle 出了許多的變種,同樣的做法可以套用到所有的 wordle 系列的遊戲
然後我就再也不完 wordle 了 QQ
這也是 wordle 的其中一個變種,但有趣的是他的答案是 random 的,每次進入網站答案都不一樣,所以大家一起玩是不會有共同答案的,而且他也是輸入一個字串,他會回傳 sha256 的結果並告訴你 hash 的哪邊不符合,想當然,這種方法用完 wordle 的方式會猜到天花地老,於是我又去看人家原始碼了XDD
一進來就先看 randomPassword 的是如何產生的,而注意到了他其實有塞了一段debugger; // どうぞ
,看起來就是要請我用,當然我也毫不客氣打開了 chrome 檢查工具,然後重新整理網頁,由於他在 function 內有塞斷點的關係在網頁載入的時候程式執行會停在那個位置,因此就可以先檢視 res 的變數內容,最後就得到我們要的答案了。