일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- vinetto
- 윈도우 프로세스
- 생활코딩
- Window process
- pythonchallenge
- 포렌식
- Multimeida
- network
- N0Named
- 정보처리기사 필기 합격
- 는 하지마...
- Multimedia
- slack space
- 디지털포렌식 with CTF
- 윈도우 프로세스 종류
- ftz
- 생활코딩 html
- 네트워크 보안
- html
- memory
- ZIP 파일구조
- 디지털포렌식
- 24시간의 전사
- 실기
- blkls
- disk
- 슬퍼유
- CTF-D
- 네트워크관리사2급
- 2022시작
Archives
- Today
- Total
ssoL2 TISTORY
[pythonchallenge] 1번 문제 What about making trans? 본문
치환암호를 푸는 문제인 것 같다. 코딩짜러 가자..
처음에 이딴 식으로 짰다.. 굉장히 똥손이죠 ^^;;
alphabet = ['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']
string = input()
result_string = list()
for i in string :
try :
index = alphabet.index(i)
if index >= len(alphabet) - 2 :
result_string.append(alphabet[index-len(alphabet)+2])
else :
result_string.append(alphabet[index+2])
except ValueError :
result_string.append(i)
dash = ''
result = dash.join(result_string)
print(result)
정상적인 영어가 출력된다. 손으로 해결하지는 않았지만 굉장히 더러워 보이는 내 코드..
string.maketrans()를 추천해준다. 다시 짜보자.
바로 그냥 3줄로 끝낼 수 있는 굉장한 녀석 등장 ^^
maketrans(old, new)함수로 old->new로 치환해주는 테이블(dict)를 만들고,
바꿀 string에 translate 함수를 불러 인자로 치환 테이블을 넣어주면 된다.
string = input()
transtab = str.maketrans('abcdefghijklmnopqrstuvwxyz','cdefghijklmnopqrstuvwxyzab')
print(string.translate(transtab))
똑같은 결과 ^^ 코드의 간결화 굿
이제 "now apply on the url" 처럼 url에도 적용해봅시다. 그러면 ocr.jvon이 나오고 map.html 대신 넣어보자
[www.pythonchallenge.com/pc/def/ocr.jvon] 을 웹 브라우저에 치면 [ocr.jvon] 파일이 다운로드 된다.
순간 풀렸나 하고 기대했지만, HxD로 열어본 결과 "너 jvon 파일 들어는 봤냐~~~?"라는 문장이 들어있다.
곰곰이 생각해보다가 jvon만 바꿔서 해보면 될라나 해서 [www.pythonchallenge.com/pc/def/ocr.html]로 검색했더니
다음 문제로 넘어간다. 야호
'challenge > 이외 CTF' 카테고리의 다른 글
[pythonchallenge] 0번 문제 warming up (0) | 2021.02.24 |
---|---|
[suninatas] 30번 풀이 (0) | 2021.02.14 |
[Timisoara CTF 2019] Tri-color QR 풀이 (0) | 2021.02.05 |
[suninatas] 19번 풀이 (0) | 2021.01.19 |
[suninatas] 18번 풀이 (0) | 2021.01.18 |
Comments