賽博朋克2077第一天解鎖,玩到“拿貨”這個主線任務時,會收到一張軍用科技給的加密芯片,進入破解界面後可以發現是上下兩行的。最開始對於如何同時破解上下兩行沒有頭緒,經過幾次讀檔後終於發現了破解規律,權當作個記錄。
從上圖可以發現,如果對第一行字符進行匹配,則第二行字符會向後移動一位,重複此過程,一直到第一行最後一位進行匹配,如下圖:
如果此時點擊E9,則E9與第一行最後一位匹配,與第二行第一位不匹配,造成結果是第一行破解成功,第二行失敗(只要有一位匹配不成功則此行破解失敗),如下圖:
因此發現規律,假設字符的匹配是從單行(a)開始,一直匹配到 a 最後一位結束,此時若另外一行(b)的第一位能與a的最後一位字符相等,則此時 a,b 兩行在這個位置都匹配成功,且匹配窗口移動到 b 行,從第二位開始繼續匹配,依次往下,直到 b 行所有字符匹配成功,則 a,b 兩行都破解成功。所以我們需要找到 a,b 兩行中相同的字符,若有多個,則判斷匹配窗口在移動到最後一位時這兩個相同的字符是否處於匹配窗口中。在這個任務的芯片裡,應先從第二行開始匹配,一直到最後一位,如下圖:
此時再點擊55,即可將匹配窗口移動到第一行,繼續進行匹配。如下圖:
最後再進行第一行的單行匹配就能將兩行都成功破解。
註:這只是我拿到的第一個需要破解的芯片,並不清楚後續是否會有需要多行(大於2)破解的芯片,或者有多個重複字符,不過辦法應該是通用的,先找相同字符,再通過移動位數判斷兩個字符是否都處於匹配窗口。
有一說一,這個設計真的挺有意思。