TJCTF2020 - Typewriter
Posted on mar. 02 juin 2020 in CTF
solves : 395
Points: 30
Written by jpes707
Oh no! I thought I typed down the correct flag for this problem on my typewriter, but it came out all jumbled on the paper. Someone must have switched the inner hammers around! According to the paper, the flag is zpezy{ktr_gkqfut_hxkhst_tyukokkgotyt_hoftqhhst_ykxoz_qxilrtxiyf}.
Hint: a becomes q, b becomes w, c becomes e, f becomes y, j becomes p, t becomes z, and z becomes m. Do you see the pattern?
With the hint, the solution is quite obvisous: we need to map the char back to qwerty keyboard layout.
flag = "zpezy\{ktr_gkqfut_hxkhst_tyukokkgotyt_hoftqhhst_ykxoz_qxilrtxiyf}"
layout = {
'a': 'q',
'b': 'w',
'c': 'e',
'd': 'r',
'e': 't',
'f': 'y',
'g': 'u',
'h': 'i',
'i': 'o',
'j': 'p',
'k': 'a',
'l': 's',
'm': 'd',
'n': 'f',
'o': 'g',
'p': 'h',
'q': 'j',
'r': 'k',
's': 'l',
't': 'z',
'u': 'x',
'v': 'c',
'w': 'v',
'x': 'b',
'y': 'n',
'z': 'm',
'_': '_',
'{': '{',
'}': '}'
}
result = ""
for c in flag:
for name, age in layout.items():
if age == c:
result += name
print(result)
Run it and get some points!
╰─ python typewriter.py
tjctf{red_orange_purple_efgrirroiefe_pineapple_fruit_auhsdeuhfn}