Name이 CodeEngn 일때 Serial이 무엇인지 맞추는 것이다
EP Section이 올바르게 나오고 컴파일 환경도 나오는 것을 보니 패킹이 되어있지 않은 실행파일이라고 판단했다
아직 아무것도 모르는 상태이기에
Hello 라는 문자열을 적었고
예상대로 Fail 창이 떴다
코드를 쭉 내려보다가 lstrcmpA라는 함수가 보였다.
lstrcmpA 함수는 Window32 API로, 두 문자열의 대소 관계를 비교하나
일반적으로 두 문자열이 같은지 다른지를 비교할 목적으로 많이 사용한다.
단순히 문자열의 동등성 여부만 판단할 경우는 리턴값이 0인지 아닌지만 점검하며 대소 관계를 판단할 때는 리턴값의 부호를 점검하면 된다.
영문자를 비교하는 경우 대소문자도 비교하므로 대소문자 구분없이 비교하려면
CharUpper 등의 함수로 모두 대문자로 바꾼 후 비교하거나 아니면 lstrcmpi 함수를 사용해야 한다.
여기에 내가 입력했던 Hello 문자열과 어떤 숫자를 비교하는 걸 확인했고
이를 그대로 넣어주니 succeeded 메시지가 떴다
'Study > Reversing' 카테고리의 다른 글
CodeEngn Challenge : Basic RCE L10 (0) | 2021.05.06 |
---|---|
CodeEngn Challenge : Advance RCE L09 (0) | 2021.04.28 |
CodeEngn Challenge : Basic RCE L09 (0) | 2021.04.07 |
CodeEngn Challenge : Basic RCE L06 (0) | 2021.04.07 |
CodeEngn Challenge : Basic RCE L16 (0) | 2021.03.30 |