BaaaaaaaarkingDog
코딩, 해킹
[Reversing.kr] Direct3D FPS

실행해보면 그럭저럭 무난한 FPS 게임을 볼 수 있습니다.


그런데 대체 무엇을 하라는건지 알 수가 없습니다. 쏴도 저 고구마처럼 생긴것들이 없어지는 것도 아니고.. 일단 코드를 봤습니다.



Search for all referenced string으로 Game Clear 부분을 잡긴 했는데 Text가 굉장히 이상합니다. 그래도 나름 140점짜리 문제가 설마 저 텍스트를 그대로 긁어서 제출한다고 맞을리는 없을 것 같고, 인게임 중에 저 부분의 값이 바뀐다고 생각하면 조금 합리적일겁니다. 그러면 저 텍스트 영역을 언제 어떻게 건드리는지 알아야하는데, 그걸 알기 위해 치트 엔진을 사용했습니다. 피카츄배구를 분석하려고 신명나게 하던 짓들이네요.



일단 Cheat Engine으로 Ckfk@@@ 영역을 잡긴 했고 이제 이 부분의 값을 어떤 명령어가 건드리는지 확인하면 될 것 같습니다. 뭔가 느낌적인 느낌으로 저 고구마를 죽일 때 바뀐다거나, 맵의 특정 영역에 들어가면 바뀐다거나, 내가 죽으면 바뀐다거나 총을 쏠 때마다 바뀐다거나 뭐 그런 가능성들이 있을 것 같네요.



찾았습니다! 한 마리를 죽이니까 값이 바뀌네요. 맨 처음엔 이상한 돔도 찍어보고 하늘에 별도 쏴보고 죽어도 보고 온갖 삽질이란 삽질은 다 하다가, 고구마에게 주구장창 총을 쏘니까 죽는걸 확인할 수 있었습니다.  D2342D번지를 확인해보면