CodeEngn Basic - (7)
문제가 ‘컴퓨터 C드라이브의 이름이 CodeEngn 일 경우 시리얼이 생성될 때 CodeEngn은 “어떤 것”으로 변경되는가’입니다.
그러니 C드라이브에 이름을 CodeEngn으로 변경을 하고 문제를 시작합니다.
먼저 문제를 다운받습니다.
그리고 한번 실행시켜 봅니다.
이렇게 뜹니다.
올리디버거로 열어줍니다.
먼저 오류창과 성공 창이 보입니다.
004010FC주소를 보게 되면 CMP와 JE가 있습니다.
EAX와 0이 같을 때 성공 창이 뜨게 되도록 설정 되어있습니다.
결국 EAX가 0이어야 한다는 소리입니다.
CMP까지만 실행시켜보면
EAX가 1이기 때문에 점프를 하지 않고 오류창이 뜨게 된 것입니다.
코드를 좀만 더 위로 올려보겠습니다.
Enter your serial이 눈의 띕니다. 저건 저희가 실행했을 때 키에 입력되어 있던 문구입니다.
그 밑에 시리얼 키처럼 보이는 문자가 있습니다. 위에 함수를 보시면 StringToAdd라는 함수가 있습니다. 문자를 추가한다는 뜻인데 EqfgEngn4562-ABEX에 L2C-5781을 추가한 것 같습니다만 EqfgEngn4562-ABEX는 무엇일까요? 일단은 문자열을 전부 모아보겠습니다.
EqfgEngn4562-ABEX가 보입니다. 더블클릭으로 들어가봅시다.
4562-ABEX가 EqfgEngn에 추가 된 것을 볼 수 있습니다.
제 예상으로는 EqfgEngn은 아까 문제를 풀기 전 C드라이브에 이름을 바꾼 CoDeEngn이 뭔가 변형되어서 나타난 것 같습니다.
그럼 시리얼 키인 L2C-5781EqfgEngn4562-ABEX를 넣어보면 성공 창이 뜹니다. 생성될 때 CodeEngn의 값이 바뀐다고 하였으니 바뀐 값은 EqfgEngn입니다. 답은 EqfgEngn입니다.