반응형

첫 번재 해결점은 NAG(잔소리)를 없애는 것이다. 이것의 의미를 파악할 수가 없었는데

간단히 문자열이 드지 않게 하는 것이었다. 방법은 매우 많지만 에를 들어 함수가 호출되는 부분을 찾아서 호출이 되지 않돍 점프시키는 등 방법은 잇지만 책을 따라가기로 했다.

NAG를 클릭하면 처음 보이는 함수이다.

함수안으로 들어가서 찾아보면 진짜 메세지를 호풀하는 부분을 찾을 수 있다. 책에 나온 정석적인 방법으로 풀이를 해보 겠다.

함수 호출을 저지 시킨다.

 

이렇게 되는데 14=E  16진수로 생각을해보면

 

CLL 함수는 5바이트의 크기를 가진다. ADD 명령어는 3바이트를 가져서 남은 곳을 NOP로 채워주었다..

이렇게 하면 문제가 생기는데 함수내에서의 변수를 제대로 처리를 하지 못한다. 그래서 내가 처음 찾은 NAG에서 함수를 들어간후 처음보는 코드를 그냥 RET 4 해버려서 함수에서 바로 바져나오도록 처리를 해버렸다

이렇게 처리를 해주면 1가지 문제가 긑나고 어제 하루종일 찾아본 분기문에 가보면

문자열을 분기하는 API 위에 함수에 들어가는 인자를 찾을 수 있다.

어제는 왜 못찾았지....

그러면 성공이다.

 

결론....

일단 뭐 많은 웨게임 문제들의 의도를 파악하는것은 제일 함든데 뭐.. 이번 문제는 비교적으로 쉬웟다...

반응형
Posted by 53C
,