본문 바로가기

[Wargame Write-up]/W3Challs

[W3Challs] [/dev/null] -- --- .-. ... . .-.-.- .-.-.- .-.-.-

제목부터 Morse code로 되어 있다.




Morse 부호 문제도 이전에 다룬 적이 있으므로, 코드를 재활용하도록 한다.


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
morse_code = {
        '.-':    'a',        '-...':    'b',        '-.-.':    'c',        '-..':    'd',        '.':    'e',        '..-.':    'f',
        '--.':    'g',        '....':    'h',        '..':    'i',        '.---':    'j',        '-.-':    'k',        '.-..':    'l',
        '--':    'm',        '-.':    'n',        '---':    'o',        '.--.':    'p',        '--.-':    'q',        '.-.':    'r',
        '...':    's',        '-':    't',        '..-':    'u',        '...-':    'v',        '.--':    'w',        '-..-':    'x',
        '-.--':    'y',        '--..':    'z',        '.----':'1',        '..---':'2',        '...--':'3',        '....-':'4',
        '.....':'5',        '-....':'6',        '--...':'7',        '---..':'8',        '----.':'9',        '-----':'0',
        '--..--':',',       '---...':':',       '..--..':'?',       '.----.':"'",       '-....-':'-',       '-..-.':'/'
}
 
def decrypt_morse(morsecode, token1=None, token2=None):    
    result = ''
    for s in morsecode.split(token1):
        if s in morse_code.keys():
            result += morse_code[s]
        
        elif s == token2:
            result += ' '
 
    return result
 
def main():
    
    ciphertext = '- .... . .--. .- ... ... .-- --- .-. -.. .. ... -... .- --. -.. .- -..'
    
    print 'ciphertext: %s\n' % ciphertext
    print 'decrypted: %s' % decrypt_morse(ciphertext, ' ''/')
 
if __name__ == '__main__':
    main()
cs



복호 결과를 얻고




입력하면




끝~