One's Knowledge

CodeEngn basic 18번 문제 풀이 본문

리버싱/CodeEngn 문제풀이

CodeEngn basic 18번 문제 풀이

coveter 2025. 6. 20. 14:24

CodeEngn basic 18번

Name이 CodeEngn일때 Serial은 무엇인가

패킹은 되어있지 않다.

실행하면 Name과 Serial을 넣고 Check 하는 프로그램인 것을 알 수 있다.

바로 문자열을 찾았다.

분기점 위에 보니 str1, str2를 비교하는 함수에 넣고 그 결과값이 0이면 성공, 1이면 실패구문으로 가는 것을 알 수 있다.

그러면 lstrcmpiA라는 함수에 들어가는 인자를 보면 되겠다.

보다시피, 내가 넣은 serial 값이 들어갔다. 그 말은 06162370056B6AC0이 Name이 CodeEngn일때의 serial 값이다.

한번 넣어보자. 내가 넣은 1234가 그대로 string으로 저장되는 것을 보니 16진수로 바꿔줄 필요 없이 그대로 넣었다.

lstrcmpiA이 함수를 실행하니 이번엔 EAX가 0이다.

성공!

이번엔 Windows API 함수를 사용하여 문자열을 비교했다.

API함수 어느정도 알아둬야겠다.

 

정답 : 06162370056B6AC0