2011-01-17 오전 11:30:59 Hit. 2488
에디트PKG만드는 법을 알려달라는 리플이 좀있어서 끄적여 봅니다.
구체적으로 pkg를 만드는 튜토리얼은 아니고
원리랄까 뭐그런거 살짝에 대부분 잡담성이야기라고 볼수 있습니다. ㅋ
파판13의 경우에는 에디트하는 파일은 EBOOT.BIN파일로
이파일을 unself하면 EBOOT.ELF가 되지요
ELF파일은 윈도우의 exe파일처럼 플삼에서의 실행파일확장자라고 합니다.
제가 올린 파판13의 패치pkg 설명이전에
우선 커펌 실행용 pkg에 대해서 설명을 간략히 하자면..
요즘 알려진 커펌용으로 수정된 pkg는 pkg를 깔고 하드의 특정한 위치에 게임을 복사해 넣으면
XMB에 게임아이콘이 직접 생성되어서 동글이나 정품 디스크 없이도 게임이 실행되게 하는 것인데.
기본적인 원리는.. eboot.bin 즉 게임의 실행파일을 수정하는데..
원래 이게임이 디스크로 구동되는 것이 아니라 하드에서 직접구동되는 것이다라고 바꿔주고(DG→HG)
이게임의 데이터가 들어 있는 경로가 기본적으로 블루레이디스크의 게임폴더(dev_bdvd/########/USRDIR)
로 되어 있는 것을 하드의 경로로 바꾼것이죠.
이와 마찬가지로 제 에딧 PKG는
게임자체는 디스크에서 구동되는 것이 그대로인데.. 디스크게임패치(DISKGAMEPATCH)항목을 추가하여
본게임이 아니라 패치라고 수정한것 뿐이죠. 경로는 그대로 디스크를 그대로 한것입니다.
물론 HP라던가 CP라던가 돈부분을 에딧한것이구요
즉 제 패치를 디스크게임패치라는 부분을 빼버리고 DG를 HG로 바꾸고 경로를 하드로 수정해주고 패키징을 하면
에디트가 적용된.. 커펌용 실행파일로 됩니다.
기본적인 패키지파일 만드는 것은 yh972516님이 자세하게 튜토리얼을 적어주셨습니다
(http://www.finalfantasia.com/board/board.php?bo_table=psbbs&page=13&wr_id=63223)
문제는 저 pkg파일 만드는게 아니라
HP나 CP등을 에디트하는 부분이 문제인데..
이방법은 실행파일을 직접 수정하는 것이라서 리버스 엔지니어링이란 기술이 필요하죠.
예를 들어 돈을 맥스로 늘려주는 것은 ..실행파일 내부에서 돌아가는게
물건을 사면 데이터에 지정된 물건의 가격만큼 플레이어가 가진 돈에서 깎이고 인벤토리에 물건이 하나 생긴다
반대로 물건을 팔면 인벤토리에서는 사라지고 되팔때의 가격만큼의 돈이 늘어난다 라는 식으로 된것의
로직을 바꿔서
물건을 사면 주인공의 돈을 999999999원으로 바꾼다 물건을 팔면 주인공의 돈을 999999999로 한다 라고 해버린것입니다.
이런 로직을 찾고 변경하기 위해서는 C나 어셈블리어 구현능력과 리버스엔지니어링 기술을 익히고 있어야 하는거죠..
뭐 저도 어셈블리어난 리버스엔지니어링쪽은 전혀 아는 바가 없으니..
아무 게임이나 에딧을 할수 있는게 아니라. 다른 능력자가 리버스엔지니어링을 통해서 저런 로직을 수정하기위한
HEX코드 주소와 내용을 공개하면 그것을 가지고 수정하고 패키징한것에 불과한것입니다.
또 문제는.. 제가 직접 리버스엔지니어링을 할줄 모르니.. 대부분 공개되는 hex의 경우 유럽이나 북미버전의 eboot를 기준으로 되어 있는데.. 지역별로 eboot파일 내부 구조가 같으면 상관없지만.
아시아판만 구조가 다르다거나 이러면 헥스가 공개되어 있어도 저로서는 패치만드는것이 불가능합니다.
그예가... 데몬스소울이 북미판은 에디트된 pkg파일이 공개되었고 수정hex 수치도 공개되었지만
한글판의 경우에는 eboot파일이 달라서 그대로 hex를 수정하면 먹통이 되어버리죠.
뭐 별것아닌 작업을(중요한것은 이미 다 해외에서 능력자들이 한것을) 그냥 패키징만 한것뿐인데.
뭔가 과도한 기대를 가지시는 것같은 기분도 들어서.. 뭐 기쁘기는 하지만 꽤 부끄럽기도 합니다.
어제 글 쓴것처럼 스타오션을 가지고 끄적거리는데 스타오션도 HEX가 공개되어 있어서 시도는 해볼수 있는거죠
뭐 제가 직접 에딧하는 내용부분을 찾은게 아니라서.. 뭐 다른 게임도 가능하냐고 물으신다면
저로서는.. hex가 공개되기 전까지는 어렵습니다.. 라고 밖에 못합니다..
불량게시글신고
·댓글