아래에 암호문과 위 그림을 보니 rot13 즉, 시져암호화 인거 같다.
우리는 지금 파이썬을 이용한 워게임을 하고있으니 무식하게 아스키값으로 변환한뒤 더하고 다시변환하는 이러한식의 코딩은 문제를 정확히 풀었다고 할수없다. 그러므로 파이썬의 모듈중에 하나인, translate를 사용해보겠다.
import string,urllib
oldstring=""
for i in range(ord('z')-ord('a')+1):
oldstring += chr(ord('a')+i)
print "k->m offset:%d" %(ord('m')-ord('k'))
print "o->q offset:%d" %(ord('m')-ord('k'))
print "e->g offset:%d" %(ord('m')-ord('k'))
newstring=oldstring[2:]+oldstring[:2]
print "Original Alphabet: "+oldstring
print "new Alphabet: "+newstring
problem="g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."
print "[+]problem translating.."
print string.translate(problem,string.maketrans(oldstring,newstring))
url="http://www.pythonchallenge.com/pc/def/map.html"
print "[+]url translating.."
print string.translate(url,string.maketrans(oldstring,newstring))
'wargame > pythonchallenge.com' 카테고리의 다른 글
http://www.pythonchallenge.com/pc/def/peak.html (0) | 2014.06.20 |
---|---|
http://www.pythonchallenge.com/pc/def/linkedlist.php (0) | 2014.06.03 |
http://www.pythonchallenge.com/pc/def/equality.html (0) | 2014.06.03 |
http://www.pythonchallenge.com/pc/def/ocr.html (0) | 2014.06.03 |
http://www.pythonchallenge.com/pc/def/0.html (0) | 2014.06.02 |