먼저 실행을 하니 몬스터들이 있고 몬스터들을 만나면 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

+ Recent posts