2022. 3. 16. 22:07ㆍSite/Webhacking.kr
오늘은 level16을 풀어보겠습니다
공부를 하는 입장이니 틀린것이 있더라도 양해부탁드리겠습니다
level16을 실행시키니 이상한 별그림 2개가 보였습니다
어떠한 키를 눌러도 작동이 되질않더군요
소스코드를 확인해 보았습니다
body테그안에 onkeypress가 보이는데 키값을 누를때 이벤트가 발생한다고합니다. 즉 키를 누르면 mv함수가 실행되어 keyCode가 입력되는것 같습니다. cd에 keyCode값을 전달받아 먼저 kk함수를 실행시키네요
kk함수에서 Math.random()*900000[최대값]을 통해 난수를 생성하고 x를 left, y를 top으로 설정한거 같습니다
cd==100이면 left[x]를 parseInt를 통해 10진수로 변환해 +50을 해주어 왼쪽으로 이동시켜주는것 같습니다
cd==97이면 left[x]를 parseInt를 통해 10진수로 변환해 -50을 해주어 오른쪽으로 이동시켜주는것 같습니다
cd==119이면 top[y]을 parseInt를 통해 10진수로 변환해 -50을 해주어 위쪽으로 이동시켜주는것 같습니다
cd==115이면 top[y]을 parseInt를 통해 10진수로 변환해 +50을 해주어 아래쪽으로 이동시켜주는것 같습니다
cd==124일때 특정 페이지로 이동하는거 같은데 주석에 do it!이라는 힌트가 있는가 있는걸로 보아 cd를 124로 맞춰주어야 될것같습니다
그런데 키를 입력할때 마다 124가 한방에 가는게 아니라 1 2 4가 한키씩 입력이 되므로 아마도 아스키 코드를 활용해야 될 것 같습니다
아스키 코드로는 100=d, 97=a, 119=w, 115=s, 124=|[파이프]입니다
개발자 도구를 실행하여 값을 변경하여 소스코드를 수정했습니다
값을 변경해주고 wsda를 눌러보니 별이 값 방향대로 움직이면서 *을 출력해 줍니다
그리고 |[파이프]를 입력하니 클리어 되었습니다
cf) onload : onkeypress처럼 body테그에 이용됨. 페이지가 로드된후 실행될 곳 [-> body가 script보다 먼저실행기때문에 script 미구현시 오류남 -> script부분이 구현이 다 안되도 오류방지]
reference check : https://www.w3schools.com/jsref/event_onkeypress.asp
'Site > Webhacking.kr' 카테고리의 다른 글
level18[old] (0) | 2022.03.18 |
---|---|
level26[old] (0) | 2022.03.17 |
level15[old] (0) | 2022.03.15 |
level14[old] (0) | 2022.03.15 |
Level17[old] (0) | 2022.03.15 |