리버싱 입문

[리버싱 입문](8)[abex crackme 5]

황올뱀 2025. 2. 18. 19:01

 

abex crackme 5

 

이번에는 맞는 시리얼을 입력하고 버튼을 누르면 맞았다는 문구가 뜨면서 correct가 뜨는 문제다.

 

먼저 맞았다/틀렸다고 하는 문구가 바로 보이기에 이 부근을 중점으로 살펴보겠다.

eax와 0을 비교해 만약 같다면 correct로 점프한다는 것을 알 수 있다.

아마 위에 있는 lstcmpi함수에서 비교하고 같다면 0을 반환하는 것 같다.

 

lstcmpi 알아보기

lstcmpi함수의 안을 들여다 보니 ESI에 Enter your serial이란 문자열을, EDI에 L2C-57816784-ABEX라는 문자열을 집어넣고, 기타 등등의 매개변수를 집어넣는다. 이후 CompareStringA를 호출한다.

 

https://learn.microsoft.com/ko-kr/windows/win32/api/winnls/nf-winnls-comparestringa

위 문서에서 알 수 있듯, CompareStringA는 두 문자열을

대소문자 구분 없이 비교하고 같다면 0을 반환한다.

따라서 L2C-57816784-ABEX나 l2c-57816784를 넣으면 풀린다.

728x90
반응형