워게임 사이트 써니나타스 5번 문제를 풀어 보도록 하겠습니다. 문제의 해답을 보시기 전에 직접 풀어 보시기 바랍니다.
써니나타스 5번 문제는 위에 보시는 것 처럼 간단하게 Check 버튼 만 있습니다. 그럼 소스보기를 하여 문제의 힌트가 있는지 보도록 하겠습니다.
프로그램을 해보신 분들이라면 금방 눈치를 채셨겠지만 eval(function(p,a,c,k,e,r)
로 시작하는 부분이 보이실 겁니다. 자바스크립트로 난독화가 되어 있네요.
이렇게만 검색을해도 관련 내용이 많이 나옵니다. 모르시는 분들은 검색을 해서 알고 넘어가시기 바랍니다. 그럼 자바스크립트로 난독화가 되어 있는 것을 알았으니, 저기 보이는 난독화 해제사이트를 들어 가서 해제를 해보도록 하겠습니다.
난독화를 해제 하면 다음과 같은 코드로 변환되는 것을 확인할수 있습니다. 코드를 보시면 함수 PASS(n)값을 이용하여 리턴을 받는다는 것을 알수 있습니다.
그럼 아까 힌트로 받았던 값을 직접 넣어 보겠습니다. 일단 저는 크롭 개발자 도구에서 넣어보도록 하겠습니다.
개발자도구에서 난독화 해제한 코드를 넣고 PASS값에 위에서 받았던 힌트값을 넣었습니다.
그럼 여기서 또 다른 방법으로 해볼수 있는것은 직접 html로 만들어서 스크립트를 실행을 해보는 방법도 생각할수 있겠습니다. 이것은 직접 한번 고민해서 해보시기 바랍니다.
<html>
<body>
<script>
</script>
</body>
</html>
이구조 안에 난독화 해제했던 코드를 넣고 alert(PASS(12342046413275659)); 함수를 이용하면 되겠습니다.
html 파일로 만드실때는 메모장을 사용하셔도 되고 에디트툴을 사용하셔도 됩니다. 파일을 저장하실때는 저장명.html 이렇게 파일을 저장해주신후 실행 하시면 됩니다.
'Code::War Game > suninatas' 카테고리의 다른 글
써니나타스 (Suninatas) 7번 문제 풀이 (0) | 2018.07.13 |
---|---|
써니나타스 (Suninatas) 6번 문제 풀이 (0) | 2018.07.10 |
써니나타스 (Suninatas) 4번 문제 풀이 (0) | 2018.07.02 |
써니나타스 (Suninatas) 3번 문제 풀이 (0) | 2018.06.25 |
써니나타스 (Suninatas) 2번 문제 풀이 (0) | 2018.06.19 |