'Solve Problem/Hacker Factory'에 해당되는 글 9건

[HACKER FACTORY] 초급 9번

2017. 8. 2. 17:06

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

반응형


문제입니다. 요점은 "비밀글을 읽어라" 입니다.

문제에 접속해보죠.



문제에 접속한 뒤 비밀글에 접근하면 위와 같은 창이 뜹니다.

소스코드를 보면 이런 스크립트가 적혀있습니다.


표시한 부분을 보시면 저희가 입력한 부분을 특정 함수에 넣어 그 결과값이 제시된 EncryptReadKey과 같아야 풀립니다.

그렇다면 저 특정한 함수를 찾아봅시다.




[ util.js ] 라는 파일에 가면 이렇게 소스코드가 있습니다.

함수의 역할은 위에 있는 입력받은 문자를 encode하여 리턴해주는 것입니다.

이제 천천히 풀어봅시다.



먼저 간단히 'a'라는 문자를 넣었을 때 어떤 반응이 나왔는지 확인했습니다.

FiCC라고 총 4개의 문자가 나오네요.



그래서 저는 아스키코드 전체를 다 encode 시킨 뒤 우리가 원하는 EncryptReadKey와 비교하려고 하였습니다.

 


위가 바로 그 결과입니다.

하지만 일일이 찾기는 귀찮네요.. 

그래서 아래의 코드를 작성했습니다.



4개의 문자니까 substring 함수를 통해 먼저 처음 4개의 문자와 같은 것이 나오는지 확인해보았습니다.

하지만 결과는 아무것도 나오지 않네요 ㅠㅠ



저는 왜그럴까 생각해보다가 위와 같은 실험을 해보았습니다.

그 결과 문자가 1개일 때 뿐만 아니라 2개, 3개일 때도 encode의 결과는 4개의 문자로 출력되었습니다.

4개일 때는 3개일 때의 encode 값에 추가로 4개의 문자가 덧붙여지는 것을 볼 수 있습니다.



이를 토대로 위와 같은 코드를 작성하였습니다.

여기서는 아스키코드 전체가 아니라 대문자와 소문자의 영역을 기준으로 하였는데 그 이유는 encode 함수를 보니 charCodeAt 함수를 사용하였기 때문입니다.

이는 아스키코드 숫자를 문자로 바꿔주는 것이기 때문이죠.


문자 범위 3개를 for문으로 돌려 AAA부터 zzz까지 encode한 것이 EncryptReadKey의 처음 4개의 문자와 같은지 비교해 출력시켰습니다.


그 결과 Bes라는 문자가 나왔습니다.

거의 정답에 다 왔네요.



이제 EncryptReadKey 전체에 대해 해보았습니다.

EncryptReadKey의 총 길이만큼 for문을 돌리는데 4개의 문자씩 잘라내었습니다.

그래서 0을 한 뒤 +4씩하여 for문을 진행하였습니다.


그 결과 나온 문자들을 합치면 [ BestOfBestHackerFacto ] 입니다.

누가 봐도 마지막은 ry 가 빠진 것처럼 보입니다.

그럼 왜 이것은 빠진 것일까?


이는 제가 가정한 3개의 문자가 아니라 2개의 문자로 encode 되었기 때문입니다.



다시 encode 함수를 보면 isNaN 부분이 있어 chr3 즉, 3번째 문자가 없으면 어떻게 하라는 것이 있습니다.

게싱이 안되었다면 더 진행하였겠지만 충분히 게싱이 되므로 여기서 풀이는 멈추겠습니다.



[ BestOfBestHackerFactory ] 를 입력한 뒤 비밀글에 들어가면 인증키가 쨔잔

반응형

'Solve Problem > Hacker Factory' 카테고리의 다른 글

[HACKER FACTORY] 초급 9번  (0) 2017.08.02
[HACKER FACTORY] 초급 10번  (0) 2017.01.20
[HACKER FACTORY] 초급 6번  (0) 2017.01.10
[HACKER FACTORY] 초급 8번  (0) 2017.01.10
[HACKER FACTORY] 초급 5  (0) 2017.01.08
블로그 이미지

rootable

,

[HACKER FACTORY] 초급 10번

2017. 1. 20. 18:35

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[HACKER FACTORY] 초급 6번

2017. 1. 10. 01:33

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[HACKER FACTORY] 초급 8번

2017. 1. 10. 01:10

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[HACKER FACTORY] 초급 5

2017. 1. 8. 12:18

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[HACKER FACTORY] 초급 4

2017. 1. 8. 10:02

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[HACKER FACTORY] 초급 3번

2017. 1. 7. 23:48

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.