반응형
문제는 Name이 CodeEngn일 때 Serial을 원하고 있다.
Die로 열어보니,
ARM Protector라는 것이 보이지만 일단은 먼저 실행시켜본다.
Serial은 아래 input을 얘기하는것 같다. 디버거로 열어본다.
문자열 찾기로 성공 구문으로 가는 분기를 찾았다.
내가 입력한 문자열과 특정 값을 or연산을 한 값을 바탕으로 분기가 이루어지는데,
je는 제로플래그가 1일때와 cmp로 비교했을 때 같다면 점프를 하는 명령어이다.
eax를 or연산을 했을 때 0이 나오고 연산의 결과가 0이여야 제로플래그가 1로 세팅 되면서 je 구문에서 점프를 뛰기 때문에 istrcmpiA의 반환값이 0이여야 한다.
반환 값
유형: 정수
lpString1 이 가리키는 문자열이 lpString2 가 가리키는 문자열보다 작으면 반환 값은 음수입니다. lpString1 이 가리키는 문자열이 lpString2 가 가리키는 문자열보다 크면 반환 값은 양수입니다. 문자열이 같으면 반환 값은 0입니다.
함수의 두 인자값이 같아야 반환값이 0이 되니 12345와 비교하던 문자열을 가져와 시리얼에 입력해보면,
맞다고 하고 페이지에도 인증을 해준다.
반응형
'Reversing 문제 풀이 > CodeEngn.com_Basic (Clear)' 카테고리의 다른 글
codeengn-basic-L20 풀이 (0) | 2022.04.28 |
---|---|
codeengn-basic-L19 풀이 (0) | 2022.04.22 |
codeengn-basic-L17 풀이 (0) | 2022.04.21 |
codeengn-basic-L16 풀이 (0) | 2022.04.19 |
codeengn-basic-L15 풀이 (0) | 2022.04.19 |
최근댓글