یه چند تا سوال تمرینی دیدم، گفتم بشینم ببینم کدوماشو میتونم حل کنم.
البته جواباشونم گذاشته، ولی فعلا نگاهشون نکردم.

HSCTF Practice Problems



تو این سوال یه سری عدد داده شده که هرکدوم به یه حرف انگلیسی اشاره میکنه. شرح کاملش رو میتونید تو صفحه خودش بخونید.
البته خیلی توضیح داده و دیگه ساده شده...


(23, 5, 12, 12, 27, 20, 8, 5, 27, 6, 12, 1, 7, 27, 9, 19, 27, 8, 9, 4, 4, 5, 14, 27, 8, 5, 18, 5, 27, 2, 21, 20, 27, 6, 9, 18, 19, 20, 27, 23, 5, 27, 8, 1, 22, 5, 27, 19, 15, 13, 5, 27, 20, 5, 24, 20, 27, 20, 15, 27, 3, 15, 14, 6, 21, 19, 5, 27, 25, 15, 21, 27, 14, 15, 23, 27, 20, 8, 5, 27, 6, 12, 1, 7, 27, 9, 19, 27, 9, 14, 27, 6, 1, 3, 20, 27, 19, 5, 3, 18, 5, 20, 19, 28, 1, 18, 5, 28, 8, 9, 4, 4, 5, 14, 28, 9, 14, 28, 20, 8, 9, 19, 28, 12, 9, 19, 20, 27, 4, 15, 14, 20, 27, 9, 14, 3, 12, 21, 4, 5, 27, 20, 8, 5, 27, 16, 1, 18, 20, 19, 27, 20, 8, 1, 20, 27, 1, 18, 5, 27, 19, 5, 16, 5, 18, 1, 20, 5, 4, 27, 23, 9, 20, 8, 27, 19, 16, 1, 3, 5, 19)


من برای حلش کد زیر رو با پایتون نوشتم :


def english(msg):
    alphabet = {'1':'a' , '2':'b' , '3':'c' , '4':'d' , '5':'e' , '6':'f' , '7':'g' , '8':'h' , '9':'i' , '10':'j' , '11':'k' , '12':'l' , '13':'m' , '14':'n' , '15':'o' , '16':'p' , '17':'q' , '18':'r' , '19':'s' , '20':'t' , '21':'u' , '22':'v' , '23':'w' , '24':'x' , '25':'y' , '26':'z' , '27':' ' , '28':'_'}
    text = []
    msg = msg.split(",")
    for i in msg:
        text.append(alphabet[i.strip()])
    text = ''.join(text)
    print(text)  


encrypted = '23, 5, 12, 12, 27, 20, 8, 5, 27, 6, 12, 1, 7, 27, 9, 19, 27, 8, 9, 4, 4, 5, 14, 27, 8, 5, 18, 5, 27, 2, 21, 20, 27, 6, 9, 18, 19, 20, 27, 23, 5, 27, 8, 1, 22, 5, 27, 19, 15, 13, 5, 27, 20, 5, 24, 20, 27, 20, 15, 27, 3, 15, 14, 6, 21, 19, 5, 27, 25, 15, 21, 27, 14, 15, 23, 27, 20, 8, 5, 27, 6, 12, 1, 7, 27, 9, 19, 27, 9, 14, 27, 6, 1, 3, 20, 27, 19, 5, 3, 18, 5, 20, 19, 28, 1, 18, 5, 28, 8, 9, 4, 4, 5, 14, 28, 9, 14, 28, 20, 8, 9, 19, 28, 12, 9, 19, 20, 27, 4, 15, 14, 20, 27, 9, 14, 3, 12, 21, 4, 5, 27, 20, 8, 5, 27, 16, 1, 18, 20, 19, 27, 20, 8, 1, 20, 27, 1, 18, 5, 27, 19, 5, 16, 5, 18, 1, 20, 5, 4, 27, 23, 9, 20, 8, 27, 19, 16, 1, 3, 5, 19'

english(encrypted)

با اجرای کد بالا داریم :


well the flag is hidden here but first we have some text to confuse you now the flag is in fact secrets_are_hidden_in_this_list dont include the parts that are seperated with spaces