한 번 실행해서 임의의 Serial을 입력해보겠습니다.
어떤 프로그램인지 확인했으므로 이제 올리디버거를 이용해 풀어 보겠습니다.
언제나 그렇듯 문자열 검색을 해보겠습니다. 코드창 -> 마우스 우클릭 -> Search for -> All referenced text strings를 클릭합니다.
다행히 이번에는 바로 문자열이 검색되는 군요. 해당 위치로 이동하여 문제를 계속 풀어가겠습니다.
이동한 위치 바로 위에 분기점과 비교문을 볼 수 있습니다. 저 위치까지 실행한 후 비교문에 있는 주소를 덤프창에서 찾아가보겠습니다.
EAX의 값은 0x3039 이고 비교하는 주소에 저장된 값은 0x6061 입니다. 어떤 값인지 계산기를 통해 알아보면
EAX는 입력한 값인 12345 이며, 45B844에 저장된 값은 24673 이지만, 리틀앤디안 방식에 의해 0x6160이 진짜 값이며 이는 24928입니다.