<aside> ✏️ 2023 的新春紅包挑戰 WriteUp by FlyingSky (fsky7.com)

</aside>

<aside> 📣 2023 的新春紅包挑戰在 @Red_Packets 進行,本次活動由 @Laoself@Hexagram_Daily@EFW_inno 聯合舉辦,題目類型比較多元,數量也較多,獎品還是支付寶拼手氣口令紅包,希望各位玩得盡興。

挑戰問題將從 1.22 15:00 (UTC +8) 開始發佈,每分鐘發佈一題,每一題對應一個口令紅包。參與挑戰者按 @Red_Packets_Bot 提示提交答案。

</aside>

C1 - Broken Keyboard

#技術向 #簡單 #byLaoself

Jpnt, ukt h[''[rp,j Frphu ]y[jyd.A

p.][yu H[o,gdup[,
ho,b h_! ,A P,u+ 1Z P,u |
    ph , ?2 = | ytuoy, = Q
    frpubk , |
    bdft 3A ytuoy, 3
    bdft 4A ytuoy, 3
    gthdo'uA ytuoy, h_, 1 3+ @ h_, 1 4+
    Q
Q
]yp,u_h_37++

}'tdft fom.pu ukt ]yp,utg ytfo'uz

标题明示和键盘有关,观察乱码认为是代码,根据缩进猜测 Q 应该是 }| 应该是 {。观察键盘,仅考虑可打印字符部分,应该是右移了两个键位(即 QWERT 变成了 ERTYU)。那么就把它往左移两个键位还原:

Given the following Swift program:

import Foundation
func f(_ n: Int) -> Int {
    if n <= 0 { return 0 }
    switch n {
        case 1: return 1
        case 2: return 1
        default: return f(n - 1) + f(n - 2)
    }
}
print(f(15))

Please submit the printed result.

阅读代码,答案是斐波那契数列的第 15 位:610(若是 Swift Developer 可以直接跑一遍代码,若是头铁可以拿出纸笔手算,但咱建议上 OEIS 查。)

C2 - Circle Around

#技術向 #中等 #byHexagram

https://spring-festival-red-envelope-2023.hexagr.am/

兩道題均無需修改或查看網頁源碼。

XXXXXXXD

提示1 - U+

提示2 - Circle Around

Untitled

打开网页后的第一幕如图,根据脑洞,在输入框中输入字母 X(大小写均可)后点击 Apply 按钮。(C3、B2 也是这样,不再赘述。)

Untitled

单击第一个图形()即可看见这一题的题面:

  1. Circle Around(此題的答案若出現英文則為小寫字母)

4D 6A 51 32 4D 51 3D 3D 70c445ee64b1ed0583367a12a79a9ef2 4D 6A 52 43 51 51 4D 6A 52 43 51 67

先看第一行,十六进制的特征很明显,转成字符后为 MjQ2MQ==,也很明显是 Base64,解码得到:2461。同理最后两行也如此解码,分别解得:24BA、24BB(题面最后两行按理也应该以 3D 3D 结尾,但不知为何没有)。

再看第二行,MD5 的特征也挺明显,猜测是这行原有字符串的 MD5 值,根据其他三行原文的特征,直接写代码爆破:

foreach (str_split('6789AB') as $a)
    foreach (str_split('0123456789ABCDEF') as $b)
        if (md5("24$a$b") == '70c445ee64b1ed0583367a12a79a9ef2')
            print($str . PHP_EOL);
# 2464

最后,四行全部解码结果见下表,结合提示 1 不难想到 Unicode:

原文 对应的 Unicode 字符
2461
2464
24BA
24BB