ETUDE87

LiveMaker 추출 도전기 본문

칼럼/Korean

LiveMaker 추출 도전기

습작(習作, etude87) 2014. 3. 24. 18:40

※ 게임제작 및 한글화와 관련된 내용입니다.


한글화


LiveMaker


추출 도전기


도전 이유


 LiveMaker는 일본의 무료 비주얼 노벨 제작 툴입니다. 아마 과거 포스트(http://etude87.tistory.com/72)에서 한 번 소개한적이 있는 제작툴로 Wolf RPG Editor(이하 울프툴)와 마찬가지의 방법으로 한글출력(http://etude87.tistory.com/115)을 성공했습니다. 한글 출력에 성공했으니 한글화 작품이 나왔으면 좋았으련만, 애석하게도 이후 아무 작품도 한글화 되지 못했습니다.


 사실 이번 한글출력시도는 고봉도봉님(http://blog.naver.com/phillips33)께서 아방스 묻고 답하기 게시판에 문의하신 것이 그 시작이었습니다. 고봉도봉님께서는 리:킨더(Re:Kinder)를 비롯한 파룽(ぱるん)님의 유작을 번역하신 분으로 이번에는 '고테와 핸더'를 번역하고자 하는데 LiveMaker1로 제작되어 한글화가 가능한지 여쭙는 내용이었습니다. 그래서 어찌어찌 해본 결과 한글 출력까지는 성공했습니다만, 정작 중요한 문제는 다른 곳에 있었습니다. 게임의 배포전 프로젝트 파일을 얻을 수 없다는 것이었습니다.


 파룽님은 4년전 투신으로 세상을 떠나신 분이시기에 그간 한글화의 허락은 파룽의 부친께 받으셨고, 작업은 배포이전 프로젝트 파일을 입수할 수 없기에 부득불 배포된 작품을 암호화 해체하는 방식으로 진행하셨습니다. RPG Maker 시리즈의 경우 암호화 해체를 통해 암호화 이전의 프로젝트 파일을 온전히 획득 가능하기에 특별히 별도의 암호화툴을 사용하지 않는 이상 손쉽게 수정이 가능했습니다.


 그런데 이번에는 LiveMaker1로 제작된 작품이다 보니, 전에 없던 문제가 생기게 되었습니다. 제작자로부터 프로젝트 파일을 받지 못하는 상황에서의 한글화 시도이다 보니 한글출력을 성공한다 하더라도 수정이 불가능 한 것입니다.


 그래서 결국 '고테와 핸더'는 대사집으로만 나오게 되었습니다. 한글화 되지 못한채로 대사집 형태로만 나오는 것은 상당히 안타까운 일이라 생각했고, 그간 사실 LiveMaker 작품에서 프로젝트 파일을 추출할 수 있는지 알아보았습니다.


arc_conv


 우선 시도해 본 것은 arc_conv라는 프로그램입니다. w8m라는 러시아인에 의해서 개발된 프로그램으로 비주얼 노벨 제작툴인 LiveMaker 특성상 미소녀 연애 시뮬레이션(이하 미연시) 등을 제작하는데 용이하다보니 그 쪽 커뮤니티에서는 상당히 유명하다고 합니다. 사실상 정보를 얻은 것도 일본 2ch에서 미소녀 연애 시뮬레이션 게임에서 그래픽 소재 추출하는 방법을 논하는 게시물이었지요.


 시도해본 결과 find_common.exe과 find_anime.exe로 LiveMaker 내부의 이미지 파일이나 영상 파일의 추출은 쉽게 되었습니다만, 정작 필요한 프로젝트 파일들을 arc_conv.exe로 꺼내는 것에는 실패했습니다. 생각해보자면 해당 커뮤니티의 목적은 충실히 달성해냈다고 볼 수 있겠습니다만, 이쪽은 추출 목적이 프로젝트의 수정이었기 때문에 완벽한 실패였습니다.


  * arc_conv : http://honyaku-subs.ru/forums/viewtopic.php?f=17&t=470


exvff, exe2vff


 두번째로 시도해 본 것은 exvff와 exe2vff를 사용한 LiveMaker 작품의 해체입니다. exe2vff를 사용해서 game.exe파일에서 game.dat을 추출해 내고, exvff를 사용해서 game.dat을 풀어내는 방식입니다. 시도는 성공했고, 내부 파일은 모두 드러났습니다만, 문제가 생겼습니다. novel.prj 파일을 비롯한 프로젝트 파일이 존재하지 않은 것은 물론이고, 내부 파일마저, 확장자가 *.lsc가 아닌 *.lsb로 되어 에디터에서 해당 해체된 파일들을 읽어올 수단이 없었습니다. RPG Maker 시리즈와는 달리 배포 과정에서 xml 형식으로 작성되었다는 프로젝트 파일에 맞게 파일이 변환되어버리기 때문에 게임을 해체한다 한들 수정이 불가능 한 것이었습니다.


 혹시나 하는 마음에 새로이 프로젝트 작성 후 위에 해체된 파일을 확장자를 수정해 부어보긴 했습니다만, 역시나 핵심되는 프로젝트 파일이 없기에 아무런 의미 없는 시도였습니다. 다시 생각해보자면 이번 역시 해당 커뮤니티의 목적은 충실히 달성해냈다고 볼 수 있겠습니다만, 이쪽은 뼈아픈 2연패의 기록이었습니다.


  * exvff : http://asmodean.reverse.net/pages/exvff.html

  * exe2vff : http://www16.atpages.jp/rayna/exe2vff/


irl - LiveMaker3 Game Translation Toolkit



 LiveMaker의 작품 번역에 대해서 관심이 있던 것은 비단 저만은 아니었고, 검색을 하다보니 2013년에 LiveMaker3로 제작된 게임의 번역 도구와 관련해서 Kickstarter 모금이 성공한 것을 찾을 수 있었습니다. 진행중인 작업물과 관련해서는 Bitbucket로 링크를 걸어두기도 했더군요. '고테와 핸더'는 LiveMaker1로 제작된 작품이기에 해당사항은 아니었습니다만, 혹여나 과거 버전에 대해서 지원을 해줄지도 모르므로 한번 살펴보았습니다만, 역시 아직은 아직은 작업 중이라 이걸로 뭘 할 수 있는 상태는 아니었습니다.


  * LiveMaker3 Game Translation Toolkit Kickstarter Page : https://www.kickstarter.com/projects/1954411621/livemaker3-game-translation-toolkit

  * irl Source Page : https://bitbucket.org/tinfoil/irl


  추가 : 2014년 3월 11자 제작자의 블로그 포스트(https://tindabox.net/blog/2014/03/11/a-whole-new-world/)에 따르면 프로젝트는 취소되었고 기부받은 돈은 환불한다고 합니다. 생각해보니 이 포스트 작성하기 10여일 전에 발표된 내용인데다가 실질적으로 시도하기 시작한 시기보단 뒤에 나온 발표네요. 참, 타이밍도….


crass (2014.08.11. 추가)



  LiveMaker를 crass라는 이름의 범용 추출툴로 가능하다는 이야기(http://www.hongfire.com/forum/archive/index.php/t-8143-p-6.html)에 한번 찾아보게 되었습니다. 조금 찾아보니 해외의 비주얼 노벨 번역 위키(http://tlwiki.org/index.php?title=Tools)에도 소개되어 있는 녀석으로 제작자의 블로그(http://galcrass.blog124.fc2blog.us/)는 찾았는데 툴 자체의 배포 링크는 모두 잘린 상태이더군요. 0.4.14.0 버전이 가장 최신 버전인데 다행히도 국내의 추출 관련 내용을 포스트하는 블로그(http://luciel04.tistory.com/10)에서 해당 툴을 찾을 수 있었습니다.


   기쁜 마음에 당장 테스트 하려고 보니 추출이 불가능 하다는 소리에 이게 뭔가 싶어 최초의 쓰레드를 다시 읽어보니 LiveMaker.cui를 cui 폴더에 넣어야 한다는 이야기가 뙇! 명탐정 구글에 문의하니 LiveMaker.cui파일(http://www.sendspace.com/file/0103l3)도 손쉽게 구할 수 있었습니다.


  CrageGUI로 언팩을 해본 결과 exvff와 exe2vff로 추출을 했을 때와 마찬가지로 *.lsb 파일들만 빵끗하는 터라 일단 실패. JCrage의 Extract Original 기능을 사용하고자 시도해 보았으나, 이쪽은 정상 작동이 되지 않아 마찬가지로 실패했습니다. '이번글은 이렇게 마칩니다.'라고 쓴뒤 5개월만의 재도전인데 역시나 실패로 돌아가네요. 소재 추출이 문제가 아니라 디컴파일을 통해 원본 프로젝트 파일의 복원이 중요하다보니 어렵네요.


  * crass official blog : http://galcrass.blog124.fc2blog.us/

  * 범용 분해툴, Crass 사용법. : http://luciel04.tistory.com/10

  * LiveMaker.cui file : http://www.sendspace.com/file/0103l3


roxfan's python script (2014.08.18. 추가)



  novelnews라는 포럼에서 roxfan이라는 유저가 Anyone familiar with Live Maker engine?라는 질문 게시물(http://forums.novelnews.net/showthread.php?t=23272)에 올린 python 스크립트를 사용해 보았습니다. 무리 없이 프로젝트 자체이 언팩이 되었으나 풀려나온 *.lsb 파일을 *.lsc 파일로 변환하는 것은 성공하는 듯 하였으나 일괄 22kb의 똥으로 변하는 것이 실패한 것 같습니다. *.txt 파일로 변환하는 것은 상당히 흥미로운데 이렇게 변환하면 일단 해당 파일을 통해서 이벤트를 읽어볼 수 있습니다. 여기서 읽는 다는 것은 프로젝트를 LiveMaker로 읽어 들인다는 것이 아니라 문자 그대로 텍스트를 눈으로 읽는 다는 뜻입니다. 풀어해친 그래픽 및 사운드 소재가 엔진에서 무리없이 등록된다면 그걸 보고 어떻게든 따라 제작할 수도 있지 않을까 하는 생각이 들기도 했습니다만, 게임 하나 한글화 하려고 게임을 하나 카피해서 제작하는 것은 다소 무리수가 아닌가 싶어 보류했습니다.


  * Anyone familiar with Live Maker engine? : http://forums.novelnews.net/showthread.php?t=23272


Tools for unpacking Livemaker 3 games


  본 포스팅에 Au님께서 제보해주신 LiveMaker3 언패킹 툴입니다.(그런데 '고테와 핸더'는 LiveMaker1이잖아? 안될꺼야 아마….) Princess Sacrifice라는 미소녀 게임의 영문화 작업 페이지에 툴의 링크가 걸려있다고 합니다. 저는 차후에 다른 버전에도 무리없이 적용되는지 테스트 해보도록 하겠습니다. 관심있으신 분은 아래 링크를 참고하세요.


* SDT-Guru : http://pastebin.com/fVtKQ2K1

마치며


 결과적으로 이번 추출 도전기는 실패입니다. 사실 실패이기에 이렇게 공개해 이야기 할 수도 있는 것이긴 합니다. 권장할 것은 아닙니다만, 이번에는 공식 허가된 번역 과정에서 필요했던 것이라 부득불 한 번 알아보았습니다만, 지식과 능력이 짧아 이 이상의 진행은 하지 못했습니다. 혹시 해당 부분에 관련해서 해결책을 아시는 분이라면 고봉도봉님께 도움을 주시면 좋겠네요. 이번글은 이렇게 마칩니다.

25 Comments
  • 프로필사진 대장금 2014.04.16 08:09 아니 이렇게 은혜로운 글이 있을 수가..
    감사합니다.. 한 줅기 희망을 본 느낌이네요..
    livemaker 엔진에서 BGM을 추출하고팠는데 방법을 몰라
    보류만 하고 있었거든요... 감사합니다!!!
    소개된 프로그램 중에 bgm 추출이 가능한 게 있겠죠???
  • 프로필사진 습작(習作, etude87) 2014.04.16 10:04 신고 아마도 exvff, exe2vff라면 가능하지 않나 싶네요.
  • 프로필사진 LDSTD 2014.04.19 19:05 디컴파일류에 관심이 많다보니 게임 제작 엔진마다 한번씩은 디컴파일 시도를 해본적이 있는데....
    제 기억이 맞다면 예전에 Livemaker도 디컴파일에 성공했던적이 있는것 같습니다.
    헌데 어떻게 했는지 도통 기억이.......
    도움이 못되서 죄송합니다 ㅠ. 근데 분명 구글링으로 어떻게든 찾았던거같아요.
  • 프로필사진 습작(習作, etude87) 2014.04.19 23:58 신고 그렇군요. 댓글 감사합니다. :)
  • 프로필사진 지나가던 사람 2014.12.25 02:54 안녕하세요 일단 블로그의 좋은 정보에 대해 고맙단 말을 드립니다.

    다른게 아니고 crass를 이용해서 script.dat을 분해해서

    10개 정도의 bin 파일을 얻었습니다

    근데 수정된 10개의 bin파일을 (뭐 주인공 이름이 ABCD 였는데 DDDD로 바꿨다든지)

    다시 script.dat으로 돌리려는데 어떤 방식으로 돌려 놔야 될까요?

  • 프로필사진 습작(習作, etude87) 2014.12.25 20:33 신고 글쎄요. 해당 도구들이 죄다 언팩 추출툴들인 탓에 리팩에 대한 고려가 되어있을지 모르겠네요. 해당 부분에 대해서 도움드리지 못해 죄송합니다.(;;)
  • 프로필사진 지나가던 사람 2014.12.25 02:55 LiveMaker로 만든 게임은 아닙니다
  • 프로필사진 지나가던 사람 2014.12.26 16:51 음 나름대로 더 찾아 봐야겠네요.

    꼭 livemaker 한글화에 성공하시길 바라겠습니다. ^^
  • 프로필사진 습작(習作, etude87) 2014.12.26 19:11 신고 아무쪼록 좋은 성과 있으시길 바랄게요. :)
  • 프로필사진 Au 2015.10.14 17:20 https://sstmlt.net/thread-70411-1-1.html
    14년 6월에 작성된 글이네요. 중국어를 못 하고 번역기로는 문장을 제대로 해석할 수가 없어저 자세한 내용 파악은 안 되지만 exevff와 다른 툴들을 이용해서 해체하는 방법인 듯합니다. 혹시 도움이 될까 해서 올려봅니다.
  • 프로필사진 Au 2015.10.14 21:40 아...링크를 쭉 따라해 보니 이것도 그냥 이미지를 추출하는 것 같네요...
    그런데 저는 exvff를 시도해 보니 응용프로그램을 제대로 시작하지 못했다고(0xc000007b) 뜨는데 뭔가 더 필요한 게 있는 건가요?
  • 프로필사진 습작(習作, etude87) 2015.10.15 13:37 신고 글쎄요, 저도 잠시 만져보기만 한 터라 해당 경우에 대해서는 잘 모르겠네요. 도움이 되어드리지 못해 죄송합니다. ;ㅅ;
  • 프로필사진 Au 2015.10.22 23:45 livemaker3 언팩 및 디셈블/어셈블 툴을 발견했습니다. 모 19금 게임을 로컬라이즈하는 과정에서 나왔네요. 역시 에로를 향한 인간의 열망은 대단한 것 같습니다. xml 파일로 추출되고 내용물을 볼 수 있는 것까지 확인했습니다.
    http://www.ulmf.org/bbs/showpost.php?p=622337&postcount=430

    이건 반쯤 희망사항입니다만 livemaker산 게임 자체를 한글 유니코드에서 돌아가게 만들 방법은 없을까요? 동일하게 일본 유니코드에서만 돌아가던 울프툴의 경우 현재 한글 유니코드에서도 돌아가도록 수정된 버전이 돌아다니고 있는 걸로 압니다만...제가 프로그래밍 지식이 없어서 모르겠는데 xml 파일 최상단의 인코딩을 shift-jis에서 utf-8로 바꿔주고 소재폴더/파일과 변수 등을 전부 영문으로 바꾸면 가능할까요? 무턱대고 시도해 보기에는 일단 모든 파일을 일괄적으로 수정해야 시험이 가능할 것 같아서 엄두가 안 나네요.
  • 프로필사진 습작(習作, etude87) 2015.10.23 12:48 신고 ㅎㅁㅎ 저 역시 거기까지 능력이 안되는 고로, 다른 능력자분들의 자비를 구할 수 밖에 없네요. ;ㅅ;
    LiveMaker의 한윈 구동은 굳이 역자나 제작자 외에도 관심있을만한 부분이니 플레이 관련 커뮤니티 등지에서 능력자분들을 알아보는 것도 괜찮을 것 같네요.
  • 프로필사진 ㅎㅎㅎ 2015.10.24 13:45 라이브메이커 유니코드 변경 안하고 돌리는 방법 있습니다

    대신 넬타 같은 걸 써야 되지만 귀찮게 바꾸지만 않는것만 해도 큰 발전이죠

    구글에서 livemaker 폰트 라고 검색하고

    맨위에 나오는 게시물 보면 해결방법 나와 있으니 한번 봐보시는게 어떨까 하네요
  • 프로필사진 Au 2015.10.26 15:48 제가 생각한 건 그런 부가 프로그램 없이 단독으로 돌아가게 하는 거라 조금 다르네요. 그래도 알려주셔서 감사합니다.
  • 프로필사진 ㅁㅁㅁ 2016.11.14 17:35 제가 포스팅 하신대로 라이브메이커 게임을 맨 마지막 방법을 이용해서 다 언팩하고 디스어셈블링 한 담에 ETL을 이용해서 한글로 게임을 번역해보기를 도전중인데요

    문제는 언팩후 디스어셈블링한 xml 파일에서 대사를 ETL로 바뀐 한자로 바꿔치기 했을때

    다의 한자인 弴가 들어가면

    다시 lcb파일로 어셈블링할때 오류가 나는데요

    UnicodeEncodeError : 'shift_jis' codec can't encode character u'\ufffd' is position 19 : illegal multibyte sequence

    라고요

    그래서 그런데 올려주신 폰트에서 다에 지정된 한자 弴를 다른 남는 한자로 바꾸면 해결 될거 같은데 어떻게 바꿀 방법이 있을까요?
  • 프로필사진 습작(習作, etude87) 2016.11.14 19:10 신고 ETL과 ETW의 문자배열은 수정 가능도록 공개되었습니다. 해당 부분은 폰트 수정(폰트제작 프로그램을 사용하세요.)하시고 ETL의 문자열배열을 그에 맞게 수정하시면 될듯 합니다. 아래 링크를 참고하세요.

    http://eternalworld.tistory.com/447
  • 프로필사진 ㅁㅁㅁ 2016.11.14 17:42 그리고 제가 번역 연습하는 게임이 좀 오래전 겜이라 livemaker1이나 2로 만들어 졌을거 같은데 1이나 2로 만들어 진건지 아닌지 알아 보는 방법도 없을까요? 만약 1로 만들어 진거라면 번역 하시려던 게임을 번역하실수 있을거 같아서요
  • 프로필사진 습작(習作, etude87) 2016.11.14 19:14 신고 1인지 2인지 확인하는 법에 대해서는 저도 잘 모르겠습니다. 저도 관심가졌던 부분 외엔 Livemaker에 대해 그다지 잘 아는 편은 아닌지라 도움이 되어드리지 못해 죄송합니다.

    작업에 순풍이 불길 바랍니다. :)
  • 프로필사진 ㅁㅁㅁ 2016.11.16 19:12 네 알려주신데로 한번 해봐야 겠네요 알려주셔서 고맙습니다 ^^
  • 프로필사진 hu 2017.03.08 00:14 안녕하세요. 혹시 아직 질문에 응답해 주시나요?
    제가 추출을 exvff 로 했습니다만 성공적으로 된것 같기는 한데 이미지? 동영상? 파일들의 확장자가 .gal 이네요...
    인터넷에 아무리 검색해도 여는방법이나 변환방법 같은게 안보이는데 혹시 아시나요?
  • 프로필사진 습작(習作, etude87) 2017.03.08 07:22 신고 저도 오래되어 잘은 기억나지 않습니다만, 라이브메이커는 별도의 이미지 및 동영상 제작 프로그램이 있는 것으로 알고 있습니다. 라이브메이커와 함께 설칟히던 것으로 기억하는데 해당 프로그램으로 제작된 소스파일이 아닐까 짐작해봅니다.
  • 프로필사진 ㅇㅅㅇ 2019.07.25 04:33 음... 이상하게 이 티스토리의 글들은 전부 본문은 안보이고 댓글만 보이네요... ㄷㄷ
  • 프로필사진 습작(習作, etude87) 2019.07.26 15:22 신고 블로그에 구글 광고가 적용되어 있어서 광고 차단 기능에 같이 차단되어 종종 같은 문의가 들어오곤하네요.
댓글쓰기 폼