Study
CodeEngn Basic 03 본문
3. CodeEngn Basic 03
3.1 문제 풀이
뭐라는지 모르겠지만 확인 누르면 입력창이 나오는 걸로 봐선 키 입력해서 통과하는 프로그램인가 보다.
아무거나 입력했더니 에러가 뜬다.
직접 F7과 F8로 디버깅을 해서 찾으면 필요 이상으로 몹시 고생하니까 제공되는 기능으로 빠르게 함수를 찾
아간다.
[Search for] -> [All intermodular calls]
문자열 비교 함수로 추측되는 함수가 보인다. 함수의 이름이 답이라 파란색으로 가렸다.
(이후의 과정은 답과 상관없음)
더블클릭해서 위치를 찾아간다.
두 개의 인자를 이용한 함수임을 알 수 있다.
두 번째 인자는 하드코딩된 문자열의 주소를 참조한다.
그럼 첫 번째 인자는 아마 사용자가 입력한 값일 텐데 확인해보자.
해당 위치까지 디버깅한 후 뜨는 창에 아무 문자나 입력한다.
그 후 스택의 EBP-58 위치를 확인해보면
내가 입력한 문자열이 잘 들어갔음을 알 수 있다.
방금 전 확인한 하드코딩된 문자열이 키값임을 확인했다.
'Reversing > 코드엔진' 카테고리의 다른 글
CodeEngn Basic 06 (0) | 2019.06.15 |
---|---|
CodeEngn Basic 05 (0) | 2019.06.15 |
CodeEngn Basic 04 (0) | 2019.06.15 |
CodeEngn Basic 02 (0) | 2019.06.13 |
CodeEngn Basic 01 (0) | 2019.06.13 |