Basic RCE L15
Name이 CodeEngn일때 Serial을 구하시오
패킹은 되어있지 않았다.
프로그램 실행
실패시
자 이제 정답을 찾으러 가자
이런 맞는 Serial 값을 찾는 종류의 문제를 풀기 위해서는 정답 메세지가 있는 text를 찾아가야한다.
Ollydbg에서 문제 파일을 연 뒤에 Search for > All referenced text strings을 통해 text가 모여있는 곳을 확인한다.
켜자마자 약간 위에 Try Again!이라는 문자와 같이 CRACKED라는 문자열이 저장되어있다 이 부분을 호출하는 곳에서 정답이 있을 것이기 때문에 진입해보자.
그러면 좀 바로 위에 CMP비교문과 JNZ와 같은 점프문이 있는데 JNZ가 만약에 ZF가 0이 아니라면 Try Again이 있는 주소로 점프한다. 때문에 JF가 0이 되게 만들기 위해서 같은 값을 입력해주어야 하는데 이 부분이 Serial값을 비교하는 부분이다.
가장 먼저 CMP부분에 BreakPoint를 걸고 실행시키면 아래에 비교값이 뜨는데
위와 같이 빨간칸에 EAX와 0045B844주소의 값과 비교한다.
EAX에 있는 값 A는 10진수로 10이기 때문에 내가 입력한 값이고 0045B844가 우리가 입력할 Serial값이다, 0045B844에는00006160이라는 값이 있는데 이를 10진수로 바꾸면 우리가 원하는 Serial값이 나온다.
'Hacking > Reversing' 카테고리의 다른 글
CodeEngn_basic_17 (0) | 2020.07.24 |
---|---|
CodeEngn_basic_16 (0) | 2020.07.18 |
CodeEngn_basic_14 (0) | 2020.07.05 |
CodeEngn_basic_13 (0) | 2020.07.05 |
CodeEngn_basic_12 (0) | 2020.06.27 |