极客大挑战2023

记人生中第一次打的CTF比赛

RSA

SignIn

明文:5359437b48656c6c6f5f576f726c645f43727970746f5f6269626f6269626f7d
用base16解码得密文:SYC{Hello_World_Crypto_bibobibo}
得到flag

proof_of_work

一个sha256

1
2
3
4
5
6
7
8
9
10
11
import hashlib

for i1 in range(32,127):
for i2 in range(32, 127):
for i3 in range(32, 127):
for i4 in range(32, 127):
m = hashlib.sha256()
m.update(str(chr(i1)+chr(i2)+chr(i3)+chr(i4)+'qzxf4BpAvFfWGED3').encode('utf-8'))
des = m.hexdigest()
if des == '5d60736ba4dac09953d7187939d5861ed2d46faf874c5142157aae8430dead84':
print(chr(i1)+chr(i2)+chr(i3)+chr(i4)+'qzxf4BpAvFfWGED3')

1
2
# 输出
# S2iuqzxf4BpAvFfWGED3

输入前四位,得到flag:SYC{st3p_1nt0_1nter4ctive_Crypt0graphy}

SimpleRSA

解答:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import gmpy2  
from Crypto.Util.number import *

e =65537
p = 24724324630507415330944861660078769085865178656494256140070836181271808964994457686409910764936630391300708451701526900994412268365698217113884698394658886249353179639767806926527103624836198494439742123128823109527320850165486500517304731554371680236789357527395416607541627295126502440202040826686102479225702795427693781581584928770373613126894936500089282093366117940069743670997994742595407158340397268147325612840109162997306902492023078425623839297511182053658542877738887677835528624045235391227122453939459585542485427063193993069301141720316104612551340923656979591045138487394366671477460626997125944456537
c = 510345661718450375632304764819724223824018609359964259503762283253350010161515190912152623604019093266967095847334388281390406831587663253164256543905694021952211220652820225527413861208452760215767828927039893435528572148282529198773772864255061213208279999011194952146362748485103032149806538140693537361755210176698895104708379400806511907719904867068865970241208806615061055047254026118016836750283966478103987375361826198930529462261013324904522014804502582865716441828895047550041401172127129749969507853355531197814919603963664646220505672302543085959372679395717892060245461464861507164276442140407308832537707450729432224150754603518526288767105682399190438680085925078051459448618725871249563011864525585870188123725554411655044152994826056900502298772802133526591794328224932405680583757307064395792317383571866619582974377344736930271554160701478385763426091091686496788999588340419226785217028504684542197970387916262126278955278523452903043316452825738030645100271595942652498852506660789605846309602343932245435421425673058238785509280366229754404949219663043627431437755087855502139890639468481922788973821783957766433857773771229298328019250652625289700950165414584983487319078090573179470893450632419467111117341472
q = 3

# n = p*q
# phi = (p-1)*(q-1)
phi = p-1
d = gmpy2.invert(e,phi)
m = pow(c,d,p)
flag = long_to_bytes(m)

assert len(flag) == 35
print(flag)
1
2
# 运行结果
# b'SYC{Just_a_s1mple_modular_equation}'

得到flag

OTPTwice

解答:

1
2
3
4
5
6
7
8
9
c1 = bytearray(b'\xdbi\xab\x8d\xfb0\xd3\xfe!\xf8Xpy\x80w\x8c\x87\xb9')  
c2 = bytearray(b'o\xb0%\xfb\xdb\x0e\r\x04\xde\xd1\x9a\x08w\xda4\x0f\x0cR')
c3 = bytearray(b'\xe7\x80\xcd\ria\xb2\xca\x89\x1a\x9d;|#3\xf7\xbb\x96')

k2 = bytearray(x ^ y for x,y in zip(c1,c2))
k1 = bytearray(x ^ y for x,y in zip(c2,c3))
m = bytearray(x ^ y for x,y in zip(c3,k2))

print(m)
1
2
# 输出
# bytearray(b'SYC{I_l0v3_Crypt0}')

OldAlgorithm

该题是中国剩余定理情况

解答:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from Crypto.Util.number import *
import math

def Get_Mi(m_list, m):
M_list = []
for mi in m_list:
M_list.append(m // mi)
return M_list


def Get_resMi(M_list, m_list):
resM_list = []
for i in range(len(M_list)):
resM_list.append(Get_ni(M_list[i], m_list[i])[0])
return resM_list


def Get_ni(a, b):
if b == 0:
x = 1
y = 0
q = a
return x, y, q
ret = Get_ni(b, a % b)
x = ret[0]
y = ret[1]
q = ret[2]
temp = x
x = y
y = temp - a // b * y
return x, y, q


def result(a_list, m_list):
for i in range(len(m_list)):
for j in range(i + 1, len(m_list)):
if 1 != math.gcd(m_list[i], m_list[j]):
print("不能直接利用中国剩余定理")
return
m = 1
for mi in m_list:
m *= mi
Mi_list = Get_Mi(m_list, m)
Mi_inverse = Get_resMi(Mi_list, m_list)
x = 0
for i in range(len(a_list)):
x += Mi_list[i] * Mi_inverse[i] * a_list[i]
x %= m
return x

p= [58657, 47093, 47963, 41213, 57653, 56923, 41809, 49639, 44417, 38639, 39857, 53609, 55621, 41729, 60497, 44647, 39703, 55117, 44111, 57131, 37747, 63419, 63703, 64007, 46349, 39241, 39313, 44909, 40763, 46727, 34057, 56333]
c= [36086, 4005, 3350, 23179, 34246, 5145, 32490, 16348, 13001, 13628, 7742, 46317, 50824, 23718, 32995, 7640, 10590, 46897, 39245, 16633, 31488, 36547, 42136, 52782, 31929, 34747, 29026, 18748, 6634, 9700, 8126, 5197]

print(long_to_bytes(result(c,p)))
1
2
# 输出
# b'SYC{CRT_1s_s0_ju1cy!}]mC\x9c\xf9C/\xfc\xb8t\x16'

得到flag:SYC{CRT_1s_s0_ju1cy!}

easy_classic

第一层明文:udzeojxuwqcu
凯撒加密,密钥Q,密文:enjoythegame

第二层明文:ialhhooavtepcyr
看起来很像打乱顺序的密文,重新排序后得到:ilovecryptohaha

第三层明文:5a6H5a6Z5LiH5rOV55qE6YKj5Liq5rqQ5aS0
base64解码,得到密文:宇宙万法的那个源头
ps.必须是uft-8编码的汉字

第四层明文:熊曰:呋食食食取噗山笨笨破嗄咯哈動嗡雜類嗒嘿啽沒歡破吖咬我啽寶盜噔咯沒
熊曰加密,上网使用与相关加解密网站得到密文:never gonna give you up
网站:与熊论道/熊曰加密 - PcMoe!

第五层
password: adltlfltqrcy
key: 👝👘👠👩👞👘👤👜
密钥为emoji加密,使用相关网站解密得到key:fairgame
Playfair解密,得到密文:genshinstart

输入密文,解开最后的txt的锁,得到flag:SYC{classical_1s_fun}

PolyRSA

解析:

$\because c1=(2p+3q)^{e1}$ mod n
$\therefore c1=((2p)^{e1}+(3q)^{e1})$ mod n
$\therefore c1^{e2}=((2p)^{K}+(3q)^{K})$ mod n
同理
$\because c2=(5p+7q)^{e1}$ mod n
$\therefore c2=((5p)^{e2}+(7q)^{e2})$ mod n
$\therefore c2^{e1}=((5p)^{K}+(7q)^{K})$ mod n

$\therefore c2^{e1}3^{K}-c1^{e2}7^{K}=p^{K}(15^{K}-14^{K})=p^{K}$
$c1^{e2}
5^{K}-c2^{e1}2^{K}=q^{K}(15^{K}-14^{K})=q^{K}$

$\therefore p=gcd(c2^{e1}3^{K}-c1^{e2}7^{K},n)$
$q=gcd(c1^{e2}5^{K}-c2^{e1}2^{K},n)$

解答:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from Crypto.Util.number import *
from gmpy2 import *

K = e1*e2
w1 = (pow(c2, e1, n)*pow(3, K, n)) % n - (pow(c1, e2, n)*pow(7, K, n)) % n
w2 = (pow(c1, e2, n)*pow(5, K, n)) % n - pow(c2, e1, n)*pow(2, K, n) % n
# k1 = (c2**e1)*(3**K) - (c1**e2)*(7**K)
# k2 = c1**e2*5**K - c2**e1*2**K

p = gcd(w1, n)
q = gcd(w2, n)
phi = (p-1)*(q-1)
d = inverse(e, phi)
m = pow(c, d, n)
print(long_to_bytes(m))

e = 65537
e1 = 113717
e2 = 80737
c1 = 97528398828294138945371018405777243725957112272614466238005409057342884425132214761228537249844134865481148636534134025535106624840957740753950100180978607132333109806554009969378392835952544552269685553539656827070349532458156758965322477969141073720173165958341043159560928836304172136610929023123638981560836183245954461041167802574206323129671965436040047358250847178930436773249800969192016749684095882580749559014647942135761757750292281205876241566597813517452803933496218995755905344070203047797893640399372627351254542342772576533524820435965479881620338366838326652599102311019884528903481310690767832417584600334987458835108576322111553947045733143836419313427495888019352323209000292825566986863770366023326755116931788018138432898323148059980463407567431417724940484236335082696026821105627826117901730695680967455710434307270501190258033004471156993017301443803372029004817834317756597444195146024630164820841200575179112295902020141040090350486764038633257871003899386340004440642516190842086462237559715130631205046041819931656962904630367121414263911179041905140516402771368603623318492074423223885367923228718341206283572152570049573607906130786276734660847733952210105659707746969830132429975090175091281363770357
c2 = 353128571201645377052005694809874806643786163076931670184196149901625274899734977100920488129375537186771931435883114557320913415191396857882995726660784707377672210953334914418470453787964899846194872721616628198368241044602144880543115393715025896206210152190007408112767478800650578941849344868081146624444817544806046188600685873402369145450593575618922226415069043442295774369567389939040265656574664538667552522329712111984168798829635080641332045614585247317991581514218486004191829362787750803153463482021229058714990823658655863245025037102127138472397462755776598314247771125981017814912049441827643898478473451005083533693951329544115861795587564408860828213753948427321483082041546722974666875065831843384005041800692983406353922680299538080900818930589336142421748023025830846906503542594380663429947801329079870530727382679634952272644949425079242992486832995962516376820051495641486546631849426876810933393153871774796182078367277299340503872124124714036499367887886486264658590613431293656417255355575602576047502506125375605713228912611320198066713358654181533335650785578352716562937038768171269136647529849805172492594142026261051266577821582011917001752590659862613307646536049830151262848916867223615064832279222
c = 375617816311787295279632219241669262704366237192565344884527300748210925539528834207344757670998995567820735715933908541800125317082581328287816628816752542104514363629022246620070560324071543077301256917337165566677142545053272381990573611757629429857842709092285442319141751484248315990593292618113678910350875156232952525787082482638460259354559904243062546518553607882194808191571131590524874275187750985821420412987586148770397073003186510357920710387377990379862185266175190503647626248057084923516190642292152259727446111686043531725993433395002330208067534104745851308178560234372373476331387737629284961288204368572750848248186692623500372605736825205759172773503283282321274793846281079650686871355211691681512637459986684769598186821524093789286661348936784712071312135814683041839882338235290487868969391040389837253093468883093296547473466050960563347060307256735803099039921213839491129726807647623542881247210251994139130146519265086673883077644185971830004165931626986486648581644383717994174627681147696341976767364316172091139507445131410662391699728189797082878876950386933926807186382619331901457205957462337191923354433435013338037399565519987793880572723211669459895193009710035003369626116024630678400746946356
n = 728002565949733279371529990942440022467681592757835980552797682116929657292509059813629423038094227544032071413317330087468458736175902373398210691802243764786251764982802000867437756347830992118278032311046807282193498960587170291978547754942295932606784354258945168927044376692224049202979158068158842475322825884209352566494900083765571037783472505580851500043517614314755340168507097558967372661966013776090657685241689631615245294004694287660685274079979318342939473469143729494106686592347327776078649315612768988028622890242005700892937828732613800620455225438339852445425046832904615827786856105112781009995862999853122308496903885748394541643702103368974605177097553007573113536089894913967154637055293769061726082740854619536748297829779639633209710676774371525146758917646731487495135734759201537358734170552231657257498090553682791418003138924472103077035355223367678622115314235119493397080290540006942708439607767313672671274857069053688258983103863067394473084183472609906612056828326916114024662795812611685559034285371151973580240723680736227737324052391721149957542711415812665358477474058103338801398214688403784213100455466705770532894531602252798634923125974783427678469124261634518543957766622712661056594132089
1
2
# 输出
# b'SYC{poly_rsa_Just_need5_s1mple_gcd}'

Fi1nd_th3_x’

解析:

$\begin{cases}d \equiv dP \pmod{(q-1)(r-1)} \\d \equiv dQ \pmod{(p-1)(r-1)} \\d \equiv dR \pmod{(q-1)*(p-1)}\end{cases}$
中国剩余定理不互质

解答:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import gmpy2  
from functools import reduce

p= 13014610351521460822156239705430709078128228907778181478242620569429327799535062679140131416771915929573454741755415612880788196172134695027201422226050343
q= 12772373441651008681294250861077909144300908972709561019514945881228862913558543752401850710742410181542277593157992764354184262443612041344749961361188667
r= 12128188838358065666687296689425460086282352520167544115899775800918383085863282204525519245937988837403739683061218279585168168892037039644924073220678419
dP= 116715737414908163105708802733763596338775040866822719131764691930369001776551671725363881836568414327815420649861207859100479999650414099346914809923964116101517432576562641857767638396325944526867458624878906968552835814078216316470330511385701105459053294771612727181278955929391807414985165924450505855941
dQ= 44209639124029393930247375993629669338749966042856653556428540234515804939791650065905841618344611216577807325504984178760405516121845853248373571704473449826683120387747977520655432396578361308033763778324817416507993263234206797363191089863381905902638111246229641698709383653501799974217118168526572365797
dR= 60735172709413093730902464873458655487237612458970735840670987186877666190533417038325630420791294593669609785154204677845781980482700493870590706892523016041087206844082222225206703139282240453277802870868459288354322845410191061009582969848870045522383447751431300627611762289800656277924903605593069856921
c= 93063188325241977486352111369210103514669725591157371105152980481620575818945846725056329712195176948376321676112726029400835578531311113991944495646259750817465291340479809938094295621728828133981781064352306623727112813796314947081857025012662546178066873083689559924412320123824601550896063037191589471066773464829226873338699012924080583389032903142107586722373131642720522453842444615499672193051587154108368643495983197891525747653618742702589711752256009

print('(p-1)*(r-1) =',(p-1)*(r-1))
print('(q-1)*(r-1) =',(q-1)*(r-1))
print('(p-1)*(q-1) =',(p-1)*(q-1))


def exgcd(a, b):
if b == 0: return 1, 0
x, y = exgcd(b, a % b)
return y, x - a // b * y


def uni(P, Q):
r1, m1 = P
r2, m2 = Q

d = gmpy2.gcd(m1, m2)
assert (r2 - r1) % d == 0

l1, l2 = exgcd(m1 // d, m2 // d)

return (r1 + (r2 - r1) // d * l1 * m1) % gmpy2.lcm(m1, m2), gmpy2.lcm(m1, m2)


def CRT(eq):
return reduce(uni, eq)


if __name__ == "__main__":
n = int(input())
eq = [list(map(int, input().strip().split()))[::-1] for x in range(n)]
d = CRT(eq)[0]

n = p*q*r
m = pow(c,d,n)

flag = libnum.n2s(m)
print(flag)
1
2
3
4
5
6
7
8
9
10
11
12
# 输出
(p-1)*(r-1) = 157843652000901922592922534078798438728561466809160280102796295598657892969643944706331069245997476544245343941352790420588475071314554864105017844042288024862815624473670646072940554294732151308571897295236552684396649767503957047616962978624449348438551386053918285535437988924118937549728089877793860918956
(q-1)*(r-1) = 154905757014372756191477923232488802075510411348567355414988814359374852064824181741663658727687998705149903985671747780705960374732554616826563203303584163459125118604057521416183781255969121762147826355466246464743348283573511339459135541869974720375624567710723081303090966036696876360406676904859412410388
(p-1)*(q-1) = 166227463607209004468932873221626620944628889899142110675440222050856617147455380049619547065213045395392929727012833645043930997376712553892400252643682129053352313364478991542722896445389658481349386462407754423678541287560754968000284796665028132977555819700889151726789989252780704135125995666535475823772

# 输入
3
157843652000901922592922534078798438728561466809160280102796295598657892969643944706331069245997476544245343941352790420588475071314554864105017844042288024862815624473670646072940554294732151308571897295236552684396649767503957047616962978624449348438551386053918285535437988924118937549728089877793860918956 44209639124029393930247375993629669338749966042856653556428540234515804939791650065905841618344611216577807325504984178760405516121845853248373571704473449826683120387747977520655432396578361308033763778324817416507993263234206797363191089863381905902638111246229641698709383653501799974217118168526572365797
154905757014372756191477923232488802075510411348567355414988814359374852064824181741663658727687998705149903985671747780705960374732554616826563203303584163459125118604057521416183781255969121762147826355466246464743348283573511339459135541869974720375624567710723081303090966036696876360406676904859412410388 116715737414908163105708802733763596338775040866822719131764691930369001776551671725363881836568414327815420649861207859100479999650414099346914809923964116101517432576562641857767638396325944526867458624878906968552835814078216316470330511385701105459053294771612727181278955929391807414985165924450505855941
166227463607209004468932873221626620944628889899142110675440222050856617147455380049619547065213045395392929727012833645043930997376712553892400252643682129053352313364478991542722896445389658481349386462407754423678541287560754968000284796665028132977555819700889151726789989252780704135125995666535475823772 60735172709413093730902464873458655487237612458970735840670987186877666190533417038325630420791294593669609785154204677845781980482700493870590706892523016041087206844082222225206703139282240453277802870868459288354322845410191061009582969848870045522383447751431300627611762289800656277924903605593069856921
#输出
SYC{CRT_1s_f3n_but_Gen3hi_im9act_is_a_balabalaba}

得到flag:SYC{CRT_1s_f3n_but_Gen3hi_im9act_is_a_balabalaba}

小彩蛋

txt文本:
5Lq65Lus5Y+q6K6w5b6X77yM6L+Z5pys5piv6aOO5ZKM5pel5Li955qE5LiA5aSp77yManJsNzc35q2j5Zyo572R5LiK5a2m5Lmg5a+G56CB5a2m44CC5b+954S25LmL6Ze077yM6buR6Imy5raI6YCA77yM5bGP5bmV55m95YWJ6aqk6LW377yM5omA5pyJ55qE6K665paH6YO95reh5Ye655y85biY44CC5LuW5Yed56We5LiA55yL77yM5Y205Y+q5pyJ5rex6YKD5aaC5aKo55qE4oCc5Y6f56We4oCd5LqM5a2X5Zyo5Zue5bqU552A44CC5pyq5Y+K5oCd6ICD77yManJsNzc36ISR6KKL5LiA6Zi15pmV55yp44CC6ICM5q2k5Yi777yM5o+Q55Om54m55aSn6ZmG5LiK56m65pyJ6YeR5YWJ6Zeq54OB77yM56m66Ze05Lmx5rWB5LmL5YaF77yM5LiD56eN5YWD57Sg5Yqb5pKV5byA5LqG5pe256m66KOC57yd77yM6aOO5bim5p2l5LqG5pWF5LqL55qE56eN5a2Q44CC5Y+v5YaN5Z2a5Zu655qE5bKp55+z5Lmf6Zq+6YCD56Oo5o2f55qE5ZG96L+Q44CC4oCc5LiW55WM77yM6YGX5b+Y5oiR44CC4oCd5LuW57uI56m25b+Y6K6w5LqG6Ieq5bexQ3J5cHRvZXLnmoTouqvku73jgILigJzmj5Dnk6bnibnlpKfpmYbnmoTml4XkurrvvIzkvaDog73mib7liLDmiJHpgZflpLHnmoTotKblj7flkJfvvJ/igJ0=
base64解码:
人们只记得,这本是风和日丽的一天,jrl777正在网上学习密码学。忽然之间,黑色消退,屏幕白光骤起,所有的论文都淡出眼帘。他凝神一看,却只有深邃如墨的“原神”二字在回应着。未及思考,jrl777脑袋一阵晕眩。而此刻,提瓦特大陆上空有金光闪烁,空间乱流之内,七种元素力撕开了时空裂缝,风带来了故事的种子。可再坚固的岩石也难逃磨损的命运。“世界,遗忘我。”他终究忘记了自己Cryptoer的身份。“提瓦特大陆的旅人,你能找到我遗失的账号吗?”

misc

DEATH_N0TE

前半段flag

将图片用steagsolve打开,lsb隐写解码,发现疑似明文:
IuS9oOe7p+e7reinguWvn+aJi+S4iua8hum7keiJsueahOeslOiusOacrO+8jOWGt+mdmeS4i+adpeeahOS9oOWPkeeOsOS6huiXj+WcqOWwgemdouacgOS4i+i+ueeahOS4gOihjOWwj+WtlzpTWUN7RDRAVGhfTjB0NF8iCiLkvaDmtY/op4jov4fmlbTkuKrnrJTorrDmnKzvvIzlj6/mg5zlhajmmK/nqbrnmb3pobXvvIzlhbbkuK3mnInkuIDpobXkuI3nn6XpgZPooqvosIHmkpXmjonkuobvvIzkvaDmnIDnu4jov5jmmK/nv7vliLDkuobnvLrlpLHnmoTpgqPkuIDpobUiCiLkvaDnlKjpk4XnrJTmtoLmirnnnYDlkI7pnaLkuIDpobXvvIzkuIrpnaLnvJPnvJPlh7rnjrDkuobpgZflpLHnmoTnl5Xov7kuLi4i
base64解码得到:
“你继续观察手上漆黑色的笔记本,冷静下来的你发现了藏在封面最下边的一行小字:SYC{D4@Th_N0t4_”
“你浏览过整个笔记本,可惜全是空白页,其中有一页不知道被谁撕掉了,你最终还是翻到了缺失的那一页”
“你用铅笔涂抹着后面一页,上面缓缓出现了遗失的痕迹…”
找到前半截flag:SYC{D4@Th_N0t4_

后半截flag

从图片中能隐约看见白色像素点,推测需要提取像素点,构成新图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from PIL import Image  

im = Image.open('d:/Users/ASUS/Downloads/DEATH_N0TE/kamisama.png')
pix = im.load()
width = im.size[0]
height = im.size[1]
# 图片查看后猜测间隔距离为5像素
new_width = width // 5
new_height = height // 5

new_img = Image.new("RGB", (new_width, new_height))
for x in range(0,width,5):
for y in range(0,height,5):
rgb=pix[x, y]

new_img.putpixel((x//5,y//5),(int(rgb[0]),int(rgb[1]),int(rgb[2])))
1
new_img.save('new_image.png')

得到图片

结合题目,该图片上的花体字是死亡笔记中的一种字体,对照提取得到:TkFNRV9vMnRha3VYWH0=
利用base64解码得到后半截flag:NAME_o2takuXX}

合并得到完整的flag:SYC{D4@Th_N0t4_NAME_o2takuXX}

小彩蛋

IuS9oOaJ vuWIsOS6 huS4gOac rOOAikRF QVRIIE5P VEXjgIvv vIzlpb3l pYflv4Pp qbHkvb/k vaDnv7vl vIDov5nm nKznrJTo rrDvvIzk vaDpmIXo r7vkuobk vb/nlKjo p4TliJnv vIzkvYbm mK/kvaDm g4rorrbl nLDlj5Hn jrDliJrm iY3nmoTo p4TliJnk uYvkuK3l lK/ni6zm sqHmnInn rKwxMOad oS4uLiIK IuS9oOWG jeasoeWO u+ehruiu pOaYr+WQ puWmguat pO+8jOes lOiusOS4 iueahOaW h+Wtl+WN tOS7v+S9 m+a0u+S6 hui1t+ad pe+8jOWc qOS9oOec vOS4reS4 jeaWreWc sOaUvuWk p+e8qeWw j++8jOS9 oOmXreS4 iuS6huWP jOecvC4u LiIKIuWO n+acrOm7 keiJsuea hOaWh+Wt l+S4gOi9 rOWPmOaI kOihgOe6 ouiJsu+8 jOivoeW8 gueahOeU u+mdoui/ mOaYr+WH uueOsOS6 juS9oOea hOinhue9 keiGnOWJ je+8jOS9 oOWGs+Wu muS4jeWG jee6oOe7 k+S6jumB l+Wkseea hOinhOWI me+8jOW5 u+iniea2 iOWkseS6 hi4uLiI=
“你找到了一本《DEATH NOTE》,好奇心驱使你翻开这本笔记,你阅读了使用规则,但是你惊讶地发现刚才的规则之中唯独没有第10条…”
“你再次去确认是否如此,笔记上的文字却仿佛活了起来,在你眼中不断地放大缩小,你闭上了双眼…”
“原本黑色的文字一转变成血红色,诡异的画面还是出现于你的视网膜前,你决定不再纠结于遗失的规则,幻觉消失了…”


极客大挑战2023
http://example.com/2023/12/22/极客大挑战2023/
作者
AlLvia
发布于
2023年12月22日
许可协议