분석 도구 : Immunity Debugger
저번 게시물에 올렸던 CodeEngn 15번 문제와 아주 유사하다
2021.03.30 - [Study/Reversing] - CodeEngn Challenge : Basic RCE L15
참고하면 이해하는 데 아주 도움이 될 것이다!!!!!!!
이번엔 CUI 모드로 작동하는 듯 싶다.
잘못된 password를 입력하면 'Wrong password!' 문자열이 뜨고
해당 exe 파일이 있는 곳에 null 이라는 파일이 생긴다.
[Search for] - [All referenced text strings] 를 통해 힌트 구간을 얻어본다.
'Good job!' 이 있는 곳을 더블클릭하여
해당 코드가 있는 곳으로 이동한다.
이번에도 역시 분기문이 보인다. (CMP)
EAX 값과 SS 값(EBP-3C 주소 기준 4byte) 를 비교한 후,
두 값이 같지 않으면
'wrong password!' 문자열이 출력되는 주소로 점프해버린다.
따라서 우리는 EAX 값에 어떤 값이 들어가는지와 EBP-3C에 들어가있는 값을 확인해야 한다.
4015A2 에 BP를 건 후 실행하였고, password(serial)에는 1234를 입력해 주었다.
EAX에 들어가는 것은 우리가 입력했던 1234(10진수)가 000004D2(16진수)로 바뀐 형태의 값인 것을 알 수 있다.
EBP-3C에 있는 값은 E4C60D97 이다.
따라서 우리가 원하는 serial 값을 찾을 수 있다.
'Study > Reversing' 카테고리의 다른 글
CodeEngn Challenge : Basic RCE L09 (0) | 2021.04.07 |
---|---|
CodeEngn Challenge : Basic RCE L06 (0) | 2021.04.07 |
CodeEngn Challenge : Basic RCE L15 (0) | 2021.03.30 |
Reversing.kr 1번 풀이 (0) | 2021.03.24 |
main 함수 찾기 (0) | 2021.03.23 |