요즘 UNISONSHIFT 에서 나온 Peace@Pieces 라는 게임을 해 보고 있습니다.
게임 자체는 상당히 옛날인데 (몇년 안 되긴 했어도), 나나츠이로 드롭스를 나름대로 재미있게 했다보니, 역시 이토 노이지씨가 원화를 담당했다는 이것도 해 보게 되었습니다.

사용자 삽입 이미지


사실 이 회사 게임은 요즘엔 좀 나아지는 듯 싶지만 이전에는 그다지 스토리에선 기대할 거 없는 캐릭터만 이쁘장한 게임들을 종종 내놨었죠. 아마 나름대로 알려진 건 나나츠이로 드롭스 정도가 아닐까 싶은데 (Peace@Pieces 도 피규어는 좀 나왔지만) 대충 찾아보니 이것 역시 스토리 쪽에선 좀 부족하다거나 졸립다라는 평가가 많았습니다. 하지만 뭐 전 일단 캐릭이 귀여우니 도전.

설치를 끝마치고 게임을 해 보려는데...
아무래도 배경이 좀 밝아서 글자를 읽기가 조금 거북하더군요. 게다가 제 모니터는 5:4 라 풀스크린으로 하면 위아래로 늘어나고.

그래서 하는 수 없이 아랄트랜스나 후커를 이용해서 엉망이지만 번역으로 돌려볼까 해서 시도를 해 봤습니다.

그런데... 이게 꽤나 삽질하게 만들더군요.

1차 삽질: 아랄트랜스나 agth 를 이용한 클립후커도 전~혀 비슷한 글자 하나조차 잡아내지 못함. 알고보니 자체폰트... 이 시점에서 아랄트랜스는 아웃.

2차 삽질: 지금까지의 경험으로 OllyDbg 를 이용해 분석 시작. 대사 처리 부분은 30초만에 발견. 그런데 일명 /H 코드라는 옵션 적용 방법을 모름...

3차 삽질: 옵션 적용 방법을 찾기 위해 agth 홈페이지 방문. 근데 이것들이 기술 자료는 전~~~혀 올려둔 게 없고 agth 사용법은 몽땅 외부 링크. 나온 /H 코드 설명들도 다 각 옵션의 설명보다는 맨땅에 헤딩식 설명 뿐. 이 상황에서 슬슬 머리에 스팀이...

4차 삽질: 겨우 옵션 사용 방법을 파악해서 시도해 보려는 찰나... 이건 그냥 메모리에 든 대사는 후킹 불가... 반드시 함수 진입시에 레지스터/스택에 관련 데이터가 들어있어야만 가능... 또다시 OTL. 메모리에 뻔히 든 대사를 전혀 인식시킬 수가 없으니...

5차 삽질: 다시 함수를 뒤져서 대사 처리 함수는 아니지만 진입시 관련 메모리 주소를 넘기는 함수를 발견. 후킹 시도. 근데 걸리는 건 첫글자 뿐... Little Endian 이면 전체 대사 인식이 가능하다는데, Big Endian 이라 첫글자만... 아니, 세상에 스트링을 Little Endian 으로 기록하는 바보가 어딨냐!!!

6차 삽질: 결국 내부에 따로 함수를 만들어 2바이트 단위로 EAX 에 한번씩 넣어주는 코드를 짜 넣음. 후킹 성공. 근데 이 게임은 또 줄바꿈은 1바이트... 고로 줄이 바뀌면 그 다음줄부턴 또 후킹 불가 (바이트 순서가 바뀌었으니)

7차 삽질: 결국 반각 인식 코드도 짜 넣어서 반각일 경우는 1바이트로 처리하도록 수정 (물론 이건 후킹 안되게 버림) 이제서야 제대로 성공. 드디어 후커를 이용 게임 시작...


정말 별 삽질을 다 했군요. 게다가 이 뿐 아니라 JUMP 로 외부로 날릴 경우 함수를 인식 못하는 등의 문제가 있어서 실제 삽질하면서 저장한 실행파일 갯수는 12개쯤 됩니다. 근데 왠지 하고나니 이렇게 하면서까지 할만한 게임인가 하는 회의가... ㅠㅠ

어쨌든, 삽질 후 게임을 해 보는 중...
그래도 재미 면에선 그다지 기대는 안 되는군요.


P.S. Peace@Pieces 코드는 이미 공공님이 찾아서 공개했다고도 하던데... 홈 폐쇄로 지금은 어디 있는지 찾을 수도 없고, 물어봐도 대답도 없이 제가 삽질하는 거 보면서 능글거리시더구만요... 흑흑흑.

트랙백 주소 :: http://cctomoyo.com/blog/trackback/101

트랙백 RSS ::

댓글을 달아 주세요

댓글 RSS 주소 :
  1. esk 2008/11/22 17:23  댓글주소  수정/삭제  댓글쓰기

    그럴땐 '소환 김동수님!! 분해하세요...' 하면 되지 않나요..?

  2. dinosur 2008/11/23 19:52  댓글주소  수정/삭제  댓글쓰기

    그럼 어사님이 한글화 하시면 되죠. ;p

  3. 인게이지 2008/11/23 21:41  댓글주소  수정/삭제  댓글쓰기

    금칙어라고 차단해서 코드를 달아 드릴수가 없네요..ㅡ.ㅡ;;

    • 어떤사람 2008/11/24 02:26  댓글주소  수정/삭제

      삽질은 했을지언정 이미 위에서 쓴 제 방식대로 찾아서 했고...
      거의 올클한 상태라 구태여 다른 코드를 알려주실 필요는 없습니다 ^^

      그래도 일단 감사하다는 말씀은 드리겠습니다.