제목부터 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 |
복호 결과를 얻고
입력하면
끝~
'[Wargame Write-up] > W3Challs' 카테고리의 다른 글
[W3Challs] [/dev/null] Easy Javascript! (0) | 2017.02.04 |
---|---|
[W3Challs] [/dev/null] A crackme or ... (0) | 2017.02.04 |
[W3Challs] [/dev/null] Security + Javascript ≠ 2 (0) | 2017.02.03 |
[W3Challs] [/dev/null] Hard to make easier! (0) | 2017.02.03 |
[W3Challs] [Cracking] ProtectionSystem I (0) | 2017.01.29 |