چالش Watchmaker¶
خب تو این سوال فایلی با محتویات زیر به ما داده شده است
🕔 🕖 🕕 🕖 🕔 🕗 🕔 🕘 🕔 🕕 🕖 🕔 🕙 🕒 🕓 🕐 🕘 🕗 🕘 🕖 🕖 🕚 🕘 🕗 🕓 🕐 🕘 🕐 🕓 🕒 🕖 🕚 🕘 🕗 🕒 🕓 🕖 🕚 🕗 🕗 🕓 🕓 🕗 🕒 🕗 🕚 🕙 🕔
برا اینکه بفهمیم با چی روبرو شدیم اومدم عدد اول (🕔
) رو تو گوگل سرچ کردم و دیدم تبدیل شد به ایموجی ساعت 🕔
در ادامه با تیکه کد زیر اومدم تبدیلشون کردم به ایموجی های خاص خودش
s = "🕔 🕖 🕕 🕖 🕔 🕗 🕔 🕘 🕔 🕕 🕖 🕔 🕙 🕒 🕓 🕐 🕘 🕗 🕘 🕖 🕖 🕚 🕘 🕗 🕓 🕐 🕘 🕐 🕓 🕒 🕖 🕚 🕘 🕗 🕒 🕓 🕖 🕚 🕗 🕗 🕓 🕓 🕗 🕒 🕗 🕚 🕙 🕔"
print( ''.join(map(lambda x: chr(int(x[2:])), s[:-1].split('; '))) )
# '🕔🕖🕕🕖🕔🕗🕔🕘🕔🕕🕖🕔🕙🕒🕓🕐🕘🕗🕘🕖🕖🕚🕘🕗🕓🕐🕘🕐🕓🕒🕖🕚🕘🕗🕒🕓🕖🕚🕗🕗🕓🕓🕗🕒🕗🕚🕙🕔'
اینجای کار دیدیم ایموجی ها دارند ساعت های تخت رو نشون میدن
پس اومدیم ساعتشون رو با اسکریپت زیر استخراج کردیم
d={
36: 1,
37: 2,
38: 3,
39: 4,
40: 5,
41: 6,
42: 7,
43: 8,
44: 9,
45: 10,
46: 11,
}
z = [*map(lambda x: d[int(x[2:])%100], s[:-1].split('; '))]
# [5, 7, 6, 7, 5, 8, 5, 9, 5, 6, 7, 5, 10, 3, 4, 1, 9, 8, 9, 7, 7, 11, 9, 8, 4, 1, 9, 1, 4, 3, 7, 11, 9, 8, 3, 4, 7, 11, 8, 8, 4, 4, 8, 3, 8, 11, 10, 5]
اینجای کار اومدیم کلی فکر کردیم که این اعداد چی میتونن باشند
اولین گزینه که به ذهنمون رسید این بود که این اعداد شاید هگز باشند
با توجه به اینکه حرف اول فلگ C
و حرف سوم فلگ D
اختلافشون 1
هستش و همچنین دو عدد 57
و 58
اختلافشون یک هستش، شاید حدسمون درست باشه
ولی برای حرف اول و دوم این رابطه درست در نمیومد. حرف اول فلگ C
با حرف دوم O
اختلافشون 12 هستش. ولی تو رشته متناظر ما مقادیر 57
و 67
بهشون داده شده.
اینجای کار پی بردیم که مبنا 12
هستند اعداد و در ادامه بسادگی تونستیم فلگ رو بدست بیاریم
s = "🕔 🕖 🕕 🕖 🕔 🕗 🕔 🕘 🕔 🕕 🕖 🕔 🕙 🕒 🕓 🕐 🕘 🕗 🕘 🕖 🕖 🕚 🕘 🕗 🕓 🕐 🕘 🕐 🕓 🕒 🕖 🕚 🕘 🕗 🕒 🕓 🕖 🕚 🕗 🕗 🕓 🕓 🕗 🕒 🕗 🕚 🕙 🕔"
d={
36: 1,
37: 2,
38: 3,
39: 4,
40: 5,
41: 6,
42: 7,
43: 8,
44: 9,
45: 10,
46: 11,
}
z = [*map(lambda x: d[int(x[2:])%100], s[:-1].split('; '))]
''.join(chr(z[i*2]*12 + z[i*2+1]) for i in range(len(z)//2))
FLAG 
CODEBY{1ts_t1m3_t(_h4ck}
نویسنده