[Wargame] CERTIS Crypto Chall100

Posted by MrBIN on November 14, 2016

Crypto Chall100

  • 모스 부호 받으면 해독하는 문제
import socket
import sys
from time import *

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': '--..',

		'0': '-----',  '1': '.----',  '2': '..---',
		'3': '...--',  '4': '....-',  '5': '.....',
		'6': '-....',  '7': '--...',  '8': '---..',
		'9': '----.'
		}

CODE = {y:x for x,y in CODE.iteritems()}

HOST = 'wargame.kimtae.xyz'
PORT = 10012

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
str1 = ""
data = []

while True:
	data1 = s.recv(4096).split("\n")
	print data1
	for a in data1:
		data.append(a)
		if("Answer" in data[-1]):
			morse_data = data[-2].split(" ")
			print data[-3]
			data = []
			for i in morse_data:
				for j in CODE.keys():
					if(i == j):
						str1 += CODE.get(i)

	s.send(str1)
	sleep(0.18)
	str1 =""

s.close()