چالش decipherium¶

شرح چالش¶
این چالش یک دنباله کد را به شکل زیر به ما داده که براساس اسم چالش و حروف داخل کد که حروف بزرگ و سپس کوچک دارد به نظر نمادهای عناصر شیمیایی جدول تناوبی را ارائه میداد که به صورت پشت سر هم و بدون هیچ فاصلهای نوشته شدهاند. در اینجا، هدف هر نماد عنصری احتمالاً به عدد اتمی آن عنصر اشاره دارد.
TeSbILaTeSnTeNoISnTeCsCsDyICdTeIISnTeLaSbCdTeTeTeLaTeSbINoTeSbSbInICdTeBaSbSbISnIYbSbCdTeXeINoSbSbTeHoTeITeFmTeITeMdITeSbICsEr

راه حل چالش¶
برای کدگشایی، ابتدا نمادهای شیمیایی را از هم جدا میکنیم و نماد هر عنصر را به عدد اتمی متناظر با آن تبدیل کردیم و در یک لیست قرار میدهیم. سپس دیکشنری شامل نمادهای شیمیایی هر عنصر و اعداد اتمی آنها استفاده می کنیم. .
تبدیل اعداد به کاراکترهای ASCII: سپس اعداد بهدستآمده را به کاراکترهای ASCII تبدیل کردیم، چرا که این اعداد به نظر در بازهای قرار دارند که با استاندارد ASCII همخوانی دارند. در نتیجه، هر عدد(عدد اتمی) به یک کاراکتر خاص تبدیل شد. پس از تبدیل به ASCII، خروجی بهدستآمده شامل رشتهای از کاراکترهای hex بود. در این مرحله، این رشته hex را به متن قابل خواندن (text) تبدیل کردیم.
solve.py | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
FLAG 
CYBORG{PERI0DIC_C1PH3R_0F_3LEMENT5}
نویسنده