Vx ace에서 게임 배포 압축파일이 있지 않습니까?(아이콘은 하늘색 보석?모양)
이 파일을 모바일에서 실행해서 압축해제를 하고싶은데...
혹시 방법이 있으면 부탁드립니다!
■ 질문전 필독!
- 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
- 하나의 게시물에는 하나의 질문만 합니다.
- 제목은 질문의 핵심 내용으로 작성합니다.
- 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
- 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
- 답변받은 게시물은 삭제하지 않습니다.
- 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
- 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!
※ 미준수시 사전경고 없이 게시물을 삭제합니다.
최악의 난이도입니다.
일단 설치 파일에서 Cabinet 파일을 추출하는 코드를 작성해야 합니다. 그리고 압축을 해제해야 하는데요.
문제는 ZIP가 아니라 MS 전용 CAB 압축이라 안드로이드에서는 이를 해제할 수 있는 라이브러리가 없습니다.
CAB 파일은 조사해본 바로는 DEFLATE, Quantum compression, LZX 방식 중 하나로 압축되며 DEFLATE의 경우, 내장된 Zlib로 해제가 가능하지만 파일 구조를 해석해야 하기 때문에 이것도 어렵습니다.
리눅스 등에서는 cabextract 등을 설치하면 해제할 수 있다고 하는데요. 이걸 쓰려면 안드로이드에서는 루트 권한이 있어야 합니다.
https://www.cabextract.org.uk/libmspack/
https://www.cabextract.org.uk/
다른 방법은 위에서 C로 작성된 소스를 받아서 SWIG를 이용하여 직접 공유 라이브러리를 만들면 네코 플레이어에서 돌릴 수 있을 지도 모릅니다. 아니면 아래 루비젬을 조금 개조하는 방법도 있습니다. 아니면 C에서 루비로 모든 코드를 포팅해야 할 겁니다.
https://github.com/davispuh/ruby-libmspack
네코 플레이어에는 Net::Http 모듈이 있기 때문에 윈도우즈에서 돌아가는 서버를 구축해서 서버로 전송하고, 서버에서 압축 해제 작업을 한 후, 압축이 해제된 데이터를 다시 재전송하는 방법이 더 쉬울 수 있습니다. 하지만 서버가 항상 돌아가고 있어야 하므로 가정집에서 이걸 하기엔 무리인 듯 합니다.
정리하자면 불가능은 아니지만 인터넷에 관련 예제가 전혀 없기 때문에 대부분 직접 알아내야 합니다. 따라서 시간만 헛되이 날릴 수 있습니다.
설치 인스톨러가 아니라, 압축을 해제하고 ZIP로 다시 압축하면, RubyZip 라이브러리를 내장해서 해제가 가능할 수도 있습니다.
그러나 이것도 해본 사람이 없습니다.
현재로써는 서버 연동이 가장 쉬운 방법이네요.