일단 코드엔진과 다르게 지문이 없다.
그냥 바이너리만 주어짐.
바로 OllyDBG로 열어서 스트링값들을 봐보자
5y, R3versing..
이것들을 보자마자 키값이 흩어져있다는 것을 어느정도 감잡아야한다.
바로 처음시작부분에 BP를 걸어주고,
여기서는 동적으로 보다기보단 정적으로 한번 보고
키값을 찾는 식으로 해야할 것이다.
점프문 주변에 먼저 BP를 걸어주고 분석을 시작하자
manvan입력하고 확인 누르고
여기서 멈추는데 밑에보면
ESP+5(0019F6CD)에서 'a'와 맞는지 비교를 하고
틀리면 실패하는 구문으로 점프뛰어버리게 만들었다.
그리고 스택부분에 보면
위와 같이 ESP+4부터 내가 넣은 값이 들어가있었다.
그렇다면 ESP+4가 시작위치인것이고, 여기의 주소는
0019F6CC였다.
일단 여기서 유추할 수 있는 것은
두 번째 문자는 a라는 것이다.
?a?????라는 것이다.
계속 해보자
그러면 이곳 ESP+A부분을 가져오고
5y를 푸쉬한다.
일단 ?a5y??인것 같아서 다시 시작해서
입력값을 바꾸어보았다.
맞게 넘어갔다.
여기서 ?a5y????~인것은 확정
같은방법으로 아래에 있는 R3versing도 이어진다 생각하여 값을 바꿔서 또 해보았다.
그 결과,
분기문을 잘 점프하였고
이 싸이클에서는 한글자 한글자 검사하는 부분이다.
그 결과 여 분기문에 왔고 마지막에
ESP+4와 비교하는 구문이 보였다!!!!
그러면 여기서 45가 16진수 아스키코드료 표현하면 E가 되고
쭉 이어서 다시 적으면
Ea5yR3versing이 된다.
다시 실행해서 위 키값을 입력하면.
성공하였다
'Reversing > Reversing.kr' 카테고리의 다른 글
Reversing.Kr 002 Easy Keygen 풀이 (0) | 2017.07.04 |
---|