|
|
영원한 육성시뮬레이션의 고전명작 프린세스메이커2.
어느날인가 무심코 pm2 한글판의 파일 하나를 열어 봤다. lbx파일 안에 압축되어 있는 test.txt였던가 하는 파일이었는데..
나는 그만 깜짝 놀라고 말았다.
이게 바로 그 test.txt 파일이다. 한번 보시라.
척 봐도 뭔가 프로그램 코드같이 생기지 않았는가?
마치 게임 내의 상황들을 제어하는 프로그램같이 생겼다. 딸의 파라미터나 각종 주변상황을 나타내는 듯한 변수명들 하며..
그렇다면, 다른 txt 형식의 파일을 열면 게임의 각종 조건 등 모든 정보를 죄다 알아낼 수 있지 않을까?
이런 생각에 나는 다른 txt파일을 열어 봤지만, 알아들을 수 없는 헥사코드의 나열만이 있을 뿐이었다.
그런데 pm2 일어판 test.txt파일을 열어 봤더니 이 파일은 다른 txt파일과 마찬가지로 해석이 불가능한 이진파일이 아니던가.
그리고 코드의 내용을 자세히 보건대, test.txt 파일의 내용은 한글판에서 삭제된 비밀상점에 대한 내용이었다.
그래서 나는 생각했다. 어쩌면 txt파일의 원형은 저런 코드이고, 이진코드로 된 txt 파일은 저 원형이 모종의 방법으로 암호화된 결과일지도 모른다.
그렇다면 pm2가 기동되는 도중 메모리 안에선, txt파일이 암호화가 풀린 채로 존재하는 건 아닐까?
생각 끝에 나는 게임 중에 등장하는 대사 두 글자의 조합형 코드를 가지고, 이 코드가 어디 있는지를 메모리 추적 프로그램 티서치를 이용하여 찾아보았다.
과연 내 생각대로 게임의 대사 일부가 메모리 어딘가에 텍스트 형태로 존재하고 있었다.
고무된 나는 그 아마도 근처에 존재할 프로그램 코드를 송두리째 긁어오기 위해 해당되는 주소 주위의 메모리를 적당한 크기를 잡아 하드에 덤프시켰다. (티서치의 기능 중 일정 범위의 메모리를 통째로 긁어 이진파일로 저장하는 기능이 있다.)
그리고 그 파일을, 조합형 한글을 읽는 것이 가능한 이지패드로 열었더니...

과연 코드로 보이는 것들이 나타났다.
그런데, 코드 주위에 지저분한 이진코드들이 아직 여전히 남아 있었다.
암호화가 풀리다 만 걸까?
이 부분을 처리하기 위해 몇 번 삽질 끝에, 스크립트에 해당하는 이벤트가 일어나기 바로 직전에 코드가 가장 온전한 형태로 드러났다가 이벤트가 진행됨에 따라 다시 해독할 수 없는 형태로 바뀐다는 것을 알아냈다.
그래서 각각의 이벤트에 해당하는 부분을 알아내기 위해, 이벤트가 발생될 조건을 만들어놓고 발생이 시작되는 순간 게임을 멈춰(도스박스라 가능) 메모리를 덤프시켜 해당 이벤트를 일으키는 비교적 온전한 코드를 알아내는 데 성공했다.


이런 작업을 반복하여, 프린세스메이커2의 거의 대부분의 발생 정보를 알아낼 수 있었다.
몇 가지 기능을 완전히 알지 못하는 변수나 함수가 있지만 어느 정도 짐작은 가능하다.
초기정보
아이템정보
육성정보
마을화면 정보
이벤트정보
수확제정보
전투 적 정보
엔딩정보
흔히들 고전일수록 미화가 된다고 한다. 예전의 게임 환경이 아무래도 요즘만 못하기 때문에, 고전명작으로 불리는 게임에 대해서 더 열악한 환경에서 그만한 작품이 나왔으니 명작이지 사실 요새 기준으로는 그다지 명작이 아니라는 견해도 많다.
그렇다면 프린세스메이커2는, 그러한 고전에의 미화나 평의 장점을 모두 제하더라도 충분히 명작 중의 명작으로 불릴 수 있는 게임이라고 생각한다. 그렇기에 아직도 프린세스메이커2에 대한 정보를 찾는 글을 많이 볼 수 있다.
이 분석 결과가 많은 궁금증을 해소할 수 있으리라 생각한다.
어느날인가 무심코 pm2 한글판의 파일 하나를 열어 봤다. lbx파일 안에 압축되어 있는 test.txt였던가 하는 파일이었는데..
나는 그만 깜짝 놀라고 말았다.
이게 바로 그 test.txt 파일이다. 한번 보시라.
척 봐도 뭔가 프로그램 코드같이 생기지 않았는가?
마치 게임 내의 상황들을 제어하는 프로그램같이 생겼다. 딸의 파라미터나 각종 주변상황을 나타내는 듯한 변수명들 하며..
그렇다면, 다른 txt 형식의 파일을 열면 게임의 각종 조건 등 모든 정보를 죄다 알아낼 수 있지 않을까?
이런 생각에 나는 다른 txt파일을 열어 봤지만, 알아들을 수 없는 헥사코드의 나열만이 있을 뿐이었다.
그런데 pm2 일어판 test.txt파일을 열어 봤더니 이 파일은 다른 txt파일과 마찬가지로 해석이 불가능한 이진파일이 아니던가.
그리고 코드의 내용을 자세히 보건대, test.txt 파일의 내용은 한글판에서 삭제된 비밀상점에 대한 내용이었다.
그래서 나는 생각했다. 어쩌면 txt파일의 원형은 저런 코드이고, 이진코드로 된 txt 파일은 저 원형이 모종의 방법으로 암호화된 결과일지도 모른다.
그렇다면 pm2가 기동되는 도중 메모리 안에선, txt파일이 암호화가 풀린 채로 존재하는 건 아닐까?
생각 끝에 나는 게임 중에 등장하는 대사 두 글자의 조합형 코드를 가지고, 이 코드가 어디 있는지를 메모리 추적 프로그램 티서치를 이용하여 찾아보았다.
과연 내 생각대로 게임의 대사 일부가 메모리 어딘가에 텍스트 형태로 존재하고 있었다.
고무된 나는 그 아마도 근처에 존재할 프로그램 코드를 송두리째 긁어오기 위해 해당되는 주소 주위의 메모리를 적당한 크기를 잡아 하드에 덤프시켰다. (티서치의 기능 중 일정 범위의 메모리를 통째로 긁어 이진파일로 저장하는 기능이 있다.)
그리고 그 파일을, 조합형 한글을 읽는 것이 가능한 이지패드로 열었더니...

과연 코드로 보이는 것들이 나타났다.
그런데, 코드 주위에 지저분한 이진코드들이 아직 여전히 남아 있었다.
암호화가 풀리다 만 걸까?
이 부분을 처리하기 위해 몇 번 삽질 끝에, 스크립트에 해당하는 이벤트가 일어나기 바로 직전에 코드가 가장 온전한 형태로 드러났다가 이벤트가 진행됨에 따라 다시 해독할 수 없는 형태로 바뀐다는 것을 알아냈다.
그래서 각각의 이벤트에 해당하는 부분을 알아내기 위해, 이벤트가 발생될 조건을 만들어놓고 발생이 시작되는 순간 게임을 멈춰(도스박스라 가능) 메모리를 덤프시켜 해당 이벤트를 일으키는 비교적 온전한 코드를 알아내는 데 성공했다.

조건에 따라 발생시킬 이벤트를 검사하는 부분

이벤트의 내용. 엉큼한 드래곤과의 대화부분이다.
딸의 파라미터에 따라 대화내용이 달라진다.
딸의 파라미터에 따라 대화내용이 달라진다.
이런 작업을 반복하여, 프린세스메이커2의 거의 대부분의 발생 정보를 알아낼 수 있었다.
몇 가지 기능을 완전히 알지 못하는 변수나 함수가 있지만 어느 정도 짐작은 가능하다.
초기정보
아이템정보
육성정보
마을화면 정보
이벤트정보
수확제정보
전투 적 정보
엔딩정보
흔히들 고전일수록 미화가 된다고 한다. 예전의 게임 환경이 아무래도 요즘만 못하기 때문에, 고전명작으로 불리는 게임에 대해서 더 열악한 환경에서 그만한 작품이 나왔으니 명작이지 사실 요새 기준으로는 그다지 명작이 아니라는 견해도 많다.
그렇다면 프린세스메이커2는, 그러한 고전에의 미화나 평의 장점을 모두 제하더라도 충분히 명작 중의 명작으로 불릴 수 있는 게임이라고 생각한다. 그렇기에 아직도 프린세스메이커2에 대한 정보를 찾는 글을 많이 볼 수 있다.
이 분석 결과가 많은 궁금증을 해소할 수 있으리라 생각한다.
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- 이클립스와 패키지 파일 간의 파일 로드 시 경로문제 해결하기 by greenfrog
- [리눅스 깡2] 주로쓰는 리눅스 명령어 by S2nNAMU
# by | 2007/12/07 20:15 | 잡지식 | 트랙백(1) | 핑백(1) | 덧글(32)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 프메2 완전분석!
프린세스메이커2 쓸데없는 분석기-0-)프메 내의 파일을 상세히 분석하시어각종 상세 조건을 알아 내신 카나코님께감사의 말씀을.. ---)___)정말 대단하십니다프메 2에 대해 다시 알고 싶으신 분은링크를 따라가 보세요.....more
... 나지를 않은데다가 제가 가지고 있던 자료도 없어서 아쉽던 차에 어딘가 다른 컴퓨터에 쳐박혀 있던 자료들을 찾아내었습니다. 이에 자료들을 복구했음을 알려드립니다. 프린세스메이커2 쓸데없는 분석기 이상은 제 이글루에서 히트수가 가장 많은 편인 포스팅에 대한 공지였습니다. :) ... more
저는 프린세스 메이커 2에서 에디터 안 쓰면 농장 취직 엔딩밖에 안 나와서 절망한 적이 있습니다.
랜덤여신 / 엔딩 자료를 보시고 재도전하시는건 어떨지요? :)
저도 언젠가 메모리 분석을 해볼까 생각을 했는데 직접 이런글을 보게되다니 정말 기쁘네요.
좋은정보 감사히 잘 읽고갑니다 ^^
덧. 근데 저 언어는 무엇인가요? 혹시 아신다면 답변좀.. 알골계의 언어인거같은데 생소하네요 @_@
제가 한글화팀과 개인적으로 접촉할 수 있는 루트가 있는데 그쪽에 문의해서 물어볼까 하는 생각도 했었지만 귀찮아서 포기했습니다. ㅎ
혹시 가능하시다면 프린세스 메이커의 대사를 어떻게 하면 바꿀수 있는지 가르쳐주실수 있을까요? 가이낙스 게임 분해 유틸인 lbxdiv라던지 pt1파일을 분해하는 유틸은 가지고 있지만 XP라서 그런지 잘 작동이 안되는 군요. 그리고 그렇게 파일을 분해해도 글을 실제로 바꿀수 있으려면 또다른게 필요한듯 싶습니다.
pm2 시리즈에 그림을 바꾼다던가 이벤트를 만든다던가.... 왠지 우습지만 pm2대사한번 바꿔보는게 소원입니다~ 어떻게 안될까요 ㅜㅜ
PT1 그림파일 형식에 대해서도 아직 잘 모르고요.
그런데 제 컴퓨터에는 카나코님께서 올리신 자료가 보이지 않네요.
최근 초등학교 때 사촌형 집에 놀러가서 하던 프린세스 메이커가 생각나서 플레이하고 있는데
카나코님께서 올리신 자료가 무척 도움이 될 거 같네요. 좀 다시 올려 주시거나 여기로 marurago@naver.com
보내 주시면 안 될까요?
자료는 다른 PC에 있어서요. 계속 서버가 죽어있으면 링크를 수정하겠습니다.
찾아주셔서 감사합니다.
저는 평소 회사 컴퓨터를 쓰고 있기 때문에 요청하시는 자료들이 당장 없는게 많습니다.
언제 찾아서 보내드리도록 하겠습니다.
서버 관리하는 건 동아리 후배들인데 한소리라도 해야겠습니다.
찾고 계시는 것이 있으면 제가 가진 것이 있는지 살펴보겠습니다.