Codeengn Challenges = Basic 14 풀이.
말 그대로 Name이 CodeEngn일 때 Serial를 구하라는 문제이다.
Bruteforce가 필요하다고 한다. Bruteforce.....? 사전적 의미로 무차별 대입이라는 뜻이다.
일단 맞던 틀리던 대입해보라는 뜻인 거 같다.
다운로드를 해서 .exe 파일을 열어보았다.
??????????????????뭐지?????????????? 그림....... 일단 Check를 눌러본다.
1글자 이상 채우라고 한다.
다시 화면으로 돌아가서 ID 같은 칸에 1 PW 같은 칸에 1를 입력해봤다.
모르겠으니 올리디버거를 본다.
일단 재생 버튼을 눌러본다.
PUSHAD 명령어가 있다. 즉 패킹된 파일이 있다는 것이니 PEID를 열어본다.
역시 패킹되어있다. 다시 올리디버거로 돌아온다.
이 화면에서 아래 화면과 같이 F8를 누르고, 덤프 코드 창에서 이동한다.
위 화면처럼 하드웨어 브레이크를 건다.
그리고 JMP문으로 간다.
덤프를 해야한다.
리빌드는 체크 해제한다.
리빌드한 것이다.
오른쪽 클릭 후 search for => all intermodular calls로 메시지 박스를 잘 찾아서 검사문까지 이동해야 한다.
분기점을 찾아서 비교한다.
분기점에 브레이크포인트를 건다.
이름이 CodeEngn일 때 5자리 시리얼이라고 했으니 대충 입력한다.
분기점에서 ESI = 129A1, EAX =3039...
게산기를 사용해서 계산해야 되니 계산해본다.
EAX는 12345. ESI는 129A1.
즉 시리얼 값은 아래와 같다.
값을 입력하고 실행해본다.
잘했어. 네가 최고야라는 문구가 나온다.. 확인을 눌러본다.
끝.........
cf)....정신이 없고 당황스러운 문제이다.
많이 생각해보고 시도해봐야 된다.
'# Related site issues > CODEENGN' 카테고리의 다른 글
Codeengn Challenges = Basic 16. (0) | 2018.04.03 |
---|---|
Codeengn Challenges = Basic 15. (0) | 2018.04.02 |
Codeengn Challenges = Basic 13. (0) | 2018.04.02 |
Codeengn Challenges = Basic 12. (0) | 2018.03.28 |
Codeengn Challenges = Basic 11. (0) | 2018.03.28 |