먼저 실행을 하니 몬스터들이 있고 몬스터들을 만나면 HP가 0이되어 죽는다.
IDA를 통해 문자열들을 보니 Game Clear라는 문자열을 발견했고 그 문자열이 사용되는 함수를 찾아보았다.
이 함수로 들어가면 조건이 맞을 때 MessageBox함수를 호출하는데 디버깅을 통해 강제로 메시지 창을 띄우니 이렇게 나왔다.
이상한 값은 IDA를 통해 봤을 때 &byte_407028에 있는 문자열인데 강제로 메시지 박스를 띄웠기 때문에 이런식으로 나온다 생각했다.
옳은 방법을 통해 일정 점수를 넘겼을 때 &byte_407028의 문자열이 연산을 통해 바뀔거라 생각했고 &byte_407028의 문자열이 사용된 부분들을 찾아봤다.
메인함수에서 이 함수를 호출 하는데 조건에 만족할때마다 XOR연산을 통해 문자하나씩 바꿔준다.
디버깅을 통해 이 함수에 브레이크 포인트를 걸고 함수를 실행해보니
이 문자들과 0에서 부터 시작해 4씩 증가되면서 XOR연산을 하는것을 발견했다.
'문제 > Reversing.kr' 카테고리의 다른 글
Reversing.kr Ransomware (0) | 2017.01.21 |
---|---|
Reversing.kr x64 Lotto (0) | 2016.10.06 |
Reversing.kr HateIntel (0) | 2016.10.05 |
Reversing.kr Music Player (0) | 2016.10.04 |
Reversing.kr Position (0) | 2016.09.30 |