root-me

rootme - Crypto - Shift cipher

ddanss 2019. 7. 31. 15:59
728x90

하으

바ㅏㅏㅏㅏㅏㅏ킹독님 블로그를 보았다

shift cipher이 내가 생각하는 Caesar는 맞는데 byte 까지 봐서 1~26이 아닌 256까지 봐야한다고 했다.

그래서 코드는

 

# 문자열 입력해놓기. 따로따로.
s='4C 7C 6B 80 79 2B 2A 5E 7F 2A 7A 6F 7F 82 2A 80 6B 76 73 6E 6F 7C 2A 6B 80 6F 6D 2A 76 6F 2A 7A 6B 7D 7D 2A 63 79 76 6B 73 72 7F 14 0A'.split()

# 16 진수로 되어있는 배열을 10진수로 다바꾸기.
for i in range(len(s)):
 s[i] = int(s[i],16)
print(s)

# q라는문자열에 s문자열 길이만큼 계속 더하기. x값만큼 더하면서. &0xff는 256을 제한하기 위함.
for x in range(256):
 q = ''
 for c in s:
  q += chr((c+x)&0xff)
 print(x,q)

 

이것이고

실행해보면

이런식으로 나오며 246에 pass Yolaihu 이므로

flag : Yolaihu

반응형