• 【MineBBS社区发展意见征集】

    欢迎参与MineBBS社区调查,助力打造更好Minecraft社区!完成问卷可获赠200金粒,优质回答可额外获得200金粒(限5名),快来参与吧!【点击参与】

教程 从Minecraft Store中导出你已经购买并缓存的资源!(for Android)

EZA Poloter

无聊的看客

正式会员
注册
2020/07/02
消息
97
金粒
4,942金粒
『警告:这不是白嫖MCStore付费资源贴!伸手党勿入!』
_________________________________
事情是这样的:
发小看见我在MCstore上下了不少地图,就想让我把手机给过去让他玩玩。我问:你怎么不用你自己的手机玩呢?他答:我没有账号,玩不了MCStore里的资源。我当时有些气愤:我好不容易放个假,你自己玩你自己的(手机)去,这个(我的手机)不能给你。然后他就一脸不情愿地走开了。

后来过了两天,他又来跟我说:那你把地图发给我,我自己玩,好吗?嗯,好像可以。于是我就来到了把文件管理器展开到了0/Android/com.mojang.minecraftpe下,一顿压缩,再分享给了他。他兴高采烈地走开了。

然而不到十分钟,他又回来了:怎么都导入不了啊?啊?不可能!我即答。他把手机摆给我:这个地图在是在文件夹里了,但是我的游戏没有办法进入这个地图!

我对照了一下,发现发到他手机里的资源包都"缩水"了!其中有一个:我下载的原始资源包大小有40多兆,而发到他手机上的整个包却只有8.2兆!!!WTF!!!
(后来出于同理心----他也是学生----我的手机就给他玩了)

我觉得这个事情还没完,于是就有了这篇教程(bushi)!
---------------------------------------------------
好吧直接进入正题。

相信大家在购买并下载好MinecraftStore中的资源后,一定也遇到过资源包缩水,资源无法手动导出等类似引言中的问题。"小伙伴发给我的地图玩不了","手机上的地图存档,转到win10MC后后无法正常打开"......这是什么原因呢?

原来呀,默认放在可以被读取的Android/data/com.mojang.minecraftpe/mcworlds/[存档名]/.下的"从MC store下载的"存档中的数据,只是整个资源包游戏数据的一部分,而原始资源包却已经不在这里了。

在MinecraftStore开始运营后,开发者就已经把市场的开发工作转向了市场框架优化上。其中最最重要的就提到了版权问题。

大约是从PE Version0.15.0开始,在存档的列表和设置当中就多出来了一个[存档保存在储存器/应用程序]的选项。

这两个选项是什么意思呢?
储存器,从Android目录结构来讲,一般是指/storage/emulated/[数字]/.目录(也就是你平时经常看得见的目录啦)。而应用程序,同样用安卓目录结构理解,是指程序数据目录,一般指/data/data/[应用包名]/.目录(程序目录在不同的安卓版本上路径可能有差异,但作用是相同的)
储存在储存器,也就是把游戏文件存放在一个我们可以读取的这样一个储存目录上;储存在应用程序,那就是将你的存档存放在应用程序能够读取和储存的目录上,而使用手机的用户本身去访问这个目录是不被允许的(当然,如果你有root,或者安卓版本够低或有BUG,能直接访问data目录,请无视)

而MinecraftStore的开发者正是利用了这个原理来在一定程度上保护作者的版权的。从商店中下载好的资源包,会被存放在应用程序目录下,从而阻止用户能轻而易举的得到资源包源文件,遏制恶意传播。

但是这个机制也有一些弊端:我只是想让朋友一起尝尝鲜,又不会进行恶意传播欸!这个资源包似乎有bug,我想拿出来修一修,不行吗?或者进行一些学习研究,又不会对原作者的利益造成影响,有问题吗?

行,没问题。如果真的非得让你拿不出来,微软早就会在商店前加一个前置,开发出一套加密算法,加密资源数据包什么的了。

而这一篇教程,讨论的就是关于如何将资源包从貌似主用户无法读取的应用目录中导出来。
 
最后编辑:
基本思路:
必须能够读取到/data/.下的内容;
必须保证资源包的完整性(所以有些人想着抓包就不行)
我总结的方法:
对于较老版本或因有BUG能直接访问data目录的安卓,可以直接提取打包导出文件;
对于较高版本的安卓,可以以拥有root或同样存在bug的安卓虚拟机为媒介,间接访问data目录进行提取;
本身拥有root的安卓同第一项。
 
本人上机:
honor-play5t,安卓10,无root(想都别想)
无法直接访问/data,所以就采用第二种方案了。
IMG_20221221_191255.jpg
 
不好意思啊各位,本来昨天就计划更完的,结果昨天晚些时候病毒突然发作,直接躺了

今天继续

这里我使用的虚拟机应用为:VMOS Pro
Screenshot_20221221_200054.png
各大软件商城都有,下载链接就不放出来了
进入应用,会弹出一个条款,点击同意
IMG_20221222_201508.jpg
接下来会有一个虚拟机创建引导(其实就是选择自动配置或非自动配置啦)。这里不想太麻烦,我们直接选择第二个------创新全自动
IMG_20221222_201545.jpg
随后进入虚拟机自动配置程序。

接下来过会开始下载ROM资源文件,这时请不要切出应用,否则会出现异常
Screenshot_20221222_200713.jpg
随后又是一个解压和安装过程。这个过程VMOS可能会请求权限,请视情况尽行调整
Screenshot_20221222_201223.jpg

完成后会自动启动虚拟机

Screenshot_20221222_202957.jpg
直到出现这个界面,说明你的虚拟机已经配置好并能正常启动了。


Screenshot_20221222_201729.jpg
 
最后编辑:
Screenshot_20221222_205551.pngScreenshot_20221222_205612.png


接下来要准备的这两个应用,相信大家都大概能够猜出意图吧。
Minecraft作为游戏本体,负责在虚拟机当中产生一定的游戏数据。
而ZArchiver作为集文件管理与解压缩为一体的工具应用,就是负责读取打包并导出应用数据的啦
注意这里的Minecraft必须为可登陆Xbox账号的破解版,否则在虚拟机当中会无法使用(建议前往本站的Minecraft下载页面进行下载)

应用导入虚拟机的过程比较简单,这里就不提了
 
下面开始进行缓存处理!
打开你已经在虚拟机上安装好的Minecraft,进行登录!
Screenshot_20221222_211612.jpg(这是我登录好了)
Screenshot_20221222_220706.jpg
进入商店,找到你已经拥有的资源包,然后下载
Screenshot_20221222_221008.jpg
这里我找的是我以前的skyblock包
Screenshot_20221222_221127.jpg
Screenshot_20221222_221133.jpg
Screenshot_20221222_221143.jpg
Screenshot_20221222_221155.jpg
然后就可以退出Minecraft了。

随后我们来到ZArchiver,转到/data/data/com.mojang.minecraftpe
Screenshot_20221222_221307.jpgScreenshot_20221222_223601.jpg
打开com.mojang.minecraftpe下的premium_cache文件夹
Screenshot_20221222_221407.jpgScreenshot_20221222_221413.jpg
此文件夹中,persona为个人角色数据文件夹,resource_packs为已下载的材质包/光影包数据,skin_packs为皮肤包数据,world_templates为地图数据

skyblock为地图数据,所以我们进入world_templates目录进行提取。可以看到我们先前已经缓存好的地图数据位于其中。将整个文件夹复制出来,然后放到storage/emulated/0/目录的任意位置,我这里放进了Download
Screenshot_20221222_221456.jpgScreenshot_20221222_222427.jpg
Screenshot_20221222_221648.jpg
然后就可以退出ZArchiver了。

从虚拟机桌面中点击打开"文件传输",随后依次点击"我要导出""文件",打开到你刚刚拷贝文件的位置,选择你拷出的文件(直接在文件夹后勾选),接着点击右下角的"导出",然后此文件夹就拷贝到了你的手机本身的/storage/emulated/0/Android/data/com.vmos.pro/sdcard/VMOSFiletransferstation/目录下了
Screenshot_20221222_225612.jpgScreenshot_20221222_225618.jpgScreenshot_20221222_225626.jpgScreenshot_20221222_225630.jpgScreenshot_20221222_230004.jpgScreenshot_20221222_230930.jpgScreenshot_20221222_231114.jpg
 
那么,导出地图的整个过程基本就是这样了。其他类型的资源(如材质包等)的过程与此类似(见上文对premium_cache的分析)
教程到此结束。

至于你想拿导出后的文件干嘛,我就不知道了。私下里分享给朋友?做翻译,自补漏洞?二次开发整合?总之,别干恶意传播这种违法的事情就好了。

感谢翻阅。:tieba-07:

:哈哈哈::哈哈哈::哈哈哈::哈哈哈::哈哈哈::哈哈哈::哈哈哈::哈哈哈::哈哈哈::哈哈哈:
 
还可以用mt管理器的注入文件提取器,方便快捷
 

附件

  • Screenshot_2023-06-21-06-23-55-032_bin.mt.plus.jpg
    Screenshot_2023-06-21-06-23-55-032_bin.mt.plus.jpg
    259.8 KB · 查看: 17

在线管理成员

在线会员

  • Angel_group
  • 航总
  • Yiran233
  • MoLanMC
  • Veynal
  • 有啥吃啥
  • XiaoJi_
  • 还是哦的看哦很无奈
  • DY333
  • Kalowr
  • aAbQQb51
  • wscxBb
  • 梦随行
  • 啊咧咧lla
  • 史山44
  • LXYyyyy
  • bzdqsm114514
  • ahang628
  • hecaijie
  • 2534905003
  • Sylvian
...和 30 更多。
后退
顶部 底部