SMALL
리버싱 CodeEngn basic 3번 문제
비주얼베이직에서 스트링 비교함수이름은?
프로그램을 실행하여 보니
다음과 같이 뜬다. 시리얼을 입력하고 입력한 시리얼이 맞는지 확인하는 비교함수를 찾으라는 것같다.
그러면 시리얼을 입력하였을때 성공구문이나 실패구문을 찾아야 한다.
다음을 보니 실패구문과 성공구문이 보인다.
저기로 간다.
실패구문과 성공구문에서 위로 올려보니 점프구문이 있다. 즉 위에서 내가 쓴 시리얼을 비교했을것이다.
코드를 보니 vbaStrCmp라는 함수를 실행하고 리턴값을 EDI로 옮긴후 여러번의 연산을 통하여 비교문으로 가는 것을 볼수있다. vbaStrCmp 함수 실행부분에 브레이크 포인트를 걸고 계속 실행한다. 시리얼은 임의로 12345를 넣었다.
여기서 vbaStrCmp라는 함수가 시리얼을 비교하는 함수라고 추측할수있다.
함수의 이름과 함수를 불러오기 바로전에 스택에 내가 입력한 값과 2G83G35Hs2라는 값을 쌓은 것을 확인할수 있기 때문이다. 즉 12345와 2G83G35Hs2라는 값을 vbaStrCmp라는 함수를 사용하여 비교한것을 알 수 있다.
다시 실행하여 2G83G35Hs2라는 값을 넣어보니 성공구문을 확인할 수 있다.
답 : vbaStrCmp
LIST
'리버싱 > CodeEngn 문제풀이' 카테고리의 다른 글
CodeEngn basic 6번 문제 풀이 (0) | 2020.08.09 |
---|---|
CodeEngn basic 5번 문제 풀이 (0) | 2020.08.08 |
CodeEngn basic 4번 문제 풀이 (0) | 2020.07.28 |
CodeEngn basic 2번 문제 풀이 (0) | 2020.07.22 |
CodeEngn basic 1번 문제 풀이 (0) | 2020.07.21 |